summaryrefslogtreecommitdiff
path: root/src/selectiondialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/selectiondialog.cpp')
-rw-r--r--src/selectiondialog.cpp25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/selectiondialog.cpp b/src/selectiondialog.cpp
index b4df8a1f..aae95f56 100644
--- a/src/selectiondialog.cpp
+++ b/src/selectiondialog.cpp
@@ -22,8 +22,8 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <QCommandLinkButton>
-SelectionDialog::SelectionDialog(const QString &description, QWidget *parent)
- : QDialog(parent), ui(new Ui::SelectionDialog), m_Choice(NULL), m_ValidateByData(false)
+SelectionDialog::SelectionDialog(const QString &description, QWidget *parent, const QSize &iconSize)
+ : QDialog(parent), ui(new Ui::SelectionDialog), m_Choice(nullptr), m_ValidateByData(false), m_IconSize(iconSize)
{
ui->setupUi(this);
@@ -35,10 +35,24 @@ SelectionDialog::~SelectionDialog()
delete ui;
}
-
void SelectionDialog::addChoice(const QString &buttonText, const QString &description, const QVariant &data)
{
- QCommandLinkButton *button = new QCommandLinkButton(buttonText, description, ui->buttonBox);
+ QAbstractButton *button = new QCommandLinkButton(buttonText, description, ui->buttonBox);
+ if (m_IconSize.isValid()) {
+ button->setIconSize(m_IconSize);
+ }
+ button->setProperty("data", data);
+ ui->buttonBox->addButton(button, QDialogButtonBox::AcceptRole);
+ if (data.isValid()) m_ValidateByData = true;
+}
+
+void SelectionDialog::addChoice(const QIcon &icon, const QString &buttonText, const QString &description, const QVariant &data)
+{
+ QAbstractButton *button = new QCommandLinkButton(buttonText, description, ui->buttonBox);
+ if (m_IconSize.isValid()) {
+ button->setIconSize(m_IconSize);
+ }
+ button->setIcon(icon);
button->setProperty("data", data);
ui->buttonBox->addButton(button, QDialogButtonBox::AcceptRole);
if (data.isValid()) m_ValidateByData = true;
@@ -49,7 +63,6 @@ int SelectionDialog::numChoices() const
return ui->buttonBox->findChildren<QCommandLinkButton*>(QString()).count();
}
-
QVariant SelectionDialog::getChoiceData()
{
return m_Choice->property("data");
@@ -58,7 +71,7 @@ QVariant SelectionDialog::getChoiceData()
QString SelectionDialog::getChoiceString()
{
- if ((m_Choice == NULL) ||
+ if ((m_Choice == nullptr) ||
(m_ValidateByData && !m_Choice->property("data").isValid())) {
return QString();
} else {