summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qcommonstyle.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-11-221-0/+2
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qdir.cpp src/corelib/kernel/qtimer.cpp src/corelib/kernel/qtimer.h Done-With: Edward Welbourne <edward.welbourne@qt.io> Change-Id: I683d897760ec06593136d77955f8bc87fdef3f9f
| * Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-11-191-0/+2
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm Change-Id: I66a08c770767a93cd26535689e3e7806486aab06
| | * Modernize the "settings" featureLiang Qi2018-11-151-0/+2
| | | | | | | | | | | | | | | | | | Change-Id: I9b8a61ecb1413b513ae5c9e77d3ee1b3e8b6562c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-10-251-1/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/animation/qpropertyanimation.cpp src/gui/image/qicon.cpp tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp Change-Id: I3698172b7b44ebb487cb38f50fd2c4a9f8a35b21
| * | Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-10-171-1/+3
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platformthemes/platformthemes.pro src/printsupport/kernel/qplatformprintdevice.cpp Change-Id: Iac01729ad954bb1c7af5867d982eb243b2139ee6
| | * Modernize the "animation" featureLiang Qi2018-10-121-1/+3
| | | | | | | | | | | | | | | | | | Change-Id: Ibc164b3df3cf87db569ef4813de458a9067b7f7d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Fix drawing of QGroupBox's title when check box is higher than textAlexander Volkov2018-10-091-11/+16
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-70623 Change-Id: I36c3b3e0250a4d2b0a2a2f03793f0eae3d868de2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | QSideBar: take the icon size from a styleAlexander Volkov2018-10-091-1/+11
| | | | | | | | | | | | | | | Change-Id: I9c4677b42cc920b7bb016b61b8c1fd34fe67aa30 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | remove internal use of SE_ViewItemCheckIndicatorRolf Eike Beer2018-09-031-1/+1
|/ / | | | | | | | | | | | | | | | | | | This is marked to be removed in Qt6, so switch to SE_ItemViewItemCheckIndicator internally and define the old value as copy of the new one instead of the other way round. Change-Id: I9e9804a7ff0e9b2ae1e24698d45b2cbd44423420 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-08-071-8/+11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/doc/src/objectmodel/signalsandslots.qdoc src/plugins/platforms/cocoa/qcocoamenuloader.mm src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp tests/auto/gui/image/qimage/tst_qimage.cpp Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I9bd24ee9b00d4f26c8f344ce3970aa6e93935ff5
| * QCommonStylePrivate::viewItemSize: Fix text width bounds calculationAles Erjavec2018-08-021-8/+11
| | | | | | | | | | | | | | | | | | | | | | The width of the icon was subtracted out of the available text area width even when the value of the `decorationPosition` was Top/Bottom. Task-number: QTBUG-69404 Task-number: QTBUG-30116 Change-Id: I501ffc0dab0cff25e525c26adf9bdb060408927b Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Add QStyle::SH_SpinBox_StepModifier style hintNathan Collins2018-07-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows the developer to pick which keyboard modifier increases the number of steps a QAbstractSpinBox takes when the user interacts with it. The modifier can be either Qt::ControlModifier (default), Qt::ShiftModifier or Qt::NoModifier. Qt::NoModifier disables the step modifier. Note that on macOS, Control corresponds to the Command key. Holding the modifier increases the step rate when: - scrolling; - pressing the up/down keys; - pressing the spin box up/down buttons. [ChangeLog][QtWidgets][QStyle] QStyle::SH_SpinBox_StepModifier allows the developer to pick which keyboard modifier increases the number of steps a QAbstractSpinBox takes for the following interactions: scrolling, up/down keyboard keys and the spin box buttons. The Qt::ShiftModifier can now be used, or the feature can be disabled using Qt::NoModifier. Previously, only Qt::ControlModifier could be used as the modifier. Change-Id: Ib5518127e86a8f67798a9a1d6e860c6e35896e6f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QCommonStyle: properly elide last visible lineChristian Ehrlicher2018-06-251-40/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite QCommonStylePrivate::viewItemDrawText() to be able to elide lines which are too long and the last visible line. The painting is now done in one pass instead of two and lines which are not visible due to a size constraint are not painted at all. [ChangeLog][QtWidgets][Itemviews] Fixed eliding of multi-line items Task-number: QTBUG-12129 Task-number: QTBUG-14949 Task-number: QTBUG-57891 Change-Id: I3a41938e442663ecd7e5ca56bf6bbd857edafb7d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-05-021-10/+12
|\| | | | | | | Change-Id: Ia082e20e2eb4b76afd4c1a1584ff4e5514655d7a
| * Convert features.toolbar to QT_[REQUIRE_]CONFIGStephan Binner2018-05-021-10/+12
| | | | | | | | | | | | | | | | Move declaration of pick/perp helpers up the dependency chain Change-Id: I7084ed829a057a0c45d60445c416fb07f2cb5624 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | QToolButton: Elide text when constraints prevent from showing whole textChristian Ehrlicher2018-04-261-1/+2
| | | | | | | | | | | | | | | | | | | | When a QToolButton has a fixed width and the text is too long, the text was cropped which made the button look ugly. Fix it by eliding the text in the middle in this case. Task-number: QTBUG-64132 Change-Id: I7bc46d1edcf4e67b5e1a5b651d4793f9ffa15310 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | QCommonStyle: use proxy pixelMetric for SE_TabBarScrollLeft/RightButtonChristian Ehrlicher2018-03-301-4/+4
| | | | | | | | | | | | | | | | | | | | When calculating the subElementRect for SE_TabBarScrollLeft/RightButton and SE_ToolBarHandle, the frameRect() was not taken from the proxyStyle. Task-number: QTBUG-66933 Change-Id: I7ae78d7050a6500f39e4741345283e1bf590e9cb Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | QAbstractSpinBox: honor QAbstractSpinBox::NoButtons in sizeHint()Christian Ehrlicher2018-03-301-2/+2
| | | | | | | | | | | | | | | | | | | | QCommonStyle::sizeFromContents() did not check if a spinbox has buttons or not and returned a to wide width when no buttons are displayed. Task-number: QTBUG-67126 Change-Id: I9f97a31a89a0986023316b02e11017e620c0f614 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | QCommonStyle: Add title bar and tool bar extension iconsFriedemann Kleint2018-03-171-5/+37
| | | | | | | | | | | | | | | | | | | | Add larger pixmaps for the title bar and tool bar extension icons. Task-number: QTBUG-38776 Change-Id: If2514f7aa66fa46d25133165ca45318a5045d387 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-02-131-1/+1
|\| | | | | | | Change-Id: Iaec2e57d6bf33355ddfa61d25133580a8740335f
| * Fix typosJarek Kobus2018-02-131-1/+1
| | | | | | | | | | Change-Id: Id625efea998f2b4dce9970b903830dc3b3efcd3d Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-02-111-0/+3
|\| | | | | | | Change-Id: Ia443f6eb1c854c99c68127a376b78c1986675a9d
| * Merge remote-tracking branch 'origin/dev' into 5.11Liang Qi2018-02-101-14/+13
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qvarlengtharray.qdoc src/corelib/tools/qvector.qdoc Resolved documentation changes in favor of 017569f702b6dd0, which keeps the move overloads along with its const-ref sibling. Change-Id: I0835b0b3211a418e5e50defc4cf315f0964fab79
| * | Introducing SH_SpinBox_ButtonsInsideFrameGabriel de Dietrich2018-02-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is currently only used in QMacStyle since, on macOS, the spin-box buttons are always beside the line-edit. Hence, there is no need to tamper with the line-edit frame. Change-Id: I8ccfbab547fccae89a8ddeaeb7005cb17d5951e6 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | QStyledItemDelegate: fix drawing elided multi-line textsChristian Ehrlicher2018-02-101-10/+9
| |/ |/| | | | | | | | | | | | | | | | | | | QCommonStylePrivate::viewItemDrawText did not handle multi-line text correct when one of the lines must be elided. All text after the first elided line was not drawn at all. Task-number: QTBUG-14949 Task-number: QTBUG-57891 Change-Id: I2b7137f8f09001c1e0cdbdb10f784c4be433d0d2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QCommonStyle::drawControl: use PM_HeaderMargin instead magic numberChristian Ehrlicher2018-02-021-2/+3
| | | | | | | | | | | | | | | | Replace '2' with the correct margin retrieved from PM_HeaderMargin during paniting of CE_HeaderLabel within QCommonStyle::drawControl(). Change-Id: I5a50e02f107a00f382a38e14c4d3fa8dcb97ad12 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | Fix HiDPI rendering issues in QCommonStyleAndre de la Rocha2018-02-021-12/+10
|/ | | | | | | | Fixed size/resolution of combo box and scroll bar arrows. Task-number: QTBUG-49374 Change-Id: I3016b082b5eb7149fbe0c0e740525ab8506ce391 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* QCommonStyle: Add dock title bar iconsFriedemann Kleint2018-01-241-0/+24
| | | | | | | | | Add larger pixmaps for the dock title bar icons; override them by the XPM in fusion style to maintain the behavior. Task-number: QTBUG-38776 Change-Id: I7d0e022bbf620d2aad2b6ee011b8bb9a745d7c3b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* QCommonStylePrivate::viewItemSize: fix text height calculationChristian Ehrlicher2018-01-171-0/+7
| | | | | | | | | | | QCommonStylePrivate::viewItemSize did not adjust the width when the item had a decoration or a checkbox. This lead to a too big width used for the layouting and therefore sometimes the calculated height was too small. Task-number: QTBUG-30116 Change-Id: I4468daa9820b9a8aa00fe959ab9b73fec23cc24e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QItemDelegate::doLayout: only call QStyle::pixelMetric() onceChristian Ehrlicher2018-01-161-5/+8
| | | | | | | | | | | | QStyle::pixelMetric(QStyle::PM_FocusFrameHMargin) was called three times in the worst case but it returns a constant value. Therefore cache this value and call pixelMetric() only once. Since this code is duplicated from QCommonStylePrivate::viewItemLayout() also change it there. Change-Id: I6d5f0a8d2b1373bd36f0520f404e6a3cb0794f12 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Add an option to scroll the QComboBox on macOS with the mouse wheelAndy Shaw2018-01-051-0/+3
| | | | | | | | | | | | | | | | | | Since there may be some applications that want to make their comboboxes scrollable or not with the mouse wheel then a style hint is added to make this toggable. It defaults to true for all platforms except macOS to keep it in line with existing behavior. [ChangeLog][QtWidgets][QStyle] Added SH_ComboBox_AllowWheelScrolling as a style hint to enable/disable the use of the mouse wheel in a QComboBox. This defaults to true in all styles except the macOS one so there is no change in existing behavior. Task-number: QTBUG-53094 Change-Id: I6eb61e1990bfc79e3b3ea82d7b91ee39096fa077 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QToolButton: adjust menu indicator in RTL-modeChristian Ehrlicher2018-01-031-0/+1
| | | | | | | | | | | The menu indicator was not adjusted in RTL-Mode to be on the left side of the text. Use visualRect() to adjust the rectangle before drawing the PE_IndicatorArrowDown. Task-number: QTBUG-50084 Change-Id: I20129499f111d06637c98ede23b4635a3fc34a6c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Update usage of QFontMetrics::width() to new APIEskil Abrahamsen Blomfeldt2017-12-081-1/+1
| | | | | | | | | | | | | | QFontMetrics(F)::width() has been deprecated and is replaced by horizontalAdvance(). This updates all usage of it in tests and documentation. It is worth noting that many or most of the usages of QFontMetrics::width() probably intended to use boundingRect().width(), but since it currently works, I have not looked into that, just replaced the function name mechanically. Change-Id: Iec382e5bad0b50f37a6cfff841bfb46ed4d4555f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-09-201-30/+34
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/styles/mac/qmacstyle_mac.mm src/widgets/util/qcompleter.cpp src/widgets/widgets/qmainwindowlayout.cpp src/widgets/widgets/qmdisubwindow.cpp Change-Id: If0e96981af07ce36ac68f2e69211bc2120f93973
| * Convert features.menu to QT_[REQUIRE_]CONFIGStephan Binner2017-09-191-4/+6
| | | | | | | | | | Change-Id: I031356411294b259ebd2b22c53159c93fd92af6e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Convert features.slider to QT_[REQUIRE_]CONFIGStephan Binner2017-09-121-10/+12
| | | | | | | | | | Change-Id: I03adb5e34071aa106bbfe7caa2d41a93e8d1e263 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Convert features.lineedit to QT_[REQUIRE_]CONFIGStephan Binner2017-09-121-2/+2
| | | | | | | | | | Change-Id: I509977994b11a7fc0c109bfcc83aadeee6c9b0b8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Convert features.spinbox to QT_[REQUIRE_]CONFIGStephan Binner2017-09-121-8/+8
| | | | | | | | | | Change-Id: Idecb6927c20ff009795b0ad94bbb7199df98a8f8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Convert features.sizegrip to QT_[REQUIRE_]CONFIGStephan Binner2017-09-121-2/+2
| | | | | | | | | | Change-Id: Ieac4ae1f0b8b84e943c00da9903346a44e57138c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Convert features.mdiarea to QT_[REQUIRE_]CONFIGStephan Binner2017-09-111-4/+4
| | | | | | | | | | Change-Id: I6d2ec035a218869aa6595f5848de94ce491d3124 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-09-061-2/+2
|\| | | | | | | | | | | | | | | | | | | Conflicts: examples/opengl/qopenglwidget/main.cpp src/3rdparty/pcre2/src/pcre2_printint.c src/plugins/platforms/cocoa/qnsview.mm src/widgets/widgets/qcombobox.cpp Change-Id: I37ced9da1e8056f95851568bcc52cd5dc34f56af
| * Convert features.menubar to QT_[REQUIRE_]CONFIGStephan Binner2017-09-041-2/+2
| | | | | | | | | | Change-Id: Idbd4978852fa280dd18a5684469d499da3892126 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-311-7/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/examples.pro qmake/library/qmakebuiltins.cpp src/corelib/global/qglobal.cpp Re-apply b525ec2 to qrandom.cpp(code movement in 030782e) src/corelib/global/qnamespace.qdoc src/corelib/global/qrandom.cpp src/gui/kernel/qwindow.cpp Re-apply a3d59c7 to QWindowPrivate::setVisible() (code movement in d7a9e08) src/network/ssl/qsslkey_openssl.cpp src/plugins/platforms/android/androidjniinput.cpp src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/widgets/widgets/qmenu.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp Change-Id: If7ab427804408877a93cbe02079fca58e568bfd3
| * QWidgets/CommonStyle: Fix tooltip drawing under HighDPIAlessandro Portale2017-08-291-7/+2
| | | | | | | | | | | | | | | | | | | | | | Delegating the border painting to qDrawPlainRect ensures that there are no off-by-one pixel issues. Task-number: QTBUG-61849 Change-Id: I56dc849da80fad00d02a0f9c60dbb621e6de7c48 Reviewed-by: Michael Winkelmann <michael.winkelmann@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-151-45/+49
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoamenu.h src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/widgets/styles/qstylehelper_p.h Change-Id: I54247c98dd79d2b3826fc062b8b11048c9c7d9bb
| * Convert features.toolbutton to QT_[REQUIRE_]CONFIGStephan Binner2017-08-101-12/+14
| | | | | | | | | | Change-Id: I4227e1868da21bded76a8ec55996c436c8a8d763 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Convert features.groupbox to QT_[REQUIRE_]CONFIGStephan Binner2017-08-101-12/+14
| | | | | | | | | | Change-Id: I034286043a880ab777ec3f2311572bdc38e7fafc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Convert features.scrollbar to QT_[REQUIRE_]CONFIGStephan Binner2017-08-101-7/+7
| | | | | | | | | | Change-Id: Id6ea899c0fddf0de636701cfdc5f01ba20024976 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Convert features.toolbox to QT_[REQUIRE_]CONFIGStephan Binner2017-08-101-4/+4
| | | | | | | | | | Change-Id: I7abfe0166a021c439f6ed4465631ba62660ef001 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Convert features.progressbar to QT_[REQUIRE_]CONFIGStephan Binner2017-08-101-6/+6
| | | | | | | | | | Change-Id: I66d00d5bac98ff337ba5877e5f23be5e14a97551 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>