Mercurial > hg > easyhg
comparison multichoicedialog.cpp @ 341:1fc2e0269ae0 help
Add Help button to multi-choice dialog
author | Chris Cannam |
---|---|
date | Tue, 15 Mar 2011 12:36:26 +0000 |
parents | 8fd71f570884 |
children |
comparison
equal
deleted
inserted
replaced
340:bb189827f6d1 | 341:1fc2e0269ae0 |
---|---|
25 #include <QToolButton> | 25 #include <QToolButton> |
26 #include <QPushButton> | 26 #include <QPushButton> |
27 #include <QFont> | 27 #include <QFont> |
28 #include <QDir> | 28 #include <QDir> |
29 #include <QFileDialog> | 29 #include <QFileDialog> |
30 #include <QDesktopServices> | |
30 #include <QUrl> | 31 #include <QUrl> |
31 | 32 |
32 MultiChoiceDialog::MultiChoiceDialog(QString title, QString heading, QWidget *parent) : | 33 MultiChoiceDialog::MultiChoiceDialog(QString title, QString heading, |
33 QDialog(parent) | 34 QString helpUrl, QWidget *parent) : |
35 QDialog(parent), | |
36 m_helpUrl(helpUrl) | |
34 { | 37 { |
35 setModal(true); | 38 setModal(true); |
36 setWindowTitle(title); | 39 setWindowTitle(title); |
37 | 40 |
38 QGridLayout *outer = new QGridLayout; | 41 QGridLayout *outer = new QGridLayout; |
75 | 78 |
76 m_browseButton = new QPushButton(tr("Browse...")); | 79 m_browseButton = new QPushButton(tr("Browse...")); |
77 outer->addWidget(m_browseButton, 4, 2); | 80 outer->addWidget(m_browseButton, 4, 2); |
78 connect(m_browseButton, SIGNAL(clicked()), this, SLOT(browse())); | 81 connect(m_browseButton, SIGNAL(clicked()), this, SLOT(browse())); |
79 | 82 |
80 QDialogButtonBox *bbox = new QDialogButtonBox(QDialogButtonBox::Ok | | 83 outer->addItem(new QSpacerItem(2, 12), 5, 0); |
81 QDialogButtonBox::Cancel); | 84 |
85 QDialogButtonBox *bbox; | |
86 if (helpUrl != "") { | |
87 bbox = new QDialogButtonBox(QDialogButtonBox::Help | | |
88 QDialogButtonBox::Ok | | |
89 QDialogButtonBox::Cancel); | |
90 } else { | |
91 bbox = new QDialogButtonBox(QDialogButtonBox::Ok | | |
92 QDialogButtonBox::Cancel); | |
93 } | |
82 connect(bbox, SIGNAL(accepted()), this, SLOT(accept())); | 94 connect(bbox, SIGNAL(accepted()), this, SLOT(accept())); |
83 connect(bbox, SIGNAL(rejected()), this, SLOT(reject())); | 95 connect(bbox, SIGNAL(rejected()), this, SLOT(reject())); |
84 outer->addWidget(bbox, 5, 0, 1, 3); | 96 connect(bbox, SIGNAL(helpRequested()), this, SLOT(helpRequested())); |
97 outer->addWidget(bbox, 6, 0, 1, 3); | |
85 | 98 |
86 m_okButton = bbox->button(QDialogButtonBox::Ok); | 99 m_okButton = bbox->button(QDialogButtonBox::Ok); |
87 updateOkButton(); | 100 updateOkButton(); |
88 | 101 |
89 setMinimumWidth(480); | 102 setMinimumWidth(480); |
103 } | |
104 | |
105 void | |
106 MultiChoiceDialog::helpRequested() | |
107 { | |
108 QDesktopServices::openUrl(m_helpUrl); | |
90 } | 109 } |
91 | 110 |
92 QString | 111 QString |
93 MultiChoiceDialog::getCurrentChoice() | 112 MultiChoiceDialog::getCurrentChoice() |
94 { | 113 { |