]> git.sven.stormbind.net Git - sven/vym.git/blobdiff - src/warningdialog.cpp
New upstream version 2.9.22
[sven/vym.git] / src / warningdialog.cpp
diff --git a/src/warningdialog.cpp b/src/warningdialog.cpp
new file mode 100644 (file)
index 0000000..6af81fd
--- /dev/null
@@ -0,0 +1,73 @@
+#include "warningdialog.h"
+#include "settings.h"
+
+extern Settings settings;
+
+WarningDialog::WarningDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+    // TODO proper icon for proceed needed
+    ui.okButton->setText(tr("Proceed"));
+    // ui.warningSign->setPixmap (QPixmap(":/vym.png"));
+    ui.showAgainBox->setText(tr("Show this message again"));
+    useShowAgain = false;
+    ui.showAgainBox->hide();
+    QDialog::setWindowTitle(
+        "VYM - " + tr("Warning", "Warning dialog default window name"));
+}
+
+int WarningDialog::exec()
+{
+    int result;
+    if (settings.value("/warningDialog/" + showAgainName + "/showAgain", true)
+            .toBool()) {
+        // Really show dialog
+        result = QDialog::exec();
+        if (result == QDialog::Accepted) {
+            if (useShowAgain) {
+                settings.setValue("/warningDialog/" + showAgainName + "/value",
+                                  result);
+                settings.setValue("/warningDialog/" + showAgainName +
+                                      "/showAgain",
+                                  ui.showAgainBox->isChecked());
+                settings.setValue("/warningDialog/" + showAgainName +
+                                      "/showAgain",
+                                  ui.showAgainBox->isChecked());
+            }
+        }
+    }
+    else {
+        // Surpress dialog and use result from last shown dialog
+        result = settings.value("/warningDialog/" + showAgainName + "/value", 0)
+                     .toInt();
+    }
+    return result;
+}
+
+void WarningDialog::showCancelButton(bool b)
+{
+    if (b) {
+        ui.cancelButton->show();
+        ui.cancelButton->setText(tr("Cancel"));
+    }
+    else
+        ui.cancelButton->hide();
+}
+
+void WarningDialog::setShowAgainName(const QString &s)
+{
+    showAgainName = s;
+    useShowAgain = true;
+    ui.showAgainBox->show();
+}
+
+void WarningDialog::setText(const QString &s) { ui.warningTE->setText(s); }
+
+void WarningDialog::setCaption(const QString &s)
+{
+    QDialog::setWindowTitle("VYM - " + s);
+}
+void WarningDialog::setAcceptedText(const QString &s)
+{
+    ui.okButton->setText(s);
+}