diff options
author | Michael Schuster <michael@schuster.ms> | 2019-12-21 05:04:31 +0300 |
---|---|---|
committer | Michael Schuster <48932272+misch7@users.noreply.github.com> | 2019-12-24 09:46:57 +0300 |
commit | addb27a085a201357d905eed95e6ac38e7b4f78d (patch) | |
tree | d6e141a04651a117089832fa5c268bdc9da407d0 /src/gui/application.cpp | |
parent | be10d5200fdefc611de60a15a96d383987331df0 (diff) |
Add helper slots and signals to catch SettingsDialog's window activation events
Signal the SettingsDialog's window activation event down to ownCloudGui and Application,
so that other classes can hook in to get notified when the SettingsDialog is being shown
again.
This approach has been chosen because we otherwise would have to deal with new instance
pointers of the current SettingsWindow - but Application is already there ;-)
Purpose: The floating re-auth windows of the WebFlowCredentialsDialog often get hidden
behind the SettingsDialog, and the users have to minimize a lot of other windows to find
them again. This commit implements the preparation for the upcoming fix commit.
Signed-off-by: Michael Schuster <michael@schuster.ms>
Diffstat (limited to 'src/gui/application.cpp')
-rw-r--r-- | src/gui/application.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gui/application.cpp b/src/gui/application.cpp index 189141595..51af86f92 100644 --- a/src/gui/application.cpp +++ b/src/gui/application.cpp @@ -263,6 +263,9 @@ Application::Application(int &argc, char **argv) // Cleanup at Quit. connect(this, &QCoreApplication::aboutToQuit, this, &Application::slotCleanup); + + // Allow other classes to hook into isShowingSettingsDialog() signals (re-auth widgets, for example) + connect(_gui.data(), &ownCloudGui::isShowingSettingsDialog, this, &Application::slotGuiIsShowingSettings); } Application::~Application() @@ -655,5 +658,9 @@ void Application::showSettingsDialog() _gui->slotShowSettings(); } +void Application::slotGuiIsShowingSettings() +{ + emit isShowingSettingsDialog(); +} } // namespace OCC |