#include #include "specialmessagebox.h" #include "ui_specialmessagebox.h" SpecMsgBox::SpecMsgBox(QWidget *parent, TypeSpecMsgBox type, const QString& text) : QDialog(parent), ui(new Ui::SpecialMessageBox) { ui->setupUi(this); this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint); if(type == TypeSpecMsgBox::warningYesNo) { ui->lbl_icon->setPixmap(QPixmap(QStringLiteral(":/resources/icons/warning.png"))); this->setWindowTitle(tr("Attention!")); } else if(type == TypeSpecMsgBox::warningClose) { ui->lbl_icon->setPixmap(QPixmap(QStringLiteral(":/resources/icons/warning.png"))); this->setWindowTitle(tr("Attention!")); ui->btnNo->setVisible(false); ui->btnYes->setText(tr("Close")); } else if(type == TypeSpecMsgBox::criticalClose) { ui->lbl_icon->setPixmap(QPixmap(QStringLiteral(":/resources/icons/critical.png"))); this->setWindowTitle(tr("Error!")); ui->btnNo->setVisible(false); ui->btnYes->setText(tr("Close")); } else if(type == TypeSpecMsgBox::infoOk) { ui->lbl_icon->setPixmap(QPixmap(QStringLiteral(":/resources/icons/info.png"))); this->setWindowTitle(tr("Information")); ui->btnNo->setVisible(false); ui->btnYes->setText(tr("Ok")); } ui->lblText->setText(text); } SpecMsgBox::~SpecMsgBox() { delete ui; } int SpecMsgBox::WarningYesNo(QWidget *parent, const QString &text) { return SpecMsgBox::work(parent, TypeSpecMsgBox::warningYesNo, text); } int SpecMsgBox::WarningClose(QWidget *parent, const QString &text) { return SpecMsgBox::work(parent, TypeSpecMsgBox::warningClose, text); } int SpecMsgBox::CriticalClose(QWidget *parent, const QString &text) { return SpecMsgBox::work(parent, TypeSpecMsgBox::criticalClose, text); } int SpecMsgBox::InfoOk(QWidget *parent, const QString &text) { return SpecMsgBox::work(parent, TypeSpecMsgBox::infoOk, text); } int SpecMsgBox::work(QWidget *parent, TypeSpecMsgBox type, const QString& text) { SpecMsgBox *msgBox = new SpecMsgBox(parent, type, text); return msgBox->exec(); } void SpecMsgBox::on_btnYes_clicked() { this->accept(); } void SpecMsgBox::on_btnNo_clicked() { this->reject(); }