From 8178a6cab111fb0da9e637bf41464aba66d57609 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 15 Oct 2013 10:18:22 +0200 Subject: [PATCH] Add missing operators QMargins -=,+= (int). Task-number: QTBUG-34079 Change-Id: If61cc01ba70345b01f13072769d3a38f23e8cefc Reviewed-by: Thiago Macieira --- src/corelib/tools/qmargins.h | 18 ++++++++++++++++++ .../corelib/tools/qmargins/tst_qmargins.cpp | 6 ++++++ 2 files changed, 24 insertions(+) diff --git a/src/corelib/tools/qmargins.h b/src/corelib/tools/qmargins.h index 0d68be961e..ad5e94cefe 100644 --- a/src/corelib/tools/qmargins.h +++ b/src/corelib/tools/qmargins.h @@ -242,6 +242,24 @@ inline QMargins &QMargins::operator-=(const QMargins &margins) return *this = *this - margins; } +inline QMargins &QMargins::operator+=(int margin) +{ + m_left += margin; + m_top += margin; + m_right += margin; + m_bottom += margin; + return *this; +} + +inline QMargins &QMargins::operator-=(int margin) +{ + m_left -= margin; + m_top -= margin; + m_right -= margin; + m_bottom -= margin; + return *this; +} + inline QMargins &QMargins::operator*=(int factor) { return *this = *this * factor; diff --git a/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp b/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp index d22e771b79..ec83740196 100644 --- a/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp +++ b/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp @@ -93,6 +93,12 @@ void tst_QMargins::operators() a -= m2; QCOMPARE(a, subtracted); + QMargins h = m1; + h += 2; + QCOMPARE(h, QMargins(14, 16, 18, 20)); + h -= 2; + QCOMPARE(h, m1); + const QMargins doubled = m1 * 2; QCOMPARE(doubled, QMargins(24, 28, 32, 36)); QCOMPARE(2 * m1, doubled);