~ubuntu-branches/ubuntu/trusty/bibletime/trusty

« back to all changes in this revision

Viewing changes to src/util/dialogutil.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Marsden
  • Date: 2009-11-18 17:30:00 UTC
  • mfrom: (1.3.4 upstream) (5.1.3 sid)
  • Revision ID: james.westby@ubuntu.com-20091118173000-endkhjz5qai88tvr
Tags: 2.4-1
* New upstream version 2.4
* debian/control: 
  - Replace incorrect bibletime-data Depends on lib4qt-gui
    with bibletime Depends on libqtgui4 (>= 4.4.0). (Closes: #556209).
  - Add Build-depends: on zlib1g-dev and libcurl4-gnutls-dev 
    (Closes: #556805).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//
2
 
// C++ Interface: dialogutil
3
 
//
4
 
// Description: 
5
 
//
6
 
//
7
 
// Author: The BibleTime team <info@bibletime.info>, (C) 2009
8
 
//
9
 
// Copyright: See COPYING file that comes with this distribution
10
 
//
11
 
//
12
 
#include "dialogutil.h"
13
 
#include <QtGui/QDialogButtonBox>
14
 
#include <QtGui/QPushButton>
15
 
 
16
 
namespace util
17
 
{
18
 
 
19
 
        static void replaceText(QDialogButtonBox* box, QDialogButtonBox::StandardButton flag, const QString& text)
20
 
        {
21
 
                QPushButton* button = box->button(flag);
22
 
                if (button != 0)
23
 
                        button->setText(text);
24
 
        }
25
 
 
26
 
        void prepareDialogBox(QDialogButtonBox* box)
27
 
        {
28
 
                //: Standard button
29
 
                replaceText(box, QDialogButtonBox::Ok      , QPushButton::tr("OK"        , "Dialog Button"));
30
 
                //: Standard button
31
 
                replaceText(box, QDialogButtonBox::Open    , QPushButton::tr("Open"      , "Dialog Button"));
32
 
                //: Standard button
33
 
                replaceText(box, QDialogButtonBox::Save    , QPushButton::tr("Save"      , "Dialog Button"));
34
 
                //: Standard button
35
 
                replaceText(box, QDialogButtonBox::Cancel  , QPushButton::tr("Cancel"    , "Dialog Button"));
36
 
                //: Standard button
37
 
                replaceText(box, QDialogButtonBox::Close   , QPushButton::tr("Close"     , "Dialog Button"));
38
 
                //: Standard button
39
 
                replaceText(box, QDialogButtonBox::Discard , QPushButton::tr("Discard"   , "Dialog Button"));
40
 
                //: Standard button
41
 
                replaceText(box, QDialogButtonBox::Apply   , QPushButton::tr("Apply"     , "Dialog Button"));
42
 
                //: Standard button
43
 
                replaceText(box, QDialogButtonBox::Reset   , QPushButton::tr("Reset"     , "Dialog Button"));
44
 
                //: Standard button
45
 
                replaceText(box, QDialogButtonBox::RestoreDefaults, QPushButton::tr("Restore defaults", "Dialog Button"));
46
 
                //: Standard button
47
 
                replaceText(box, QDialogButtonBox::Help    , QPushButton::tr("Help"      , "Dialog Button"));
48
 
                //: Standard button
49
 
                replaceText(box, QDialogButtonBox::SaveAll , QPushButton::tr("Save All"  , "Dialog Button"));
50
 
                //: Standard button
51
 
                replaceText(box, QDialogButtonBox::Yes     , QPushButton::tr("Yes"       , "Dialog Button"));
52
 
                //: Standard button
53
 
                replaceText(box, QDialogButtonBox::YesToAll, QPushButton::tr("Yes to all", "Dialog Button"));
54
 
                //: Standard button
55
 
                replaceText(box, QDialogButtonBox::No      , QPushButton::tr("No"        , "Dialog Button"));
56
 
                //: Standard button
57
 
                replaceText(box, QDialogButtonBox::NoToAll , QPushButton::tr("No to all" , "Dialog Button"));
58
 
        }
59
 
 
60
 
}
61
 
 
 
1
/*********
 
2
*
 
3
* This file is part of BibleTime's source code, http://www.bibletime.info/.
 
4
*
 
5
* Copyright 1999-2009 by the BibleTime developers.
 
6
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
 
7
*
 
8
**********/
 
9
 
 
10
#include "util/dialogutil.h"
 
11
 
 
12
#include <QMessageBox>
 
13
#include <QDialogButtonBox>
 
14
#include <QPushButton>
 
15
#include <QDebug>
 
16
 
 
17
namespace util {
 
18
 
 
19
namespace {
 
20
 
 
21
void replaceText(QDialogButtonBox *box, QDialogButtonBox::StandardButton flag,
 
22
                 const QString &text) {
 
23
    QPushButton *button(box->button(flag));
 
24
    if (button != 0) {
 
25
        button->setText(text);
 
26
    }
 
27
}
 
28
 
 
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());
 
34
    Q_ASSERT(box);
 
35
    messageBox.setStandardButtons(buttons);
 
36
    messageBox.setDefaultButton(defaultButton);
 
37
    prepareDialogBox(box);
 
38
    return (QMessageBox::StandardButton)messageBox.exec();
 
39
}
 
40
 
 
41
} // anonymous namespace
 
42
 
 
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"));
 
59
}
 
60
 
 
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);
 
63
}
 
64
 
 
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);
 
67
}
 
68
 
 
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);
 
71
}
 
72
 
 
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);
 
75
}
 
76
 
 
77
} // namespace util