diff options
Diffstat (limited to 'src/util/dialogutil.cpp')
-rw-r--r-- | src/util/dialogutil.cpp | 85 |
1 files changed, 52 insertions, 33 deletions
diff --git a/src/util/dialogutil.cpp b/src/util/dialogutil.cpp index b2169c4..2d84a8b 100644 --- a/src/util/dialogutil.cpp +++ b/src/util/dialogutil.cpp @@ -1,58 +1,77 @@ -// -// C++ Interface: dialogutil -// -// Description: -// -// -// Author: The BibleTime team <info@bibletime.info>, (C) 2009 -// -// Copyright: See COPYING file that comes with this distribution -// -// -#include "dialogutil.h" -#include <QtGui/QDialogButtonBox> -#include <QtGui/QPushButton> +/********* +* +* This file is part of BibleTime's source code, http://www.bibletime.info/. +* +* Copyright 1999-2009 by the BibleTime developers. +* The BibleTime source code is licensed under the GNU General Public License version 2.0. +* +**********/ + +#include "util/dialogutil.h" + +#include <QMessageBox> +#include <QDialogButtonBox> +#include <QPushButton> +#include <QDebug> namespace util { -static void replaceText(QDialogButtonBox* box, QDialogButtonBox::StandardButton flag, const QString& text) { - QPushButton* button = box->button(flag); - if (button != 0) +namespace { + +void replaceText(QDialogButtonBox *box, QDialogButtonBox::StandardButton flag, + const QString &text) { + QPushButton *button(box->button(flag)); + if (button != 0) { button->setText(text); + } } -void prepareDialogBox(QDialogButtonBox* box) { - //: Standard button +QMessageBox::StandardButton bt_messageBox(QMessageBox::Icon icon, QWidget * parent, const QString & title, const QString & text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { + qDebug() << "BT message box warning/information/critical"; + QMessageBox messageBox(icon, title, text, QMessageBox::Ok, parent); + //We need the button box to translate the strings (the idea of this whole function) + QDialogButtonBox* box = dynamic_cast<QDialogButtonBox*>(messageBox.button(QMessageBox::Ok)->parent()); + Q_ASSERT(box); + messageBox.setStandardButtons(buttons); + messageBox.setDefaultButton(defaultButton); + prepareDialogBox(box); + return (QMessageBox::StandardButton)messageBox.exec(); +} + +} // anonymous namespace + +void prepareDialogBox(QDialogButtonBox *box) { replaceText(box, QDialogButtonBox::Ok , QPushButton::tr("OK" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::Open , QPushButton::tr("Open" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::Save , QPushButton::tr("Save" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::Cancel , QPushButton::tr("Cancel" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::Close , QPushButton::tr("Close" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::Discard , QPushButton::tr("Discard" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::Apply , QPushButton::tr("Apply" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::Reset , QPushButton::tr("Reset" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::RestoreDefaults, QPushButton::tr("Restore defaults", "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::Help , QPushButton::tr("Help" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::SaveAll , QPushButton::tr("Save All" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::Yes , QPushButton::tr("Yes" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::YesToAll, QPushButton::tr("Yes to all", "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::No , QPushButton::tr("No" , "Dialog Button")); - //: Standard button replaceText(box, QDialogButtonBox::NoToAll , QPushButton::tr("No to all" , "Dialog Button")); } +QMessageBox::StandardButton showWarning(QWidget * parent, const QString & title, const QString & text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { + return bt_messageBox(QMessageBox::Warning, parent, title, text, buttons, defaultButton); +} + +QMessageBox::StandardButton showInformation(QWidget * parent, const QString & title, const QString & text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { + return bt_messageBox(QMessageBox::Information, parent, title, text, buttons, defaultButton); +} + +QMessageBox::StandardButton showCritical(QWidget * parent, const QString & title, const QString & text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { + return bt_messageBox(QMessageBox::Critical, parent, title, text, buttons, defaultButton); +} + +QMessageBox::StandardButton showQuestion(QWidget * parent, const QString & title, const QString & text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { + return bt_messageBox(QMessageBox::Question, parent, title, text, buttons, defaultButton); } +} // namespace util |