aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/ComboBox.qml
Commit message (Collapse)AuthorAgeFilesLines
* Add valueRole API to ComboBoxMitch Curtis2019-04-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the user to conveniently manage data for a role associated with the text role. A common example of this is an enum stored in a backend with nicely formatted text displayed to the user. Before this patch, developers would have to write code like this: ComboBox { textRole: "text" onActivated: backend.modifier = model[currentIndex].value Component.onCompleted: currentIndex = findValue(backend.modifier) model: [ { value: Qt.NoModifier, text: qsTr("No modifier") }, { value: Qt.ShiftModifier, text: qsTr("Shift") }, { value: Qt.ControlModifier, text: qsTr("Control") } ] function findValue(value) { for (var i = 0; i < model.length; ++i) { if (model[i].value === value) return i } return -1 } } With this patch, the code becomes much simpler: ComboBox { textRole: "text" valueRole: "value" onActivated: backend.modifier = currentValue Component.onCompleted: currentIndex = indexOfValue(backend.modifier) model: [ { value: Qt.NoModifier, text: qsTr("No modifier") }, { value: Qt.ShiftModifier, text: qsTr("Shift") }, { value: Qt.ControlModifier, text: qsTr("Control") } ] } [ChangeLog][Controls][ComboBox] Added valueRole, currentValue and indexOfValue(). These allow convenient management of data for a role associated with the text role. Change-Id: I0ed19bd0ba9cf6b044a8113ff1a8782d43065449 Fixes: QTBUG-73491 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Default: fix highlighted ItemDelegate colorsMitch Curtis2019-03-271-1/+2
| | | | | | | | | | | | | | | | - Make ItemDelegate respect highlightedText - Change ItemDelegate's highlightedText palette role from white to almost black (i.e inversion of "light" which is 0xFF090909), so that text shows up against a highlighted background. This also allows easily switching ComboBox to a dark style via palette customization. Fixes: QTBUG-72786 Fixes: QTBUG-74678 Change-Id: I5ad0d86de112f869edf0488d06bb308cdc900363 Reviewed-by: Massimo Callegari <massimocallegari@yahoo.it> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* ComboBox: propagate palette colors to popupMassimo Callegari2019-01-241-1/+4
| | | | | | | | | | This allows a quick alternative to redefining the whole popup item by just acting on palette colors. Fixes: QTBUG-72786 Change-Id: I19e5158e2ad18fa9bf512f02d4bbe74cb06aba35 Reviewed-by: Massimo Callegari <massimocallegari@yahoo.it> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Tie minor version of all imports to Qt's minor versionMitch Curtis2018-11-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | This change makes all Qt Quick Controls 2 imports match the current Qt minor version, which is 12 as of this patch. It also updates all other Qt Quick imports to match. This will also make future version bumps easier as all version numbers in existing code/docs will match. The following commands were used to verify that no old versions remain: for i in `seq 0 11`; do git grep "import QtGraphicalEffects.*1.$i$"; done for i in `seq 0 11`; do git grep "import QtQuick 2.$i$"; done for i in `seq 0 11`; do git grep "import QtQuick.Layouts 1.$i$"; done for i in `seq 0 5`; do git grep "import QtQuick.Controls.*2.$i$"; done for i in `seq 0 11`; do git grep "import QtQuick.Templates 2.$i as T$"; done [ChangeLog] From Qt 5.12 onwards, all import versions in Qt Quick Controls 2 follow the same minor version as Qt's minor version number. For example, the import version for Qt 5.12 is: "import QtQuick.Controls 2.12". Change-Id: I6d87573f20912e041d9c3b7c773cc7bf7b152ec3 Fixes: QTBUG-71095 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Take background insets into accountJ-P Nurmi2018-04-231-2/+2
| | | | | | Task-number: QTBUG-60156 Change-Id: I11f59a67f5a319ac5a4eae9b8ccea5d16a983de2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Align and cleanup implicit size bindingsJ-P Nurmi2018-04-201-2/+2
| | | | | Change-Id: I9f206c3c750fd648ba8761c574e0be94d32e940f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* ComboBox: add implicitIndicatorWidth|HeightJ-P Nurmi2018-04-181-1/+1
| | | | | | | | | | Basically same as 704625a0 for AbstractButton. [ChangeLog][Controls][ComboBox] Added implicitIndicatorWidth and implicitIndicatorHeight properties. Change-Id: I1bc9da1ee7ea99dc04ca4458baa06702a4612628 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Use implicitContentWidth and implicitContentHeightJ-P Nurmi2018-04-131-2/+2
| | | | | | | A simple search'n'replace change without hidden functional changes. Change-Id: I11c76846028665e66dfc6b4359adb33f77cd88ae Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Use implicitBackgroundWidth and implicitBackgroundHeightJ-P Nurmi2018-04-121-2/+2
| | | | | | | A simple search'n'replace change without hidden functional changes. Change-Id: I8e42f8ad30977630005529094eea726efa15a26d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickControl: update baseline offset automaticallyJ-P Nurmi2018-04-041-1/+0
| | | | | | | | | | | | ...unless explicitly defined. All buttons repeated the same binding. [ChangeLog][Controls][Control] Unless explicitly specified, baselineOffset is now automatically updated based on the top padding of the control and the baselineOffset of the contentItem. Styles no longer need to specify the baselineOffset in QML. Change-Id: I9c6f61371fee05a06b5dd31b27d8baf9da0bdeeb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Bump import versionsJ-P Nurmi2018-03-011-3/+3
| | | | | | | | QT_VERSION in qtbase has been updated. All the import numbers that now follow the Qt version can be updated. Change-Id: I4e9698201766b39807737c9e0279d36d4da686e2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Bump QtQuick.Templates import versionsJ-P Nurmi2018-02-231-1/+1
| | | | | | | | | | Unlike the other imports that are waiting for a Qt version bump, QtQuick.Templates contains version 2.5 registrations and is therefore already available. Bump the template imports to make the newly added APIs available, so we can start using horizontal|verticalPadding. Change-Id: I651feeeeadcc9767904ca6f191e844a03b8ddea6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devJ-P Nurmi2018-01-161-1/+0
|\ | | | | | | Change-Id: Ibd1490e8d958361e55ac272dff75c9361239958b
| * Merge remote-tracking branch 'origin/5.9' into 5.10J-P Nurmi2018-01-101-1/+0
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/BusyIndicator.qml src/imports/controls/CheckBox.qml src/imports/controls/CheckDelegate.qml src/imports/controls/ComboBox.qml src/imports/controls/DelayButton.qml src/imports/controls/Dial.qml src/imports/controls/ItemDelegate.qml src/imports/controls/MenuItem.qml src/imports/controls/RadioButton.qml src/imports/controls/RadioDelegate.qml src/imports/controls/SwipeDelegate.qml src/imports/controls/Switch.qml src/imports/controls/SwitchDelegate.qml src/imports/controls/doc/src/qtquickcontrols2-configuration.qdoc src/imports/controls/material/CheckDelegate.qml src/imports/controls/material/ItemDelegate.qml src/imports/controls/material/MenuItem.qml src/imports/controls/material/RadioDelegate.qml src/imports/controls/material/SwipeDelegate.qml src/imports/controls/material/SwitchDelegate.qml src/imports/controls/qquickdefaultbusyindicator.cpp src/imports/controls/qquickdefaultbusyindicator_p.h src/imports/controls/qtquickcontrols2plugin.cpp src/imports/controls/universal/CheckDelegate.qml src/imports/controls/universal/ItemDelegate.qml src/imports/controls/universal/MenuItem.qml src/imports/controls/universal/RadioDelegate.qml src/imports/controls/universal/SwipeDelegate.qml src/imports/controls/universal/SwitchDelegate.qml src/quickcontrols2/quickcontrols2.pri src/quicktemplates2/qquickcontrol.cpp src/quicktemplates2/qquickmenu.cpp src/quicktemplates2/qquickpopup_p.h Change-Id: Ib25c8b4a7fe018b7c0ade9b02bfaaa6980118c15
| | * Default: cleanup unnecessary property assignmentsJ-P Nurmi2017-12-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickText's default horizontal alignment is AlignLeft. There's no need to repeat the default. Furthermore, an empty QQuickText element does not do anything, so the "visible: control.text" binding seems bogus. Change-Id: I9461301606c45a3d889ad49e62356d38fcef6f87 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-091-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/quicktemplates2/qquickabstractbutton_p.h Change-Id: I265cbd2ce51beaf2afef99292c2e2798dadb4ba3
| * | Merge remote-tracking branch 'origin/5.9' into 5.10J-P Nurmi2017-12-151-3/+3
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/quickcontrols2/quickcontrols2.pro src/imports/controls/ComboBox.qml src/quicktemplates2/qquickabstractbutton.cpp src/quicktemplates2/qquickabstractbutton_p.h src/quicktemplates2/qquickapplicationwindow_p.h src/quicktemplates2/qquickcombobox.cpp src/quicktemplates2/qquickcontainer.cpp src/quicktemplates2/qquickcontrol.cpp src/quicktemplates2/qquickcontrol_p.h src/quicktemplates2/qquickcontrol_p_p.h src/quicktemplates2/qquicklabel_p.h src/quicktemplates2/qquicklabel_p_p.h src/quicktemplates2/qquickslider_p.h src/quicktemplates2/qquickspinbox.cpp src/quicktemplates2/qquicktextarea_p.h src/quicktemplates2/qquicktextarea_p_p.h src/quicktemplates2/qquicktextfield_p.h src/quicktemplates2/qquicktextfield_p_p.h tests/auto/auto.pro tests/auto/controls/data/tst_combobox.qml Change-Id: I34cdd5a9794e34e0f38f70353f2a2d04dfc11074
| | * ComboBox: use deferred executionJ-P Nurmi2017-12-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a special case, ComboBox defers the execution of the popup until the popup is either accessed or made visible. This gives a nice boost in creation time benchmarks (20->25, ~25%). The old optimization of setting the delegate model only when the popup is visible is no longer needed. Task-number: QTBUG-50992 Change-Id: Ifeaceb759ab676bb54c6bc09dc97810eade72ca1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-10-051-8/+9
|\| | | | | | | | | | | Change-Id: I59e9e2044184f96f1e66577f6f639d028a825b9e
| * | Default: make ComboBox use palettesJ-P Nurmi2017-09-291-7/+8
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-63369 Change-Id: I68270893bd7b56585095661b1cda21a28893c631 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Default: replace remaining Default.focusColor with palette.highlightJ-P Nurmi2017-09-261-4/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-63369 Change-Id: I37c1f4298fa01b907dfcb28757cd5d7ded182192 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devJ-P Nurmi2017-09-251-4/+3
|\| | | | | | | | | | | Change-Id: If4e13f09012c80c1043fd0ee82bbddab50b1fad5
| * | Default: pick selection & selected text color from the paletteJ-P Nurmi2017-09-221-2/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-63331 Change-Id: I14c2b05bbf7654b298a69cdc72fc4d8756a340d0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
| * | Default: use palette.textJ-P Nurmi2017-09-221-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make editors and delegates use the "text" color role from palettes. This color role is normally used as a foreground color for the "base" background color. Task-number: QTBUG-63331 Change-Id: Ic08463f54c1b04a4eccf791a576ae792f75bf89b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Bump import versionsMitch Curtis2017-09-191-4/+4
|/ / | | | | | | | | | | | | | | This brings all QtQuick 2.x and QtQuick.Controls.x 2.x imports in src/ up to 2.11 and 2.4, respectively. Change-Id: Ica2413b85f5da62a495a5d1b02ea54a9a92c0ecb Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Bump QtQuick 2.9 imports to 2.10Mitch Curtis2017-09-061-1/+1
| | | | | | | | | | Change-Id: I274146911cd8a204fcbf439da9259b0a38c8092e Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | ColorImage: colorize only if neededJ-P Nurmi2017-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickColorImageProvider got replaced by QQuickColorImage in 9fc3659. This seems to have introduced a performance regression in several controls that are now colorizing images even when there's no need to. Various indicator images have the correct default color that matches the normal state. They need to be colorized only when gaining focus or being disabled, for example. The improvement in qmlbench results: - CheckBox: 70 => 84 frames - ComboBox: 88 => 92 frames - Dial: 73 => 77 frames - MenuItem: 73 => 84 frames Change-Id: I9155042542f5069cff201a1730b9dd2a62cffd67 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-06-061-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | Fusion style ComboBox popup height was adjusted according to 90a0d402 to make tst_controls::ComboBox::test_emptyPopupAfterModelCleared pass with the Fusion style. Conflicts: src/imports/controls/ComboBox.qml src/imports/controls/material/ComboBox.qml src/imports/controls/universal/ComboBox.qml Change-Id: I2bad826dc56de9d8952ea2a9ace950c7cf3cbc58
| * ComboBox: fix empty popup being shown after model is clearedMitch Curtis2017-05-311-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, ComboBox's popup is sized vertically in this way: implicitHeight: contentItem.implicitHeight Adding an item to a ComboBox with an empty model and then opening the popup results in the implicitHeight being used in the line below (in QQuickPopupPositioner::reposition()): QRectF rect(p->allowHorizontalMove ? p->x : popupItem->x(), p->allowVerticalMove ? p->y : popupItem->y(), !p->hasWidth && iw > 0 ? iw : w, !p->hasHeight && ih > 0 ? ih : h); An explicit height was never set on the popup, and ih (the implicitHeight of the popupItem) is greater than 0. This is fine. However, when a ComboBox's popup item grows large enough that it has to be resized to fit within the window, its explicit height is set. The problem occurs when the model is then cleared, as the implicit height of the popup item becomes 0. So, while "!p->hasHeight" is still true, "ih > 0" is not, and the explicit height of the popup item is used, which is still the previous "let's fill the entire height of the window" size. To fix this, we bind the height of the popup to a different expression: height: Math.min(contentItem.implicitHeight, control.Window.height - topMargin - bottomMargin) This ensures that the popup has a zero height when the ListView's implicitHeight is zero (i.e the model is empty), and a height that fits within the window in all other cases. Ideally, we'd have a maximumHeight property that controls this, but for 5.9, we have to fix it this way. Task-number: QTBUG-60684 Change-Id: Ied94c79bb7b0e693be34e9c7282d991f6f704770 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickComboBox: update highlighted index on mouse hoverJ-P Nurmi2017-05-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the expected behavior on desktop. NOTE: We can no longer rely on ListView.ApplyRange, because if ListView adjusts the content position while key navigating or scrolling, "wrong" items may get hovered and the highlighted index gets set incorrectly leading to a hovered->highlight->hovered loop. Therefore we force ListView.NoHighlightRange to keep existing styles working without modifications. Change-Id: I57fe3de1230dd6348d01c1785cd09d4fb184d28a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Default: sync the implicit with of ComboBox with SpinBoxJ-P Nurmi2017-05-121-1/+1
| | | | | | | | | | Change-Id: I6a2f8a515520c297cd1f38ec73026c3111cde702 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-05-031-1/+1
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/universal/CheckDelegate.qml src/imports/controls/universal/RadioDelegate.qml src/imports/controls/universal/Switch.qml src/imports/controls/universal/SwitchDelegate.qml Change-Id: I9bca4b8d9ce3f6c5c7589daa0ced7d0353f42efc
| * Use strict comparisonFrederik Schwarzer2017-05-031-1/+1
| | | | | | | | | | Change-Id: I4829480765c96cf7a2ad94a223f9078f70703db4 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Replace QQuickColorImageProvider with QQuickColorImageJ-P Nurmi2017-04-181-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that QQuickImage is exported, we can colorize images using a simple QQuickImage subclass instead of using an image provider. The main issue with QQuickColorImageProvider was that it was based on QGuiApplication::devicePixelRatio(). Now each QQuickColorImage handles its device pixel ratio correctly depending on which screen it is on. Even though we now have to use two bindings (color and source) instead of encoding the color to the source, at the same time we can remove the sourceSize bindings that were added as image provider specific high DPI workarounds (ca87ab8). Task-number: QTBUG-58925 Change-Id: Iba14d2afe3bda540189682ba5be7c58d907d88f7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-04-031-1/+0
|\| | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/ComboBox.qml src/imports/controls/material/ComboBox.qml src/imports/controls/universal/ComboBox.qml Change-Id: Ib900bb6298c32245399f52980b44575b64b7409f
| * ComboBox: cleanup superfluous QtQuick.Window importsJ-P Nurmi2017-03-281-1/+0
| | | | | | | | | | | | | | The Window attached property has not been used since 3bbd90c7. Change-Id: I09e0c620aa83533c98316f50d6bfe3fd292761d4 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Update the import statements 2.2->2.3J-P Nurmi2017-03-011-3/+3
|/ | | | | Change-Id: Ifa2a4cb46f0fc7db75b468a67000c979bf44848c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2017-01-111-1/+1
|\ | | | | | | Change-Id: If797ac58344b20e8de4379343131c097247ba2f2
| * Welcome to 2017J-P Nurmi2017-01-091-1/+1
| | | | | | | | | | Change-Id: If68cff4efacc7dc5719c8b8e61937e85e9076870 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Bump the QtQuick import versions in the stylesJ-P Nurmi2016-12-191-1/+1
| | | | | | | | | | | | | | Qt 5.9 == QtQuick 2.9 Change-Id: I7d4f749645011c4e78bdafe80824b83bd166e7c7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add ComboBox::editableJ-P Nurmi2016-11-241-13/+27
| | | | | | | | | | | | | | | | [ChangeLog][Controls][ComboBox] Added editable property Task-number: QTBUG-53876 Change-Id: I1cb035b3bb4c63f7935f08298814005fad51b5eb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Update import versions in src/import/controlsJ-P Nurmi2016-11-231-2/+2
| | | | | | | | | | Change-Id: Ic6cd0450a13b965578a0ab8f590270f4e52ffca6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | ComboBox: add more padding to the indicatorsJ-P Nurmi2016-11-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the upcoming editable comboboxes, only the area covered by the indicator acts as a pressable button. The rest is editor area, which gains focus on press, but doesn't trigger the popup. The button must be large enough to be usable on touch. - Default: the width has been increased from 28 to 40 - Material: the width has been increased from 24 to 40 - Universal: the width is already 32 (which matches with SpinBox) Task-number: QTBUG-53876 Change-Id: I2312e92947826b03fa28da2e9e9d844325fc7896 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.8' into dev" into refs/staging/devJ-P Nurmi2016-11-111-10/+0
|\ \
| * | Merge remote-tracking branch 'origin/5.8' into devJ-P Nurmi2016-11-031-10/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/BusyIndicator.qml src/imports/controls/ProgressBar.qml src/quicktemplates2/qquickpopup.cpp src/quicktemplates2/qquickpopup_p_p.h src/quicktemplates2/qquickstackview.cpp Change-Id: I9a1028a991de9fc3e26d3f973106301e9ada631c
| | * Merge remote-tracking branch 'origin/5.7' into 5.8J-P Nurmi2016-11-021-10/+0
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/Drawer.qml src/imports/controls/Frame.qml src/imports/controls/GroupBox.qml src/imports/controls/Page.qml src/imports/controls/Pane.qml src/imports/controls/ToolBar.qml src/imports/controls/Tumbler.qml src/quicktemplates2/qquickapplicationwindow.cpp src/quicktemplates2/qquickpopup.cpp tests/auto/accessibility/data/busyindicator.qml tests/auto/accessibility/data/button.qml tests/auto/accessibility/data/checkbox.qml tests/auto/accessibility/data/control.qml tests/auto/accessibility/data/dial.qml tests/auto/accessibility/data/label.qml tests/auto/accessibility/data/menu.qml tests/auto/accessibility/data/pageindicator.qml tests/auto/accessibility/data/popup.qml tests/auto/accessibility/data/progressbar.qml tests/auto/accessibility/data/radiobutton.qml tests/auto/accessibility/data/rangeslider.qml tests/auto/accessibility/data/scrollbar.qml tests/auto/accessibility/data/scrollindicator.qml tests/auto/accessibility/data/slider.qml tests/auto/accessibility/data/spinbox.qml tests/auto/accessibility/data/switch.qml tests/auto/accessibility/data/tabbar.qml tests/auto/accessibility/data/tabbutton.qml tests/auto/accessibility/data/textarea.qml tests/auto/accessibility/data/textfield.qml tests/auto/accessibility/data/toolbar.qml tests/auto/accessibility/data/toolbutton.qml tests/auto/accessibility/tst_accessibility.cpp Change-Id: Ibc3f592162e97bef9147b35da8c9a79e73a907e6
| | | * Get rid of the remaining qdoc markers in the Default styleJ-P Nurmi2016-11-011-10/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: Id90911cbac46d2d68284abca08dc7165ace71113 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | | QQuickComboBox: ensure a parent for delegatesJ-P Nurmi2016-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to replace the "width: control.popup.width" expressions with "width: parent.width" to avoid explicit references to the popup. Next, we are ready to defer the execution of the popup until it becomes visible or is accessed by the user. Without the parent item fix, ComboBox throws an error: ComboBox.qml:58: TypeError: Cannot read property of null ...and tst_snippets fails => tested implicitly. :) Change-Id: Ib9cfcf7558addbe3403d835d3ae11b6c11c2f0cb Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | | | Add QQuickComboBox::downJ-P Nurmi2016-11-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to replace all "control.pressed || popup.visible" expressions with "control.down", and takes us one step closer to deferred popop execution as mentioned in the previous commit. In order to be able to defer the popup execution, we must get rid of such explicit references to the popup. Change-Id: Ifa7ecf8201912d3ec1bca232e2cf600e3886715e Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | | Default: prepare ComboBox for deferred popup executionJ-P Nurmi2016-11-041-4/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The plan is to defer the QML execution of the whole ComboBox popup until the popup is made visible or accessed by the user. This can slice off roughly half of the creation time. The QML engine refuses to defer the execution if there are any child objects that have an identifier, because those child objects could be referenced from outside the deferred/missing parent object. For this reason, we must kill the unnecessary ID. This change alone does not defer anything, but is a prerequisite for enabling deferred execution later. Flickable overrides Item's default property to flickableData, which ensures that children get re-parented to Flickable::contentItem, but ListView overrides the default property back to Item::data, so the parent assignment is not necessary at all. The rest can be done by referencing parent instead of the ID. The other styles do not have ID's within the popup. Change-Id: Iac58bae7e99252fb03bed2228153483300901720 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>