summaryrefslogtreecommitdiffstats
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
parentf99c321b6b2bf2166fb67f910fa8e7c8636b20ad (diff)
Always on top, fixes https://github.com/IJHack/qtpass/issues/118v1.0.6
-rw-r--r--configdialog.cpp16
-rw-r--r--configdialog.h2
-rw-r--r--configdialog.ui7
-rw-r--r--mainwindow.cpp21
-rw-r--r--mainwindow.h1
-rw-r--r--qtpass.iss2
-rw-r--r--qtpass.pro2
7 files changed, 48 insertions, 3 deletions
diff --git a/configdialog.cpp b/configdialog.cpp
index 4d6b3d4c..0a914a4a 100644
--- a/configdialog.cpp
+++ b/configdialog.cpp
@@ -834,3 +834,19 @@ bool ConfigDialog::templateAllFields() {
void ConfigDialog::templateAllFields(bool templateAll) {
ui->checkBoxTemplateAllFields->setChecked(templateAll);
}
+
+/**
+ * @brief ConfigDialog::alwaysOnTop
+ * @param alwaysOnTop
+ */
+void ConfigDialog::alwaysOnTop(bool alwaysOnTop) {
+ ui->checkBoxAlwaysOnTop->setChecked(alwaysOnTop);
+}
+
+/**
+ * @brief ConfigDialog::alwaysOnTop
+ * @return
+ */
+bool ConfigDialog::alwaysOnTop() {
+ return ui->checkBoxAlwaysOnTop->isChecked();
+}
diff --git a/configdialog.h b/configdialog.h
index f24b6949..72929e07 100644
--- a/configdialog.h
+++ b/configdialog.h
@@ -77,6 +77,8 @@ class ConfigDialog : public QDialog {
void autoPull(bool autoPull);
bool autoPush();
void autoPush(bool autoPush);
+ bool alwaysOnTop();
+ void alwaysOnTop(bool alwaysOnTop);
protected:
void closeEvent(QCloseEvent *event);
diff --git a/configdialog.ui b/configdialog.ui
index 8ed49843..678d386b 100644
--- a/configdialog.ui
+++ b/configdialog.ui
@@ -400,6 +400,13 @@
<item row="0" column="0">
<widget class="QComboBox" name="comboBoxClipboard"/>
</item>
+ <item row="6" column="3">
+ <widget class="QCheckBox" name="checkBoxAlwaysOnTop">
+ <property name="text">
+ <string>Always on top</string>
+ </property>
+ </widget>
+ </item>
</layout>
</item>
</layout>
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");
diff --git a/mainwindow.h b/mainwindow.h
index 8afb9ff9..56acd4bc 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -142,6 +142,7 @@ class MainWindow : public QMainWindow {
bool templateAllFields;
bool autoPull;
bool autoPush;
+ bool alwaysOnTop;
void updateText();
void executePass(QString, QString = QString());
void executeWrapper(QString, QString, QString = QString());
diff --git a/qtpass.iss b/qtpass.iss
index 61fc4725..c7c50055 100644
--- a/qtpass.iss
+++ b/qtpass.iss
@@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "QtPass"
-#define MyAppVersion "1.0.5.1"
+#define MyAppVersion "1.0.6"
#define MyAppPublisher "IJhack"
#define MyAppURL "https://qtpass.org/"
#define MyAppExeName "qtpass.exe"
diff --git a/qtpass.pro b/qtpass.pro
index 152815ed..56431318 100644
--- a/qtpass.pro
+++ b/qtpass.pro
@@ -7,7 +7,7 @@
# #
#----------------------------------------------------------
-VERSION = 1.0.5.1
+VERSION = 1.0.6
TEMPLATE = app
QT += core gui