mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
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 <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
c16d4ca5d5
commit
77a55db9d3
1 changed files with 13 additions and 8 deletions
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include <QEvent>
|
||||
#include <QGridLayout>
|
||||
#include <QHBoxLayout>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QLabel>
|
||||
#include <QPainter>
|
||||
#include <QShowEvent>
|
||||
|
@ -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()) {
|
||||
|
|
Loading…
Reference in a new issue