summaryrefslogtreecommitdiffstats
path: root/mainwindow.cpp
diff options
context:
space:
mode:
authorAnne Jan Brouwer <annejan@noprotocol.com>2016-01-03 14:02:01 +0100
committerAnne Jan Brouwer <annejan@noprotocol.com>2016-01-03 14:02:01 +0100
commit28c5df0df7ad8520ba03a98490d80877899fb22e (patch)
tree60c81808be5fb45e738cc602ffa565460a9663f3 /mainwindow.cpp
parentf99c321b6b2bf2166fb67f910fa8e7c8636b20ad (diff)
Always on top, fixes https://github.com/IJHack/qtpass/issues/118v1.0.6
Diffstat (limited to 'mainwindow.cpp')
-rw-r--r--mainwindow.cpp21
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");