00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "VMessageBox.h"
00018
00019 #include "html.h"
00020
00021
00022
00023 VMessageBox::VMessageBox(QWidget *parent)
00024 : QMessageBox(parent)
00025 {
00026 }
00027
00028
00029
00030 int
00031 VMessageBox::defaultButton(int button0, int button1, int button2)
00032 {
00033 Q_UNUSED(button0);
00034 int defaultButton = 0;
00035 if (button1 & QMessageBox::Default) {
00036 defaultButton = 1;
00037 } else if (button2 & QMessageBox::Default) {
00038 defaultButton = 2;
00039 }
00040 return defaultButton;
00041 }
00042
00043
00044
00045 int
00046 VMessageBox::escapeButton(int button0, int button1, int button2)
00047 {
00048 int escapeButton = -1;
00049 if (button0 & QMessageBox::Escape) {
00050 escapeButton = 0;
00051 } else if (button1 & QMessageBox::Escape) {
00052 escapeButton = 1;
00053 } else if (button2 & QMessageBox::Escape) {
00054 escapeButton = 2;
00055 }
00056 return escapeButton;
00057 }
00058
00059
00060 int
00061 VMessageBox::selected(int ret, int button0, int button1, int button2)
00062 {
00063 if (ret == 0) {
00064 return (button0 & QMessageBox::ButtonMask);
00065 } else if (ret == 1) {
00066 return (button1 & QMessageBox::ButtonMask);
00067 }
00068 return (button2 & QMessageBox::ButtonMask);
00069 }
00070
00071
00072 QString
00073 VMessageBox::buttonText(int btn)
00074 {
00075 QString text;
00076 int button = (btn & ~QMessageBox::FlagMask);
00077 switch (button) {
00078 case Ok: text = tr("OK"); break;
00079 case Cancel: text = tr("Cancel"); break;
00080 case Yes: text = tr("Yes"); break;
00081 case No: text = tr("No"); break;
00082 case Help: text = tr("Help"); break;
00083 case Retry: text = tr("Retry"); break;
00084 case ShowLog: text = tr("Show Log"); break;
00085 case ShowSettings: text = tr("Show Settings"); break;
00086 case Continue: text = tr("Continue"); break;
00087 case Quit: text = tr("Quit"); break;
00088 case Browse: text = tr("Browse"); break;
00089 default: break;
00090 }
00091 return text;
00092 }
00093
00094
00095
00096
00097
00098 int
00099 VMessageBox::critical(QWidget *parent, QString caption, QString text,
00100 int button0, int button1, int button2)
00101 {
00102 int ret = QMessageBox::critical(parent, caption, p(text),
00103 VMessageBox::buttonText(button0),
00104 VMessageBox::buttonText(button1),
00105 VMessageBox::buttonText(button2),
00106 VMessageBox::defaultButton(button0, button1, button2),
00107 VMessageBox::escapeButton(button0, button1, button2));
00108 return VMessageBox::selected(ret, button0, button1, button2);
00109 }
00110
00111
00112
00113
00114
00115 int
00116 VMessageBox::question(QWidget *parent, QString caption, QString text,
00117 int button0, int button1, int button2)
00118 {
00119 int ret = QMessageBox::question(parent, caption, p(text),
00120 VMessageBox::buttonText(button0),
00121 VMessageBox::buttonText(button1),
00122 VMessageBox::buttonText(button2),
00123 VMessageBox::defaultButton(button0, button1, button2),
00124 VMessageBox::escapeButton(button0, button1, button2));
00125 return VMessageBox::selected(ret, button0, button1, button2);
00126 }
00127
00128
00129
00130
00131
00132 int
00133 VMessageBox::information(QWidget *parent, QString caption, QString text,
00134 int button0, int button1, int button2)
00135 {
00136 int ret = QMessageBox::information(parent, caption, p(text),
00137 VMessageBox::buttonText(button0),
00138 VMessageBox::buttonText(button1),
00139 VMessageBox::buttonText(button2),
00140 VMessageBox::defaultButton(button0, button1, button2),
00141 VMessageBox::escapeButton(button0, button1, button2));
00142 return VMessageBox::selected(ret, button0, button1, button2);
00143 }
00144
00145
00146
00147
00148
00149 int
00150 VMessageBox::warning(QWidget *parent, QString caption, QString text,
00151 int button0, int button1, int button2)
00152 {
00153 int ret = QMessageBox::warning(parent, caption, p(text),
00154 VMessageBox::buttonText(button0),
00155 VMessageBox::buttonText(button1),
00156 VMessageBox::buttonText(button2),
00157 VMessageBox::defaultButton(button0, button1, button2),
00158 VMessageBox::escapeButton(button0, button1, button2));
00159 return VMessageBox::selected(ret, button0, button1, button2);
00160 }
00161