/* Copyright (C) 2012 Sebastian Herbord. All rights reserved. This file is part of Mod Organizer. Mod Organizer is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Mod Organizer is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Mod Organizer. If not, see . */ #include "questionboxmemory.h" #include "ui_questionboxmemory.h" #include #include QuestionBoxMemory::QuestionBoxMemory(QWidget *parent, const QString &title, const QString &text, const QDialogButtonBox::StandardButtons buttons, QDialogButtonBox::StandardButton defaultButton) : QDialog(parent), ui(new Ui::QuestionBoxMemory) { ui->setupUi(this); this->setWindowTitle(title); QIcon icon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxQuestion); ui->iconLabel->setPixmap(icon.pixmap(128)); ui->messageLabel->setText(text); ui->buttonBox->setStandardButtons(buttons); if (defaultButton != QDialogButtonBox::NoButton) { ui->buttonBox->button(defaultButton)->setDefault(true); } connect(ui->buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(buttonClicked(QAbstractButton*))); } QuestionBoxMemory::~QuestionBoxMemory() { delete ui; } void QuestionBoxMemory::buttonClicked(QAbstractButton *button) { m_Button = ui->buttonBox->standardButton(button); } QDialogButtonBox::StandardButton QuestionBoxMemory::query(QWidget *parent, QSettings &settings, const QString &name, const QString &title, const QString &text, QDialogButtonBox::StandardButtons buttons, QDialogButtonBox::StandardButton defaultButton) { if (settings.contains(QString("DialogChoices/") + name)) { return static_cast(settings.value(QString("DialogChoices/") + name).toInt()); } else { QuestionBoxMemory dialog(parent, title, text, buttons, defaultButton); dialog.exec(); if (dialog.ui->rememberCheckBox->isChecked()) { settings.setValue(QString("DialogChoices/") + name, dialog.m_Button); } return dialog.m_Button; } }