mirror of
https://github.com/RGBCube/serenity
synced 2025-05-21 10:55:07 +00:00
LibGUI: Add getter/setter for GUI::Window modified state
This state lives in WindowServer and has no local copy in the client process for now. This may turn out to be a performance issue, and if it does we can easily cache it.
This commit is contained in:
parent
492464f4c1
commit
2fa765bbd5
2 changed files with 18 additions and 1 deletions
|
@ -1084,4 +1084,18 @@ void Window::set_menubar(RefPtr<Menubar> menubar)
|
|||
}
|
||||
}
|
||||
|
||||
bool Window::is_modified() const
|
||||
{
|
||||
if (!m_window_id)
|
||||
return false;
|
||||
return WindowServerConnection::the().send_sync<Messages::WindowServer::IsWindowModified>(m_window_id)->modified();
|
||||
}
|
||||
|
||||
void Window::set_modified(bool modified)
|
||||
{
|
||||
if (!m_window_id)
|
||||
return;
|
||||
WindowServerConnection::the().post_message(Messages::WindowServer::SetWindowModified(m_window_id, modified));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
||||
* Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
@ -29,6 +29,9 @@ public:
|
|||
|
||||
static Window* from_window_id(int);
|
||||
|
||||
bool is_modified() const;
|
||||
void set_modified(bool);
|
||||
|
||||
bool is_modal() const { return m_modal; }
|
||||
void set_modal(bool);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue