aboutsummaryrefslogtreecommitdiff
path: root/src/osx/gui/UiApplication.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/osx/gui/UiApplication.mm')
-rw-r--r--src/osx/gui/UiApplication.mm7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/osx/gui/UiApplication.mm b/src/osx/gui/UiApplication.mm
index a3c9acd5..7ec2a049 100644
--- a/src/osx/gui/UiApplication.mm
+++ b/src/osx/gui/UiApplication.mm
@@ -49,6 +49,7 @@ class OsxUiApplicationPrivate {
OsxUiApplication* osx_ui_application_;
CruAppDelegate* app_delegate_;
std::vector<std::function<void()>> quit_handlers_;
+ bool quit_on_all_window_closed_ = true;
long long current_timer_id_ = 1;
std::unordered_map<long long, std::function<void()>> next_tick_;
@@ -99,6 +100,12 @@ void OsxUiApplication::AddOnQuitHandler(std::function<void()> handler) {
p_->quit_handlers_.push_back(std::move(handler));
}
+bool OsxUiApplication::IsQuitOnAllWindowClosed() { return p_->quit_on_all_window_closed_; }
+
+void OsxUiApplication::SetQuitOnAllWindowClosed(bool quit_on_all_window_closed) {
+ p_->quit_on_all_window_closed_ = quit_on_all_window_closed;
+}
+
long long OsxUiApplication::SetImmediate(std::function<void()> action) {
const long long id = p_->current_timer_id_++;
p_->next_tick_.emplace(id, std::move(action));