summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2014-12-03 12:58:14 +0100
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2014-12-03 18:03:09 +0100
commitd41834b953beb1a578cc1be8702dab9ac4a4c954 (patch)
tree15a97f13a223c614629abe6dd3ceb565163e16f1
parent5180f32c5abe01acd65cde68c2c16aedda4028ec (diff)
QAbstractScrollArea: add a getter for the margins
Strange API asymmetry that needed to be fixed. Task-number: QTBUG-8315 [ChangeLog][QtWidgets][QAbstractScrollArea] A getter for the viewport margins has been added. Change-Id: Ie1460b572206922031fc4effc2aa8261e25088b5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-rw-r--r--src/widgets/widgets/qabstractscrollarea.cpp17
-rw-r--r--src/widgets/widgets/qabstractscrollarea.h1
-rw-r--r--tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp19
3 files changed, 35 insertions, 2 deletions
diff --git a/src/widgets/widgets/qabstractscrollarea.cpp b/src/widgets/widgets/qabstractscrollarea.cpp
index 4cafeafcec..bcf0bbe1fc 100644
--- a/src/widgets/widgets/qabstractscrollarea.cpp
+++ b/src/widgets/widgets/qabstractscrollarea.cpp
@@ -923,7 +923,7 @@ QWidgetList QAbstractScrollArea::scrollBarWidgets(Qt::Alignment alignment)
they should not call this function.
By default all margins are zero.
-
+ \sa viewportMargins()
*/
void QAbstractScrollArea::setViewportMargins(int left, int top, int right, int bottom)
{
@@ -943,7 +943,7 @@ void QAbstractScrollArea::setViewportMargins(int left, int top, int right, int b
area.
By default all margins are zero.
-
+ \sa viewportMargins()
*/
void QAbstractScrollArea::setViewportMargins(const QMargins &margins)
{
@@ -951,6 +951,19 @@ void QAbstractScrollArea::setViewportMargins(const QMargins &margins)
margins.right(), margins.bottom());
}
+/*!
+ \since 5.5
+ Returns the margins around the scrolling area.
+ By default all the margins are zero.
+
+ \sa setViewportMargins()
+*/
+QMargins QAbstractScrollArea::viewportMargins() const
+{
+ Q_D(const QAbstractScrollArea);
+ return QMargins(d->left, d->top, d->right, d->bottom);
+}
+
/*! \internal */
bool QAbstractScrollArea::eventFilter(QObject *o, QEvent *e)
{
diff --git a/src/widgets/widgets/qabstractscrollarea.h b/src/widgets/widgets/qabstractscrollarea.h
index bd15ba8a52..6a9a86b07f 100644
--- a/src/widgets/widgets/qabstractscrollarea.h
+++ b/src/widgets/widgets/qabstractscrollarea.h
@@ -97,6 +97,7 @@ protected:
QAbstractScrollArea(QAbstractScrollAreaPrivate &dd, QWidget *parent = 0);
void setViewportMargins(int left, int top, int right, int bottom);
void setViewportMargins(const QMargins &margins);
+ QMargins viewportMargins() const;
bool eventFilter(QObject *, QEvent *) Q_DECL_OVERRIDE;
bool event(QEvent *) Q_DECL_OVERRIDE;
diff --git a/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp b/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp
index b18801220c..83e6b94db9 100644
--- a/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp
+++ b/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp
@@ -60,6 +60,8 @@ private slots:
void viewportCrash();
void task214488_layoutDirection_data();
void task214488_layoutDirection();
+
+ void margins();
};
tst_QAbstractScrollArea::tst_QAbstractScrollArea()
@@ -375,5 +377,22 @@ void tst_QAbstractScrollArea::patternBackground()
QCOMPARE(image.pixel(QPoint(20,20)) , QColor(Qt::red).rgb());
}
+class ScrollArea : public QAbstractScrollArea
+{
+public:
+ using QAbstractScrollArea::setViewportMargins;
+ using QAbstractScrollArea::viewportMargins;
+};
+
+void tst_QAbstractScrollArea::margins()
+{
+ ScrollArea area;
+ QCOMPARE(area.viewportMargins(), QMargins());
+
+ QMargins margins(10, 20, 30, 40);
+ area.setViewportMargins(margins);
+ QCOMPARE(area.viewportMargins(), margins);
+}
+
QTEST_MAIN(tst_QAbstractScrollArea)
#include "tst_qabstractscrollarea.moc"