From 72a3f69df77465049387764bf29c0d0a92803a43 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 23 Jul 2019 18:20:00 +0200 Subject: [PATCH] LibGUI: Get rid of GWindow::should_exit_event_loop_on_close(). This behavior and API was extremely counter-intuitive since our default behavior was for applications to never exit after you close all of their windows. Now that we exit the event loop by default when the very last GWindow is deleted, we don't have to worry about this. --- Applications/About/main.cpp | 1 - Applications/FileManager/main.cpp | 1 - Applications/FontEditor/main.cpp | 1 - Applications/IRCClient/main.cpp | 1 - Applications/Launcher/main.cpp | 1 - Applications/PaintBrush/main.cpp | 1 - Applications/Piano/main.cpp | 1 - Applications/ProcessManager/main.cpp | 4 ++-- Applications/QuickShow/main.cpp | 3 +-- Applications/Taskbar/TaskbarWindow.cpp | 1 - Applications/Terminal/main.cpp | 1 - Applications/TextEditor/main.cpp | 3 +-- Demos/Fire/Fire.cpp | 3 +-- DevTools/VisualBuilder/main.cpp | 2 +- Games/Minesweeper/main.cpp | 1 - Games/Snake/main.cpp | 2 +- Libraries/LibGUI/GDialog.cpp | 2 +- Libraries/LibGUI/GWindow.cpp | 2 -- Libraries/LibGUI/GWindow.h | 4 ---- 19 files changed, 8 insertions(+), 27 deletions(-) diff --git a/Applications/About/main.cpp b/Applications/About/main.cpp index 8b29c89b3ca..c948aea0f19 100644 --- a/Applications/About/main.cpp +++ b/Applications/About/main.cpp @@ -16,7 +16,6 @@ int main(int argc, char** argv) window_rect.center_within(GDesktop::the().rect()); window->set_resizable(false); window->set_rect(window_rect); - window->set_should_exit_event_loop_on_close(true); auto* widget = new GWidget; window->set_main_widget(widget); diff --git a/Applications/FileManager/main.cpp b/Applications/FileManager/main.cpp index e18c3067e52..f8403c7e68d 100644 --- a/Applications/FileManager/main.cpp +++ b/Applications/FileManager/main.cpp @@ -39,7 +39,6 @@ int main(int argc, char** argv) auto* window = new GWindow; window->set_title("File Manager"); window->set_rect(20, 200, 640, 480); - window->set_should_exit_event_loop_on_close(true); auto* widget = new GWidget; widget->set_layout(make(Orientation::Vertical)); diff --git a/Applications/FontEditor/main.cpp b/Applications/FontEditor/main.cpp index 96aaf1af448..58ba0ba563b 100644 --- a/Applications/FontEditor/main.cpp +++ b/Applications/FontEditor/main.cpp @@ -29,7 +29,6 @@ int main(int argc, char** argv) window->set_rect({ 50, 50, 390, 342 }); auto* font_editor = new FontEditorWidget(path, move(edited_font)); window->set_main_widget(font_editor); - window->set_should_exit_event_loop_on_close(true); window->show(); window->set_icon_path("/res/icons/16x16/app-font-editor.png"); return app.exec(); diff --git a/Applications/IRCClient/main.cpp b/Applications/IRCClient/main.cpp index a3a670ad5a9..02f00c226a2 100644 --- a/Applications/IRCClient/main.cpp +++ b/Applications/IRCClient/main.cpp @@ -8,7 +8,6 @@ int main(int argc, char** argv) GApplication app(argc, argv); IRCAppWindow app_window; - app_window.set_should_exit_event_loop_on_close(true); app_window.show(); printf("Entering main loop...\n"); diff --git a/Applications/Launcher/main.cpp b/Applications/Launcher/main.cpp index 38842323529..d6d2954f947 100644 --- a/Applications/Launcher/main.cpp +++ b/Applications/Launcher/main.cpp @@ -30,7 +30,6 @@ int main(int argc, char** argv) signal(SIGCHLD, handle_sigchld); auto* launcher_window = make_launcher_window(); - launcher_window->set_should_exit_event_loop_on_close(true); launcher_window->show(); return app.exec(); diff --git a/Applications/PaintBrush/main.cpp b/Applications/PaintBrush/main.cpp index f03ab4462d2..19026e7f32f 100644 --- a/Applications/PaintBrush/main.cpp +++ b/Applications/PaintBrush/main.cpp @@ -18,7 +18,6 @@ int main(int argc, char** argv) auto* window = new GWindow; window->set_title("PaintBrush"); window->set_rect(100, 100, 640, 480); - window->set_should_exit_event_loop_on_close(true); auto* horizontal_container = new GWidget(nullptr); window->set_main_widget(horizontal_container); diff --git a/Applications/Piano/main.cpp b/Applications/Piano/main.cpp index 6cf69af29a3..ddc5ccb8a6f 100644 --- a/Applications/Piano/main.cpp +++ b/Applications/Piano/main.cpp @@ -16,7 +16,6 @@ int main(int argc, char** argv) auto* window = new GWindow; window->set_title("Piano"); window->set_rect(100, 100, 512, 512); - window->set_should_exit_event_loop_on_close(true); auto* piano_widget = new PianoWidget; window->set_main_widget(piano_widget); diff --git a/Applications/ProcessManager/main.cpp b/Applications/ProcessManager/main.cpp index dd5193b21bc..925d67ad071 100644 --- a/Applications/ProcessManager/main.cpp +++ b/Applications/ProcessManager/main.cpp @@ -119,7 +119,7 @@ int main(int argc, char** argv) process_context_menu->add_action(stop_action); process_context_menu->add_action(continue_action); process_table_view->on_context_menu_request = [&](const GModelIndex& index, const GContextMenuEvent& event) { - (void) index; + (void)index; process_context_menu->popup(event.screen_position()); }; @@ -153,7 +153,7 @@ int main(int argc, char** argv) window->set_title("Process Manager"); window->set_rect(20, 200, 680, 400); window->set_main_widget(keeper); - window->set_should_exit_event_loop_on_close(true); + window->show(); window->set_icon_path("/res/icons/16x16/app-process-manager.png"); diff --git a/Applications/QuickShow/main.cpp b/Applications/QuickShow/main.cpp index 47040ff21aa..e985a4ff668 100644 --- a/Applications/QuickShow/main.cpp +++ b/Applications/QuickShow/main.cpp @@ -1,4 +1,5 @@ #include "QSWidget.h" +#include #include #include #include @@ -6,7 +7,6 @@ #include #include #include -#include #include int main(int argc, char** argv) @@ -67,7 +67,6 @@ int main(int argc, char** argv) widget->set_bitmap(*bitmap); window->set_main_widget(widget); - window->set_should_exit_event_loop_on_close(true); window->show(); return app.exec(); diff --git a/Applications/Taskbar/TaskbarWindow.cpp b/Applications/Taskbar/TaskbarWindow.cpp index f25e997dc1a..ff1a054d236 100644 --- a/Applications/Taskbar/TaskbarWindow.cpp +++ b/Applications/Taskbar/TaskbarWindow.cpp @@ -15,7 +15,6 @@ TaskbarWindow::TaskbarWindow() { set_window_type(GWindowType::Taskbar); set_title("Taskbar"); - set_should_exit_event_loop_on_close(true); on_screen_rect_change(GDesktop::the().rect()); diff --git a/Applications/Terminal/main.cpp b/Applications/Terminal/main.cpp index 624e85f2cbe..3be7ae441ef 100644 --- a/Applications/Terminal/main.cpp +++ b/Applications/Terminal/main.cpp @@ -146,7 +146,6 @@ int main(int argc, char** argv) window->set_title("Terminal"); window->set_background_color(Color::Black); window->set_double_buffering_enabled(false); - window->set_should_exit_event_loop_on_close(true); RefPtr config = CConfigFile::get_for_app("Terminal"); Terminal terminal(ptm_fd, config); diff --git a/Applications/TextEditor/main.cpp b/Applications/TextEditor/main.cpp index 68a402d4526..680399603b5 100644 --- a/Applications/TextEditor/main.cpp +++ b/Applications/TextEditor/main.cpp @@ -7,7 +7,6 @@ int main(int argc, char** argv) auto* window = new GWindow; window->set_title("Text Editor"); window->set_rect(20, 200, 640, 400); - window->set_should_exit_event_loop_on_close(true); auto* text_widget = new TextEditorWidget(); window->set_main_widget(text_widget); @@ -19,4 +18,4 @@ int main(int argc, char** argv) window->set_icon_path("/res/icons/TextEditor16.png"); return app.exec(); -} \ No newline at end of file +} diff --git a/Demos/Fire/Fire.cpp b/Demos/Fire/Fire.cpp index de223b2b26a..13b28ebf1fb 100644 --- a/Demos/Fire/Fire.cpp +++ b/Demos/Fire/Fire.cpp @@ -16,12 +16,12 @@ * [ ] handle fire bitmap edges better */ +#include #include #include #include #include #include -#include #include #include #include @@ -214,7 +214,6 @@ int main(int argc, char** argv) GApplication app(argc, argv); auto* window = new GWindow; - window->set_should_exit_event_loop_on_close(true); window->set_double_buffering_enabled(false); window->set_title("Fire"); window->set_resizable(false); diff --git a/DevTools/VisualBuilder/main.cpp b/DevTools/VisualBuilder/main.cpp index e0192910827..b456573e564 100644 --- a/DevTools/VisualBuilder/main.cpp +++ b/DevTools/VisualBuilder/main.cpp @@ -60,7 +60,7 @@ int main(int argc, char** argv) window->set_title(form1->name()); window->set_rect(120, 200, 640, 400); window->set_main_widget(form1); - window->set_should_exit_event_loop_on_close(true); + window->show(); auto* toolbox = make_toolbox_window(); diff --git a/Games/Minesweeper/main.cpp b/Games/Minesweeper/main.cpp index 42029fcfd9a..a66f53c06d0 100644 --- a/Games/Minesweeper/main.cpp +++ b/Games/Minesweeper/main.cpp @@ -14,7 +14,6 @@ int main(int argc, char** argv) GApplication app(argc, argv); auto* window = new GWindow; - window->set_should_exit_event_loop_on_close(true); window->set_resizable(false); window->set_title("Minesweeper"); window->set_rect(100, 100, 139, 175); diff --git a/Games/Snake/main.cpp b/Games/Snake/main.cpp index 36f923437ae..0514cf92d76 100644 --- a/Games/Snake/main.cpp +++ b/Games/Snake/main.cpp @@ -12,7 +12,7 @@ int main(int argc, char** argv) GApplication app(argc, argv); auto* window = new GWindow; - window->set_should_exit_event_loop_on_close(true); + window->set_double_buffering_enabled(false); window->set_title("Snake"); window->set_rect(100, 100, 320, 320); diff --git a/Libraries/LibGUI/GDialog.cpp b/Libraries/LibGUI/GDialog.cpp index 4de55f8c95f..7438e41b2e1 100644 --- a/Libraries/LibGUI/GDialog.cpp +++ b/Libraries/LibGUI/GDialog.cpp @@ -6,7 +6,7 @@ GDialog::GDialog(CObject* parent) : GWindow(parent) { set_modal(true); - set_should_exit_event_loop_on_close(true); + } GDialog::~GDialog() diff --git a/Libraries/LibGUI/GWindow.cpp b/Libraries/LibGUI/GWindow.cpp index eeff1bcb753..070fc5d42fc 100644 --- a/Libraries/LibGUI/GWindow.cpp +++ b/Libraries/LibGUI/GWindow.cpp @@ -46,8 +46,6 @@ GWindow::~GWindow() void GWindow::close() { - if (should_exit_event_loop_on_close()) - GEventLoop::current().quit(0); if (should_destroy_on_close()) delete_later(); } diff --git a/Libraries/LibGUI/GWindow.h b/Libraries/LibGUI/GWindow.h index 5101a2430cf..0ea7a15ce39 100644 --- a/Libraries/LibGUI/GWindow.h +++ b/Libraries/LibGUI/GWindow.h @@ -104,9 +104,6 @@ public: GWidget* automatic_cursor_tracking_widget() { return m_automatic_cursor_tracking_widget.ptr(); } const GWidget* automatic_cursor_tracking_widget() const { return m_automatic_cursor_tracking_widget.ptr(); } - bool should_exit_event_loop_on_close() const { return m_should_exit_app_on_close; } - void set_should_exit_event_loop_on_close(bool b) { m_should_exit_app_on_close = b; } - GWidget* hovered_widget() { return m_hovered_widget.ptr(); } const GWidget* hovered_widget() const { return m_hovered_widget.ptr(); } void set_hovered_widget(GWidget*); @@ -160,7 +157,6 @@ private: Color m_background_color { Color::WarmGray }; GWindowType m_window_type { GWindowType::Normal }; bool m_is_active { false }; - bool m_should_exit_app_on_close { false }; bool m_destroy_on_close { true }; bool m_has_alpha_channel { false }; bool m_double_buffering_enabled { true };