diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2016-08-17 22:10:35 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2016-08-17 22:32:04 +0200 |
commit | 2eafc288d95d750f3a8282ebb503a340cb50a32c (patch) | |
tree | 7877d6c20c8cf31121710d0f76c919787f973df3 | |
parent | fdef1901054e61e5996c59ac09d9a2646cc76341 (diff) |
gui: reload keybindings immediately
Previously the old global keybindings stuck when options dialog got cancelled.
-rw-r--r-- | gui/main-window.cpp | 11 | ||||
-rw-r--r-- | gui/main-window.hpp | 1 | ||||
-rw-r--r-- | gui/options-dialog.cpp | 5 | ||||
-rw-r--r-- | gui/options-dialog.hpp | 2 |
4 files changed, 6 insertions, 13 deletions
diff --git a/gui/main-window.cpp b/gui/main-window.cpp index b09b70d0..7de95f98 100644 --- a/gui/main-window.cpp +++ b/gui/main-window.cpp @@ -374,12 +374,6 @@ void MainWindow::updateButtonState(bool running, bool inertialp) } } -void MainWindow::reload_options() -{ - if (work) - work->reload_shortcuts(); -} - void MainWindow::startTracker() { if (work) @@ -408,8 +402,7 @@ void MainWindow::startTracker() save_modules(); work = std::make_shared<Work>(pose, libs, winId()); - - reload_options(); + work->reload_shortcuts(); if (pTrackerDialog) pTrackerDialog->register_tracker(libs.pTracker.get()); @@ -598,7 +591,7 @@ void MainWindow::show_options_dialog() { if (mk_window(&options_widget, [&](bool flag) -> void { set_keys_enabled(!flag); })) { - connect(options_widget.get(), &OptionsDialog::saving, this, &MainWindow::reload_options); + connect(options_widget.get(), &OptionsDialog::closing, this, &MainWindow::register_shortcuts); options_widget->update_widgets_states(work != nullptr); } } diff --git a/gui/main-window.hpp b/gui/main-window.hpp index 6923c119..017055eb 100644 --- a/gui/main-window.hpp +++ b/gui/main-window.hpp @@ -114,7 +114,6 @@ private slots: void startTracker(); void stopTracker(); - void reload_options(); void toggle_restore_from_tray(QSystemTrayIcon::ActivationReason e); diff --git a/gui/options-dialog.cpp b/gui/options-dialog.cpp index c6e6dd97..3f051c9f 100644 --- a/gui/options-dialog.cpp +++ b/gui/options-dialog.cpp @@ -147,7 +147,7 @@ void OptionsDialog::bind_key(key_opts& kopts, QLabel* label) d.close(); } }); - connect(main.b.get(), &options::detail::opt_bundle::reloading, &d, &QDialog::close); + connect(main.b.get(), &options::detail::bundle::reloading, &d, &QDialog::close); pause_keybindings(true); d.show(); d.exec(); @@ -160,7 +160,7 @@ void OptionsDialog::doOK() main.b->save(); ui.game_detector->save(); close(); - emit saving(); + emit closing(); } void OptionsDialog::doCancel() @@ -168,6 +168,7 @@ void OptionsDialog::doCancel() main.b->reload(); ui.game_detector->revert(); close(); + emit closing(); } void OptionsDialog::browse_datalogging_file() diff --git a/gui/options-dialog.hpp b/gui/options-dialog.hpp index 6854107e..f11513bf 100644 --- a/gui/options-dialog.hpp +++ b/gui/options-dialog.hpp @@ -10,7 +10,7 @@ class OptionsDialog : public QWidget { Q_OBJECT signals: - void saving(); + void closing(); public: OptionsDialog(std::function<void(bool)> pause_keybindings); public slots: |