diff options
author | Anne Jan Brouwer <annejan@noprotocol.com> | 2016-01-03 14:02:01 +0100 |
---|---|---|
committer | Anne Jan Brouwer <annejan@noprotocol.com> | 2016-01-03 14:02:01 +0100 |
commit | 28c5df0df7ad8520ba03a98490d80877899fb22e (patch) | |
tree | 60c81808be5fb45e738cc602ffa565460a9663f3 /mainwindow.cpp | |
parent | f99c321b6b2bf2166fb67f910fa8e7c8636b20ad (diff) |
Always on top, fixes https://github.com/IJHack/qtpass/issues/118v1.0.6
Diffstat (limited to 'mainwindow.cpp')
-rw-r--r-- | mainwindow.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/mainwindow.cpp b/mainwindow.cpp index 8ba97701..8a4950f2 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -237,6 +237,13 @@ bool MainWindow::checkConfig() { useTrayIcon = settings.value("useTrayIcon").toBool(); hideOnClose = settings.value("hideOnClose").toBool(); startMinimized = settings.value("startMinimized").toBool(); + alwaysOnTop = settings.value("alwaysOnTop").toBool(); + + if (alwaysOnTop) { + Qt::WindowFlags flags = windowFlags(); + this->setWindowFlags(flags | Qt::WindowStaysOnTopHint); + this->show(); + } autoPull = settings.value("autoPull").toBool(); autoPush = settings.value("autoPush").toBool(); @@ -400,6 +407,7 @@ void MainWindow::config() { d->templateAllFields(templateAllFields); d->autoPull(autoPull); d->autoPush(autoPush); + d->alwaysOnTop(alwaysOnTop); if (startupPhase) d->wizard(); // does shit if (d->exec()) { @@ -432,6 +440,7 @@ void MainWindow::config() { templateAllFields = d->templateAllFields(); autoPush = d->autoPush(); autoPull = d->autoPull(); + alwaysOnTop = d->alwaysOnTop(); QSettings &settings(getSettings()); @@ -473,7 +482,17 @@ void MainWindow::config() { settings.setValue("passTemplate", passTemplate); settings.setValue("templateAllFields", templateAllFields); settings.setValue("autoPull", autoPull ? "true" : "false"); - settings.setValue("autoPush", autoPush ? "true" : "false"); + settings.setValue("autoPush", autoPush ? "true" : "false"); + settings.setValue("alwaysOnTop", alwaysOnTop ? "true" : "false"); + + if (alwaysOnTop) { + Qt::WindowFlags flags = windowFlags(); + this->setWindowFlags(flags | Qt::WindowStaysOnTopHint); + this->show(); + } else { + this->setWindowFlags(Qt::Window); + this->show(); + } if (!profiles.isEmpty()) { settings.beginGroup("profiles"); |