2
// C++ Interface: dialogutil
7
// Author: The BibleTime team <info@bibletime.info>, (C) 2009
9
// Copyright: See COPYING file that comes with this distribution
12
#include "dialogutil.h"
13
#include <QtGui/QDialogButtonBox>
14
#include <QtGui/QPushButton>
19
static void replaceText(QDialogButtonBox* box, QDialogButtonBox::StandardButton flag, const QString& text)
21
QPushButton* button = box->button(flag);
23
button->setText(text);
26
void prepareDialogBox(QDialogButtonBox* box)
29
replaceText(box, QDialogButtonBox::Ok , QPushButton::tr("OK" , "Dialog Button"));
31
replaceText(box, QDialogButtonBox::Open , QPushButton::tr("Open" , "Dialog Button"));
33
replaceText(box, QDialogButtonBox::Save , QPushButton::tr("Save" , "Dialog Button"));
35
replaceText(box, QDialogButtonBox::Cancel , QPushButton::tr("Cancel" , "Dialog Button"));
37
replaceText(box, QDialogButtonBox::Close , QPushButton::tr("Close" , "Dialog Button"));
39
replaceText(box, QDialogButtonBox::Discard , QPushButton::tr("Discard" , "Dialog Button"));
41
replaceText(box, QDialogButtonBox::Apply , QPushButton::tr("Apply" , "Dialog Button"));
43
replaceText(box, QDialogButtonBox::Reset , QPushButton::tr("Reset" , "Dialog Button"));
45
replaceText(box, QDialogButtonBox::RestoreDefaults, QPushButton::tr("Restore defaults", "Dialog Button"));
47
replaceText(box, QDialogButtonBox::Help , QPushButton::tr("Help" , "Dialog Button"));
49
replaceText(box, QDialogButtonBox::SaveAll , QPushButton::tr("Save All" , "Dialog Button"));
51
replaceText(box, QDialogButtonBox::Yes , QPushButton::tr("Yes" , "Dialog Button"));
53
replaceText(box, QDialogButtonBox::YesToAll, QPushButton::tr("Yes to all", "Dialog Button"));
55
replaceText(box, QDialogButtonBox::No , QPushButton::tr("No" , "Dialog Button"));
57
replaceText(box, QDialogButtonBox::NoToAll , QPushButton::tr("No to all" , "Dialog Button"));
3
* This file is part of BibleTime's source code, http://www.bibletime.info/.
5
* Copyright 1999-2009 by the BibleTime developers.
6
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
10
#include "util/dialogutil.h"
12
#include <QMessageBox>
13
#include <QDialogButtonBox>
14
#include <QPushButton>
21
void replaceText(QDialogButtonBox *box, QDialogButtonBox::StandardButton flag,
22
const QString &text) {
23
QPushButton *button(box->button(flag));
25
button->setText(text);
29
QMessageBox::StandardButton bt_messageBox(QMessageBox::Icon icon, QWidget * parent, const QString & title, const QString & text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) {
30
qDebug() << "BT message box warning/information/critical";
31
QMessageBox messageBox(icon, title, text, QMessageBox::Ok, parent);
32
//We need the button box to translate the strings (the idea of this whole function)
33
QDialogButtonBox* box = dynamic_cast<QDialogButtonBox*>(messageBox.button(QMessageBox::Ok)->parent());
35
messageBox.setStandardButtons(buttons);
36
messageBox.setDefaultButton(defaultButton);
37
prepareDialogBox(box);
38
return (QMessageBox::StandardButton)messageBox.exec();
41
} // anonymous namespace
43
void prepareDialogBox(QDialogButtonBox *box) {
44
replaceText(box, QDialogButtonBox::Ok , QPushButton::tr("OK" , "Dialog Button"));
45
replaceText(box, QDialogButtonBox::Open , QPushButton::tr("Open" , "Dialog Button"));
46
replaceText(box, QDialogButtonBox::Save , QPushButton::tr("Save" , "Dialog Button"));
47
replaceText(box, QDialogButtonBox::Cancel , QPushButton::tr("Cancel" , "Dialog Button"));
48
replaceText(box, QDialogButtonBox::Close , QPushButton::tr("Close" , "Dialog Button"));
49
replaceText(box, QDialogButtonBox::Discard , QPushButton::tr("Discard" , "Dialog Button"));
50
replaceText(box, QDialogButtonBox::Apply , QPushButton::tr("Apply" , "Dialog Button"));
51
replaceText(box, QDialogButtonBox::Reset , QPushButton::tr("Reset" , "Dialog Button"));
52
replaceText(box, QDialogButtonBox::RestoreDefaults, QPushButton::tr("Restore defaults", "Dialog Button"));
53
replaceText(box, QDialogButtonBox::Help , QPushButton::tr("Help" , "Dialog Button"));
54
replaceText(box, QDialogButtonBox::SaveAll , QPushButton::tr("Save All" , "Dialog Button"));
55
replaceText(box, QDialogButtonBox::Yes , QPushButton::tr("Yes" , "Dialog Button"));
56
replaceText(box, QDialogButtonBox::YesToAll, QPushButton::tr("Yes to all", "Dialog Button"));
57
replaceText(box, QDialogButtonBox::No , QPushButton::tr("No" , "Dialog Button"));
58
replaceText(box, QDialogButtonBox::NoToAll , QPushButton::tr("No to all" , "Dialog Button"));
61
QMessageBox::StandardButton showWarning(QWidget * parent, const QString & title, const QString & text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) {
62
return bt_messageBox(QMessageBox::Warning, parent, title, text, buttons, defaultButton);
65
QMessageBox::StandardButton showInformation(QWidget * parent, const QString & title, const QString & text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) {
66
return bt_messageBox(QMessageBox::Information, parent, title, text, buttons, defaultButton);
69
QMessageBox::StandardButton showCritical(QWidget * parent, const QString & title, const QString & text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) {
70
return bt_messageBox(QMessageBox::Critical, parent, title, text, buttons, defaultButton);
73
QMessageBox::StandardButton showQuestion(QWidget * parent, const QString & title, const QString & text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) {
74
return bt_messageBox(QMessageBox::Question, parent, title, text, buttons, defaultButton);