diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2022-01-26 01:50:50 +0100 | 
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2022-01-26 01:50:50 +0100 | 
| commit | 38aee2a224a198e2f1144e5c71039fd17f317c78 (patch) | |
| tree | 5327223dffdb604e0aa9b2e49257b19a5190db02 | |
| parent | 234f77a65dfd6562a6a845636be4f1bd02040cf1 (diff) | |
api, gui: close options dlg on Esc inside inner dlg
| -rw-r--r-- | api/plugin-api.cpp | 6 | ||||
| -rw-r--r-- | gui/options-dialog.cpp | 3 | 
2 files changed, 5 insertions, 4 deletions
diff --git a/api/plugin-api.cpp b/api/plugin-api.cpp index 5c83e42f..ef9e47a1 100644 --- a/api/plugin-api.cpp +++ b/api/plugin-api.cpp @@ -1,4 +1,5 @@  #include "plugin-api.hpp" +#include <QDebug>  namespace plugin_api::detail { @@ -7,18 +8,15 @@ void BaseDialog::closeEvent(QCloseEvent*)  {      if (isVisible())      { -        hide();          emit closing(); +        close();      }  }  void BaseDialog::done(int)  {      if (isVisible()) -    { -        hide();          close(); -    }  }  bool BaseDialog::embeddable() noexcept { return false; } diff --git a/gui/options-dialog.cpp b/gui/options-dialog.cpp index d1769ea8..ac4117bc 100644 --- a/gui/options-dialog.cpp +++ b/gui/options-dialog.cpp @@ -179,9 +179,12 @@ options_dialog::options_dialog(std::unique_ptr<ITrackerDialog>& tracker_dialog_,      auto add_module_tab = [this] (auto& place, auto&& dlg, const QString& label) {          if (dlg && dlg->embeddable())          { +            using BaseDialog = plugin_api::detail::BaseDialog; +              dlg->set_buttons_visible(false);              place = dlg.release();              ui.tabWidget->addTab(place, label); +            QObject::connect(place, &BaseDialog::closing, this, &QDialog::close);          }      };  | 
