summaryrefslogtreecommitdiffhomepage
path: root/gui
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2017-10-22 10:04:04 +0200
committerStanislaw Halik <sthalik@misaki.pl>2017-10-27 16:42:56 +0200
commit829bd3b164b90a68b0d73eac4a1bfa78aa520ba0 (patch)
tree42d5fd43fe668710e8ad057d6f2612aac7f52b40 /gui
parent9d3167ed3d64b242ccdee56542c4eb868d8d9b74 (diff)
gui: must close module dialogs
Otherwise settings don't get cancelled
Diffstat (limited to 'gui')
-rw-r--r--gui/main-window.cpp9
1 files changed, 9 insertions, 0 deletions
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()