QDialogButtonBox: add a missing constructor
Setting the buttons in the constructor is a use-case that happens more often than setting the orientation. Yet, there was a (Qt::Orientation,QWidget*) constructor, but no (StandardButtons,QWidget*) one. This patch adds it. Change-Id: If6a5c9f7450a388cd77bd93c8dd144b2fdc11847 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
This commit is contained in:
parent
7ddf1b14ec
commit
bab630e4bf
@ -668,6 +668,21 @@ QDialogButtonBox::QDialogButtonBox(Qt::Orientation orientation, QWidget *parent)
|
||||
d_func()->initLayout();
|
||||
}
|
||||
|
||||
/*!
|
||||
\since 5.2
|
||||
|
||||
Constructs a horizontal button box with the given \a parent, containing
|
||||
the standard buttons specified by \a buttons.
|
||||
|
||||
\sa orientation, addButton()
|
||||
*/
|
||||
QDialogButtonBox::QDialogButtonBox(StandardButtons buttons, QWidget *parent)
|
||||
: QWidget(*new QDialogButtonBoxPrivate(Qt::Horizontal), parent, 0)
|
||||
{
|
||||
d_func()->initLayout();
|
||||
d_func()->createStandardButtons(buttons);
|
||||
}
|
||||
|
||||
/*!
|
||||
Constructs a button box with the given \a orientation and \a parent, containing
|
||||
the standard buttons specified by \a buttons.
|
||||
|
@ -115,7 +115,8 @@ public:
|
||||
|
||||
QDialogButtonBox(QWidget *parent = 0);
|
||||
QDialogButtonBox(Qt::Orientation orientation, QWidget *parent = 0);
|
||||
QDialogButtonBox(StandardButtons buttons, Qt::Orientation orientation = Qt::Horizontal,
|
||||
explicit QDialogButtonBox(StandardButtons buttons, QWidget *parent = 0);
|
||||
QDialogButtonBox(StandardButtons buttons, Qt::Orientation orientation,
|
||||
QWidget *parent = 0);
|
||||
~QDialogButtonBox();
|
||||
|
||||
|
@ -72,6 +72,8 @@ private slots:
|
||||
void testConstructor2_data();
|
||||
void testConstructor3();
|
||||
void testConstructor3_data();
|
||||
void testConstructor4();
|
||||
void testConstructor4_data();
|
||||
void setOrientation_data();
|
||||
void setOrientation();
|
||||
void addButton1_data();
|
||||
@ -201,6 +203,41 @@ void tst_QDialogButtonBox::testConstructor3()
|
||||
QTEST(buttonBox.buttons().count(), "buttonCount");
|
||||
}
|
||||
|
||||
void tst_QDialogButtonBox::testConstructor4_data()
|
||||
{
|
||||
QTest::addColumn<QDialogButtonBox::StandardButtons>("buttons");
|
||||
QTest::addColumn<int>("buttonCount");
|
||||
|
||||
QTest::newRow("nothing") << (QDialogButtonBox::StandardButtons)0 << 0;
|
||||
QTest::newRow("only 1") << QDialogButtonBox::StandardButtons(QDialogButtonBox::Ok) << 1;
|
||||
QTest::newRow("only 1.. twice")
|
||||
<< (QDialogButtonBox::Ok | QDialogButtonBox::Ok)
|
||||
<< 1;
|
||||
QTest::newRow("only 2")
|
||||
<< (QDialogButtonBox::Ok | QDialogButtonBox::Cancel)
|
||||
<< 2;
|
||||
QTest::newRow("two different things")
|
||||
<< (QDialogButtonBox::Save | QDialogButtonBox::Close)
|
||||
<< 2;
|
||||
QTest::newRow("three")
|
||||
<< (QDialogButtonBox::Ok
|
||||
| QDialogButtonBox::Cancel
|
||||
| QDialogButtonBox::Help)
|
||||
<< 3;
|
||||
QTest::newRow("everything")
|
||||
<< (QDialogButtonBox::StandardButtons)UINT_MAX
|
||||
<< 18;
|
||||
}
|
||||
|
||||
void tst_QDialogButtonBox::testConstructor4()
|
||||
{
|
||||
QFETCH(QDialogButtonBox::StandardButtons, buttons);
|
||||
|
||||
QDialogButtonBox buttonBox(buttons);
|
||||
QCOMPARE(buttonBox.orientation(), Qt::Horizontal);
|
||||
QTEST(buttonBox.buttons().count(), "buttonCount");
|
||||
}
|
||||
|
||||
void tst_QDialogButtonBox::setOrientation_data()
|
||||
{
|
||||
QTest::addColumn<int>("orientation");
|
||||
|
Loading…
Reference in New Issue
Block a user