On macOS, add documentEdited APIs (#2550)
* On macOS, add documentEdited APIs
Port of 33fdeab629
* Update src/platform/macos.rs
Co-authored-by: Mads Marquart <mads@marquart.dk>
* typo
Co-authored-by: Mads Marquart <mads@marquart.dk>
This commit is contained in:
parent
6d0cf6a275
commit
f77f858e9b
4 changed files with 44 additions and 0 deletions
|
|
@ -36,6 +36,25 @@ pub trait WindowExtMacOS {
|
|||
|
||||
/// Sets whether or not the window has shadow.
|
||||
fn set_has_shadow(&self, has_shadow: bool);
|
||||
|
||||
/// Get the window's edit state.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```ignore
|
||||
/// WindowEvent::CloseRequested => {
|
||||
/// if window.is_document_edited() {
|
||||
/// // Show the user a save pop-up or similar
|
||||
/// } else {
|
||||
/// // Close the window
|
||||
/// drop(window);
|
||||
/// }
|
||||
/// }
|
||||
/// ```
|
||||
fn is_document_edited(&self) -> bool;
|
||||
|
||||
/// Put the window in a state which indicates a file save is required.
|
||||
fn set_document_edited(&self, edited: bool);
|
||||
}
|
||||
|
||||
impl WindowExtMacOS for Window {
|
||||
|
|
@ -68,6 +87,16 @@ impl WindowExtMacOS for Window {
|
|||
fn set_has_shadow(&self, has_shadow: bool) {
|
||||
self.window.set_has_shadow(has_shadow)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn is_document_edited(&self) -> bool {
|
||||
self.window.is_document_edited()
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn set_document_edited(&self, edited: bool) {
|
||||
self.window.set_document_edited(edited)
|
||||
}
|
||||
}
|
||||
|
||||
/// Corresponds to `NSApplicationActivationPolicy`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue