From 829bd3b164b90a68b0d73eac4a1bfa78aa520ba0 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 22 Oct 2017 10:04:04 +0200 Subject: gui: must close module dialogs Otherwise settings don't get cancelled --- gui/main-window.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gui') diff --git a/gui/main-window.cpp b/gui/main-window.cpp index 40a3dcd5..64935157 100644 --- a/gui/main-window.cpp +++ b/gui/main-window.cpp @@ -621,18 +621,27 @@ void MainWindow::show_tracker_settings() { if (mk_dialog(current_tracker(), pTrackerDialog) && work && work->libs.pTracker) pTrackerDialog->register_tracker(work->libs.pTracker.get()); + if (pTrackerDialog) + // must run bundle::reload(), don't remove next line + QObject::connect(pTrackerDialog.get(), &ITrackerDialog::closing, this, [this]() { pTrackerDialog = nullptr; }); } void MainWindow::show_proto_settings() { if (mk_dialog(current_protocol(), pProtocolDialog) && work && work->libs.pProtocol) pProtocolDialog->register_protocol(work->libs.pProtocol.get()); + if (pProtocolDialog) + // must run bundle::reload(), don't remove next line + QObject::connect(pProtocolDialog.get(), &IProtocolDialog::closing, this, [this]() { pProtocolDialog = nullptr; }); } void MainWindow::show_filter_settings() { if (mk_dialog(current_filter(), pFilterDialog) && work && work->libs.pFilter) pFilterDialog->register_filter(work->libs.pFilter.get()); + if (pFilterDialog) + // must run bundle::reload(), don't remove next line + QObject::connect(pFilterDialog.get(), &IFilterDialog::closing, this, [this]() { pFilterDialog = nullptr; }); } void MainWindow::show_options_dialog() -- cgit v1.2.3