X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=src%2Fwarningdialog.cpp;fp=src%2Fwarningdialog.cpp;h=6af81fde50edc6d6e9633918ab3681ca5b84fb35;hb=d483bd8e6523c23c6f1d8908a2e0611c2bc9ff4f;hp=0000000000000000000000000000000000000000;hpb=7dfa3fe589d1722d49681f42cdb0bf1e6efb5223;p=sven%2Fvym.git diff --git a/src/warningdialog.cpp b/src/warningdialog.cpp new file mode 100644 index 0000000..6af81fd --- /dev/null +++ b/src/warningdialog.cpp @@ -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); +}