summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qandroidstyle.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Android: Fix push button label duplication with stylesheetsEskil Abrahamsen Blomfeldt2017-08-041-33/+44
| | | | | | | | | | | | | | | | | | | | | In the Android style, we matched both the full CE_PushButton, and the individual, decomposed CE_PushButtonBevel and CE_PushButtonLabel (and similar for other controls) to the same drawing code which draws both the label and the bevel. When used together with the style sheet style, this caused the label of the button to be drawn multiple times in different locations. For labels, we now skip the part which draws the actual control, and for the non-textual parts of the controls, we skip drawing the label. [ChangeLog][QtWidgets][Android] Fixed label duplication for buttons when using style sheets with the Android style. Task-number: QTBUG-48639 Change-Id: I1a1cdb0a82870cebd0438c5c72199afc3192938c Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* QAndroidStyle: fix UB (signed integer overflow) in ↵Marc Mutz2017-01-061-5/+4
| | | | | | | | | | | | | | | AndroidProgressBarControl::drawControl() The expression 'maximum - minimum' has undefined behavior when 'qint64(maximum) - minimum > INT_MAX'. Use 64-bit arithmetic instead. Also fix calculation of the progress when minimum != 0. Rename QStyleOptionProgressBar* variable to avoid line wraps. Change-Id: I1d48a7930e7f6d69798c2e878bb0045d55c2f057 Reviewed-by: David Faure <david.faure@kdab.com>
* Clean up style selection codeLars Knoll2016-11-291-2/+2
| | | | | | | | Turn styles into proper features and test for them using qtConfig/QT_CONFIG. Change-Id: I7e28785a46723364b90d8aa286f4d6e5ab085651 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Android: don't iterate over .keys()Marc Mutz2016-04-251-2/+3
| | | | | | | | | ... iterate over the container itself instead. Avoids temporary QList creation as well as the lookup cost when actually calling value(key). Change-Id: I63a11e6f8f19919145ea142309ddbacd99c3bfc3 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Android: eradicate Q_FOREACH loops [needing qAsConst()]Marc Mutz2016-04-251-3/+3
| | | | | | | | | ... by replacing them with C++11 range-for loops. To avoid detaches of these mutable Qt containers, wrap the container in qAsConst(). Change-Id: I9158c507f9249a7322b11c982bfcab1e6ed4a38a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Android: eradicate Q_FOREACH loops [already const]Marc Mutz2016-04-251-9/+9
| | | | | | | | | ... (or trivially marked const) local variables, parameters, or data members with trivial loop bodies, by replacing them with C++11 range-for loops. Change-Id: I25e9e2148abd7676305ebd18754dc647f217e48b Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Use QFlags::setFlag where prudent in qtbaseAndre Somers2016-02-121-22/+7
| | | | | | | | | | | | | | | | | QFlags::setFlag is most useful to replace explicit constructs like if (condition) { someFlags |= TheConditionFlag; } else { someFlags &= ~TheConditionFlag; } with someFlags.setFlag(TheConditionFlag, condition); Change-Id: Ie4586681c83e0af812d5bbf14965aad51941a960 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Updated license headersJani Heikkinen2016-01-151-13/+19
| | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QtWidgets: use Q_UNLIKELY for every qWarning() (2)Marc Mutz2015-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | If, after checking a condition, we issue a qWarning(), by definition that check is unlikely to be true. Tell the compiler so it can move the error handling code out of the normal code path to increase the effective icache size. This change contains the changes to the accessible/, effects/, kernel/, styles/ and itemviews/ subdirs. Moved conditional code around where possible so that we could always use Q_UNLIKELY, instead of having to revert to Q_LIKELY here and there. In QWidgetPrivate::setWindowModified_helper(), as a drive-by, I swapped the evaluation order of an &&-expression (newly wrapped in Q_UNLIKELY) to be more readable and more efficient (cheaper check first) at the same time. In qDraw* (qdrawutil.cpp), simplified boolean expressions (sometimes by skipping re-checking conditions already checked in a previous guard clause). Change-Id: I58be22be0a33522c2629a66c2f6c795771a99f3f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QAndroidStyle: remove use of obsolete QStyleOption*V<N>Marc Mutz2015-11-031-12/+7
| | | | | | | They are obsolete since Qt 5.0. Change-Id: I1295ba7a8895b1f066b8714dda40afd619018dce Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-311-0/+4
|\ | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
| * [Android]: Ensure clicking on the arrow shows the popupAndy Shaw2015-03-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | This was a problem with editable comboboxes specifically as there is an edit field area which is separate to the arrow. Giving a valid rectangle for the arrow allows QComboBox to know that it was clicked on. Task-number: QTBUG-44931 Change-Id: Ie1d06a6631d6c7f5e813419a5e76f67ec9dcd7e8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Pass params of shareable type by const-ref rather than by valueKonstantin Ritt2015-02-131-1/+1
| | | | | | | | | | | | | | | | ...where passing them by value was not intentional. Change-Id: Ifd5036d57b41fddeeacfbd3f5890881605b80647 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Update copyright headersJani Heikkinen2015-02-111-6/+6
|/ | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Support vertical sliders on AndroidPaul Olav Tvete2014-12-091-6/+26
| | | | | | | | | | There is no such thing as a vertical slider in the native Android style. Therefore, we need to rotate the painter in order to draw one. Task-number: QTBUG-41992 Change-Id: Ibe2bf1d7fa27756aad0b8469c8752d6d3e848527 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Android: Fix QSlider appearanceBogDan Vatra2014-11-151-6/+5
| | | | | | Task-number: QTBUG-42672 Change-Id: I882c1f625ea659967a8db09246dc28d7aef93fdf Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Fix crash on Android L and list view items.BogDan Vatra2014-11-151-73/+39
| | | | | | | | | | | This crash is visible on Android L. This patch removes the static_cast which caused the crash and it also fixed the list view item problem. I could not create separated patches because they depend too much on each other. Task-number: QTBUG-42673 Task-number: QTBUG-41814 Change-Id: I5d3e9c2b73df8f0e87e815b785b1c64d65a3ffaf Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Set Android palette and fonts in QPA plugin.BogDan Vatra2014-11-141-241/+15
| | | | | | Task-number: QTBUG-40621 Change-Id: Ibe069d4f93ac317e4f1b9ef5fc6bc3edcfac8685 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Fix the text field alignment.BogDan Vatra2014-10-031-2/+0
| | | | | | | | All Android styled controls must use AndroidControl methods. Task-number: QTBUG-41722 Change-Id: I594829bfed8468888738b39450fe94af35f14d7a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-18/+10
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* Fix various issues with qandroidstylePhilippe Lelong2014-07-101-65/+321
| | | | | | | | | | | | | -Add style for checkable QGroupBox -Add style for checkable QItemView -Fix QSpinboxes contents size and position -Fix QTreeView and QTableView headers size and position -Fix Slider thumb position incorrect if minimum is not zero Task-number: QTBUG-38717 Task-number: QTBUG-38325 Task-number: QTBUG-37965 Change-Id: I737f8d6f2d1c25d16aca0ce5de6b81884839409d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Remove sunken state for Android.BogDan Vatra2013-10-251-2/+9
| | | | | | | | | Only QLineEdit always sets the sunken state and on some Android devices (e.g HTC) the line edit is painted as it is pressed. Task-number: QTBUG-29565 Change-Id: I25031ffaadba85cae6b6ff17c0847cb706e23503 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Android: Fix the QSlider handler position.BogDan Vatra2013-10-251-4/+7
| | | | | Change-Id: I300f187a94d6c2b6b385c5a129150344f6b805ea Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Fix Android Style plugin.BogDan Vatra2013-09-101-75/+278
| | | | | | | | Task-number: QTBUG-29565 Change-Id: Iedb861962e3638bcbdf9d9a72a47bebc63b425b9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* QAndroidStyle: Fix warnings and compilation on Windows.Friedemann Kleint2013-03-061-10/+10
| | | | | Change-Id: I0ce4545bdc40a5e1a8297a225c2a656076df4580 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Introducing the Qt Android portPaul Olav Tvete2013-03-051-0/+1601
Based on the Necessitas project by Bogdan Vatra. Contributors to the Qt5 project: BogDan Vatra <bogdan@kde.org> Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> hjk <hjk121@nokiamail.com> Oswald Buddenhagen <oswald.buddenhagen@digia.com> Paul Olav Tvete <paul.tvete@digia.com> Robin Burchell <robin+qt@viroteck.net> Samuel Rødal <samuel.rodal@digia.com> Yoann Lopes <yoann.lopes@digia.com> The full history of the Qt5 port can be found in refs/old-heads/android, SHA-1 249ca9ca2c7d876b91b31df9434dde47f9065d0d Change-Id: Iff1a7b2dbb707c986f2639e65e39ed8f22430120 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>