From 77a55db9d3e2e618c64f810a8bb664aa01ca7d22 Mon Sep 17 00:00:00 2001 From: Anton Lundin Date: Wed, 2 Jul 2014 22:59:32 +0200 Subject: Use QDialogButtonBox in KMessageWidget QDialogButtonBox can auto-choose the order of the actions based on the current interfaces guidelines, but in this case its a guessing game. It does a half-decent job off guessing. Signed-off-by: Anton Lundin Signed-off-by: Dirk Hohndel --- qt-ui/kmessagewidget.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'qt-ui') diff --git a/qt-ui/kmessagewidget.cpp b/qt-ui/kmessagewidget.cpp index 2f9ac6870..e03d10c75 100644 --- a/qt-ui/kmessagewidget.cpp +++ b/qt-ui/kmessagewidget.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include #include @@ -92,27 +92,32 @@ void KMessageWidgetPrivate::createLayout() layout->addWidget(iconLabel, 0, 0, 1, 1, Qt::AlignHCenter | Qt::AlignTop); layout->addWidget(textLabel, 0, 1); - QHBoxLayout *buttonLayout = new QHBoxLayout; - buttonLayout->addStretch(); + QDialogButtonBox *buttonLayout = new QDialogButtonBox(); + //buttonLayout->addStretch(); Q_FOREACH (QToolButton *button, buttons) { // For some reason, calling show() is necessary if wordwrap is true, // otherwise the buttons do not show up. It is not needed if // wordwrap is false. button->show(); - buttonLayout->addWidget(button); + buttonLayout->addButton(button, QDialogButtonBox::QDialogButtonBox::AcceptRole); } - buttonLayout->addWidget(closeButton); - layout->addItem(buttonLayout, 1, 0, 1, 2); + buttonLayout->addButton(closeButton, QDialogButtonBox::RejectRole); + layout->addWidget(buttonLayout, 1, 0, 1, 2, Qt::AlignHCenter | Qt::AlignTop); } else { + bool closeButtonVisible = closeButton->isVisible(); QHBoxLayout *layout = new QHBoxLayout(content); layout->addWidget(iconLabel); layout->addWidget(textLabel); + QDialogButtonBox *buttonLayout = new QDialogButtonBox(); Q_FOREACH (QToolButton *button, buttons) { - layout->addWidget(button); + buttonLayout->addButton(button, QDialogButtonBox::QDialogButtonBox::AcceptRole); } - layout->addWidget(closeButton); + buttonLayout->addButton(closeButton, QDialogButtonBox::RejectRole); + // Something gets changed when added to the buttonLayout + closeButton->setVisible(closeButtonVisible); + layout->addWidget(buttonLayout); }; if (q->isVisible()) { -- cgit v1.2.3-70-g09d2