aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols/ios
Commit message (Collapse)AuthorAgeFilesLines
* QuickControls: Fix linkage of controls stylesUlf Hermann3 days1-0/+1
| | | | | | | | | | | | They need to link the styles they import so that the dependencies are clarified (and also they'll in fact need the linkage if we ever compile them in direct mode). Pick-to: 6.10 Task-number: QTBUG-137440 Change-Id: I6edaba4390dce4f9cc2b95586f28331192cc01ff Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add iOS style for SearchFieldDilek Akcay5 days8-0/+111
| | | | | | | Task-number: QTBUG-137318 Pick-to: 6.10 Change-Id: Iead7b9ad0bf22c96d94ab70795fed854f613f6d7 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Fix QQuickIconLabel action icon color being overridden by style defaultMitch Curtis14 days10-22/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Styles need a way to set the default icon color for controls. Until now, that was done like this: icon.color: "tomato" contentItem: IconLabel { icon: control.icon } This breaks the use case of e.g. an Action that sets its own icon.color, because the icon property of the control always takes precedence (see 146bc9517c56feda4eba34282d3cc53bd47b6267). This patch adds a defaultIconColor property to IconLabel, which allows styles to specify a color without overriding any potential action's icon: contentItem: IconLabel { icon: control.icon defaultIconColor: "tomato } If icon.color was explicitly set, it is used instead. This does mean that overriding the contentItem will result in the icon color being lost, but that is already the case for style customizations in general. All controls that set icon.color and using IconLabel to display their icon are affected and are therefore adapted: Button, CheckDelegate, DelayButton, ItemDelegate, MenuBarItem, MenuItem, RadioDelegate, RoundButton, SwipeDelegate, SwitchDelegate, TabButton, ToolButton. Add FlowPane to the shared folder of the baseline test and use it in the tests that we touch. This fixes two issues: - Using Pane as the background fixes text being invisible for some styles. - Using Flow provides the most space-efficient layouting of items now that we have more than would fit in the old layout. Task-number: QTBUG-87459 Change-Id: I455ce7202a46b7cfa7545650574e48ad72796675 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Context menus: rename control to editorMitch Curtis2025-11-123-8/+8
| | | | | | | | | | | | | | This better reflects what it is and avoids naming conflicts with the controls themselves. Pick down to 6.9 (where QQuickContextMenu was introduced) to avoid future cherry-pick conflicts. Task-number: QTBUG-133556 Task-number: QTBUG-134903 Pick-to: 6.9 6.10 Change-Id: If0af26c5f16ee56cc909fcc66d1421109786343e Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Set explicit default security level of all files with default securityJan Arve Sæther2025-09-1763-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | The files (folders) already processed are listed in each issue in epic QTBUG-134547 These files were processed half a year ago. In order to make it clear that all of these files are already processed, mark them with an explicit default security header. For the record, this was generated with this script: find -E . -regex ".*\.(cpp|h|hpp|mm|qml|js)$" | xargs python3 ~/bin/add-cra-header.py in the folders listed in each subtask of QTBUG-134547 (add-cra-header.py only exist at my desktop, but it simply adds the default security header if it doesn't already have any existing security header) QUIP: 23 Fixes: QTBUG-134547 Pick-to: 6.10 6.9 6.8 Change-Id: Ieb8c78ea6561fdbdd27c7b13185ece853eedf80f Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Quick theme (iOS): include UITraitCollection headerTimur Pocheptsov2025-08-251-0/+1
| | | | | | | | | Include it explicitly, not relying on implicit inclusion (which gave me a compilation error about incomplete forward-declared-only class). Pick-to: 6.10 6.9 Change-Id: Ie569d00da2a26e72e556d830ecb8ba1b4a13ffb5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* VerticalHeaderViewDelegate: set 6.10 with set_source_files_propertiesMohammadHossein Qanbari2025-08-081-0/+3
| | | | | | | | | | | | Found in 6.10 QML API review amend 9601b74dabed53e93a7a5144d4c1fadb7876db18 Task-number: QTBUG-137478 Pick-to: 6.10 Change-Id: I3a26307f304277dfd259da3736d1069a43c0cd03 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* HorizontalHeaderViewDelegate: set 6.10 with set_source_files_propertiesMohammadHossein Qanbari2025-08-081-0/+3
| | | | | | | | | | | | Found in 6.10 QML API review amend 9601b74dabed53e93a7a5144d4c1fadb7876db18 Task-number: QTBUG-137478 Pick-to: 6.10 Change-Id: I11fcf5317add4c07e211cff70d3b2e86bd470000 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* iOS Style: Resolve UIColor-s with appropriate trait collectionDoris Verria2025-07-091-12/+18
| | | | | | | | | | | | | | | | | | | | | QQuickIOSSTheme::intialize() is called when first setting up the theme (and its palette) for the iOS style, as well as whenever the color scheme gets updated. This is a function that is called on the QML thread by the style plugin, as the QQuickTheme also lives in the QML thread. In this function we resolve the palette colors through the dynamic UIColor-s, which update based on the currentTraitCollection. However, it is not safe to rely on the value of the currentTraitCollection property outside the main thread, or even in functions other than the documented methods where UIKit sets the property as it may be invalid. To fix, construct a trait collection based on the current color scheme and resolve the UIColor against it. Fixes: QTBUG-138200 Pick-to: 6.8 6.9 6.10 Change-Id: I404428844bc2e3b35be5746746d8d21bde3b3832 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Enable expanded client area by default in iOS styleTor Arne Vestbø2025-06-022-0/+14
| | | | | | | | | [ChangeLog][iOS] The iOS style now enables expanded client areas by default. To override this, set the ApplicationWindow's flags explicitly to e.g. Qt.Window. Change-Id: I333e36d2959b2ff8029cc685ec2b5610d11e6069 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* iOS Style: Hide private propertiesDoris Verria2025-03-204-41/+46
| | | | | | | | | The style declares many dynamic properties that are meant to be private and not available eg: from code completion. Use __ to hide them. Pick-to: 6.9 6.8 Change-Id: Idf132a71cacad6ddff951bc378101f1d094112f5 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* iOS Style: Dial: Adjust handle positioning and refactor codeDoris Verria2025-03-071-26/+29
| | | | | | | | | | | | | | | - Don't explicitly set background positioning as this is automatically handled by the control to account for control insets. - Adjust radius of handle transform to be the same as the radius of the path angle arc - Protect in case of null handle or background - Simplify and refactor code Fixes: QTBUG-134001 Fixes: QTBUG-129424 Pick-to: 6.8 6.9 6.5 Change-Id: Ie54d2fd76e85e8c59e96110f4bc8b9e45623cea2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QuickControls: Add vertical and horizontal header view delegatesMohammadHossein Qanbari2025-03-065-42/+62
| | | | | | | | | | | | | | | | | | | | | | Implement QQuickHeaderViewDelegate as the base class for header view delegates, introducing 'headerView' and 'orientation' properties. Separate previous delegate settings into HorizontalHeaderViewDelegate and VerticalHeaderViewDelegate components for Basic, Fusion, and Imagine styles. This change improves the modularity and reusability of header view delegates across different styles. It also allows for more consistent behavior and easier customization of header views. A test suite has been added to verify default property settings and ensure the new components work without warnings. [ChangeLog][QtQuickControls][HeaderView] Add dedicated delegate components for vertical and horizontal header views. Task-number: QTBUG-70326 Change-Id: I8831e77f6909bdae13c3a7262145ab156f63a59a Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* ContextMenu: add to text editing controlsMitch Curtis2025-02-289-0/+90
| | | | | | | | | | | [ChangeLog][Controls] TextField and TextArea now provide a ContextMenu by default. If you already have a custom context menu for these types, ContextMenu will not open its own on e.g. right click. Fixes: QTBUG-35598 Pick-to: 6.9 Change-Id: I0897a7ba5e1b5b6d5425c80cbc6f2550c904605b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Take safe areas into account for Qt Quick Controls DrawerTor Arne Vestbø2024-12-191-0/+5
| | | | | | | | | | | When the drawer is pulled in from the side we want it keep its content away from the non-safe areas, while still drawing the background edge to edge. Pick-to: 6.9 Change-Id: Iff145df719f5746cbdb1d3c13494967c5993c6e6 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Compute implicitSize based on implicitContentSize in Popup and subclassesTor Arne Vestbø2024-12-195-10/+10
| | | | | | | | | | | | Popup uses a Pane as its popup item, so now that Pane reflects its explicitly set contentWidth/Height through implicitContentWidth/Height we can use the same expression for implicit width/height as regular controls, which hooks us into the safe area binding loop detection as well. Pick-to: 6.9 Change-Id: I3709978dae0271d7daf44fc6988f09f03df15b1f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Take safe areas into account for Qt Quick Controls ToolBar and MenuBarTor Arne Vestbø2024-12-192-0/+10
| | | | | | | | | | | | | | | A ToolBar and MenuBar is commonly placed in the header/footer/menuBar of an ApplicationWindow, where we don't do any automatic padding to account for the safe area. By adding the safe area margins as padding to the controls, we ensure that the control's background flows into the non-safe area, while the content item of the control (the toolbar or menu bar content) is kept within the safe area. Pick-to: 6.9 Change-Id: I5fad7394beaa01ae8ed142e4e2e42c5bffaab9fa Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Compute implicitSize based on implicitContentSize in Container and subclassesTor Arne Vestbø2024-12-183-6/+6
| | | | | | | | | | | | Now that Container reflects its explicitly set contentWidth/Height through implicitContentWidth/Height we can use the same expression for implicit width/height as regular controls, which hooks us into the safe area binding loop detection as well. Pick-to: 6.9 Change-Id: If0a710a5eb4a35c91d02d7170b5e03e457e6bc12 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Compute implicitSize based on implicitContentSize in Pane and subclassesTor Arne Vestbø2024-12-183-6/+6
| | | | | | | | | | | Now that Pane reflects its explicitly set contentWidth/Height through implicitContentWidth/Height we can use the same expression for implicit width/height as regular controls, which hooks us into the safe area binding loop detection as well. Pick-to: 6.9 Change-Id: Ie31b740a1e405341fc5f0ed9673b213292e4afd9 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Controls: replace Qt.styleHints with Application.styleHintsMitch Curtis2024-06-2134-103/+103
| | | | | | | | | | | | | | As mentioned in QTBUG-95540, using the latter provides better type information for tooling, and avoids the "this property only exists on the object if Quick has been imported" issue. Replace QtQml import in Fluent style's Config.qml with QtQuick to provide access to the Application type. Fixes: QTBUG-126512 Pick-to: 6.5 6.7 6.8 Change-Id: I4aac22e54f3b522f74acafd467ce22139352c9dd Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake: Move add_subdirectory(impl) calls for styles to the frontAlexandru Croitor2024-05-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Otherwise in a static build on macOS we get the warnings below, which happen when a target references a dependency that has not been created yet. CMake Warning at qtbase/cmake/QtFindPackageHelpers.cmake:551 (message): Could not find target Qt6::QuickControls2MacOSStyleImpl to query its package name. Defaulting to package name Qt6QuickControls2MacOSStyleImpl. Consider re-arranging the project structure to ensure the target exists by this point. Call Stack (most recent call first): cmake/QtFindPackageHelpers.cmake:601 (qt_internal_get_package_name_of_target) cmake/QtTargetHelpers.cmake:240 (qt_register_target_dependencies) cmake/QtPluginHelpers.cmake:285 (qt_internal_extend_target) src/qml/Qt6QmlBuildInternals.cmake:216 (qt_internal_add_plugin) src/quickcontrols/macos/CMakeLists.txt:42 (qt_internal_add_qml_module) Pick-to: 6.7 Change-Id: I8759f21ee463765486908e49e996004f3b3e618c Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* iOS: fix warnings in Slider in case of null handleVladimir Belyavsky2024-04-121-1/+3
| | | | | | | | | | Fix warnings, such as "TypeError: Cannot read property 'width' of null" in case when the handle is null Fixes: QTBUG-124290 Pick-to: 6.7 Change-Id: I7916e7e82e4b49e1e13fc484c81e451d384aa812 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* iOS: fix warnings in RangeSlider in case of null handleVladimir Belyavsky2024-04-111-2/+4
| | | | | | | | | | Fix warnings, such as "TypeError: Cannot read property 'width' of null" in case when the handle is null Fixes: QTBUG-124275 Pick-to: 6.7 Change-Id: I40aebcfc57c959bc48c7bec6a362fc060f428b1b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickIOSTheme: Replace macOS/iOS condition with Q_OS_APPLETor Arne Vestbø2024-03-201-1/+1
| | | | | | Change-Id: I972dfc4c0dff8c204b475e513ca42936030cb639 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Use document imports of QtQuick.Controls.impl, not qmldir-importsMitch Curtis2024-03-152-0/+2
| | | | | | | | | | | | | | | | qmldir-imports are transitive, meaning that we were exposing all types from QtQuick.Controls.impl each time QtQuick.Controls was imported. This patch removes these transitive qmldir-imports by moving the foreign type declarations for QQuickOverlay and QQuickSplitHandleAttached into the Basic style (which is always imported by every style as a final fallback). Task-number: QTBUG-104768 Task-number: QTBUG-123103 Change-Id: Ia0ff778a88a38bb872730e055631dc924456d7be Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QuickControls: Link the impl libraries into the base modulesUlf Hermann2024-02-022-3/+3
| | | | | | | | | | | | | | | This forces the build system to build them before, making the qmltypes files available to the base modules' build steps. The linker might even actually link the libraries and avoid the excessivle plugin loading that way. To encourage that, also drop the pointless NO_PLUGIN_OPTIONAL. Pick-to: 6.7 6.6 Task-number: QTBUG-121643 Change-Id: Ifd9082a5927deac8c9d67edf4104338ddaa35aa5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Menu: fix contentItem's interactiveMohammadHossein Qanbari2023-11-161-2/+2
| | | | | | | | | | | | | | The interactive property of the Menu's contentItem depends on its Menu (control) when Window.window is valid. In the case of a fixed-height menu, even if the contentItem's height is smaller than Window.window.height, the interactive property of the contentItem would be false if the menu's height is smaller than the window's height and also smaller than its contentItem's height. Fixes: QTBUG-93856 Pick-to: 6.6 6.5 6.2 Change-Id: If95080250c3953d4293a9e1dbcc6225d21ee034f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* iOS Style: Use separate elements for the track based on the indeterminate stateDoris Verria2023-10-041-4/+19
| | | | | | | | | | | | | | | | When the ProgressBar is indeterminate a NumberAnimation runs and animates the x value of the track. This presents a problem when the ProgressBar changes from indeterminate to determinate, causing the x value of the determinate track to start at the last location the animation stopped. Since we don't want to use any JS expressions in our templates, fix this by having a separate track (progress) image for the indeterminate state and have that be the animation target, instead of reusing the same element for both states. Pick-to: 6.5 6.6 Change-Id: I85b338b59ea662c2d6e0afff8fbfeeb381beab19 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* TreeViewDelegate: don't use deprecated APIRichard Moe Gustavsen2023-08-151-3/+3
| | | | | | | | | | | | | | | | | TableView.modelIndex(column, row) was deprecated in Qt 6.4 (291d3ed0da) in favor of TableView.index(row, column). But the TreeViewDelegates are still using the deprecated API for the edit delegates (added in Qt 6.5, 21bf976a41), which will cause warning messages to be printed. This patch will rewrite the offending lines in the TreeViewDelegates to use TableView.index(row, column) instead. Pick-to: 6.6 6.5 Task-number: QTBUG-109542 Change-Id: I41c0c18934493611663b759c8eb3b4fed2510cc6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* iOS Style: Minor fixes to the control's palettesDoris Verria2023-06-2716-60/+49
| | | | | | | | | | | | | | - Use text role instead of windowText for the control text - Don't set a different color for the disabled controls in the QML templates. Instead, set the appropriate color for the disabled group when initializing the palette Task-number: QTBUG-114571 Pick-to: 6.5 6.6 Change-Id: Ifb6c5d06dbbc83fa47fd759c5c49a077a1b3a67a Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Don't include qcoregraphics_p.h on non-apple platformsOliver Eftevaag2023-06-161-0/+2
| | | | | | | | | | | | | | | | The qcoregraphics_p.h header is only included by the build system if qtbase is built for an apple platform. This means that people that want to use the iOS style on non-apple platforms (which isn't officially supported), have to comment out the line that includes this header. There is no downside to using #ifdefs here, and it makes it more convenient for non-apple users to hack our ways to into using the iOS style. Change-Id: I2ddd1cc2bfacea303da14d4477de7952af836142 Reviewed-by: Doris Verria <doris.verria@qt.io>
* Make properties in Qt Quick Controls FINALOliver Eftevaag2023-06-021-1/+1
| | | | | | | | | | | | | | | Without setting the FINAL flag, properties can be shadowed by users. This can both cause confusion for non-experienced users, and it causes issues with qmlsc. [ChangeLog][Important Behavior Changes][Controls][SplitView] The resizing property is now FINAL, meaning that it can no longer be shadowed by user declared properties. Task-number: QTBUG-108739 Change-Id: Ie5a223d28a135ff55b3f8861f0ac257ba5bbe0eb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* BusyIndicator: stop animation when not visibleMitch Curtis2023-05-011-1/+1
| | | | | | | | | | | | | | | | | This prevents unnecessary CPU and GPU usage with the iOS and Fusion styles. It's not currently possible to test this without adding objectNames to each animation, which relies on us remembering to do so. Even then, not all styles use QML animations in their BusyIndicator implementations - some use e.g. QQuickAnimatedNode). Also, there is no QML API to find QObject children of a given type (animations) - I've created QTBUG-113264 to propose such an API. Task-number: QTBUG-50161 Pick-to: 6.5 Change-Id: Ieafb5f2f1a9703d4dc26e4f934dbcc86e2709445 Reviewed-by: Doris Verria <doris.verria@qt.io>
* Add startAngle and endAngle properties to DialMatthias Rauter2023-04-281-2/+2
| | | | | | | | | | | | | | | | | | | | The start and end angle of the Dial element were hard coded before. Now they can be set by the application developer using the new properties startAngle and endAngle. The angle property is set to an angle between those values, even if it is >360 or <0. The setter functions make sure that the relation between angle and value is unique. Further, values for start and endAngle are limited to [-360, 720]. Wrap works as before. Tests have been updated. All styles have been updated to the new functionality except the Imagine style (see task QTBUG-112387). [ChangeLog][Controls] The start and end angle of the dial element are made customizabe. Fixes: QTBUG-57822 Change-Id: I941837008d4f9b4dde1979e91db5adb624bcbe41 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Controls: Remove remaining isArray() hacks and improve delegatesUlf Hermann2023-04-263-11/+24
| | | | | | | | | | | | The text role data can be retrieved with model[textRole] in all cases these days. The delegate components should be bound and the model and index properties should be required. Also adapt the documentation to not explain the isArray() hack anymore. Task-number: QTBUG-112291 Change-Id: Ife323b4de1b081168bb02e2564a67203741818e0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* iOS Style: Add ToolSeparator controlDoris Verria2023-02-212-0/+25
| | | | | | Pick-to: 6.5 Change-Id: Ib207fe42594b3ca78f44e3d5d391fd1e5442f373 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* iOS Style: Update uses of renamed Qt.styleHints.colorScheme propertyDoris Verria2023-02-165-13/+13
| | | | | | | | | | | | | Property was renamed in 32749c913b32e89e2027227233794f2296166cc6. Update some uses of old name. Unblacklist tests that were blacklisted as a result of this. Fixes: QTBUG-111199 Fixes: QTBUG-111210 Pick-to: 6.5 Change-Id: I868382dec8951abb5e708805795b31f6b2144ff1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* iOS Style: Add ToolTip controlDoris Verria2023-02-149-0/+56
| | | | | | Pick-to: 6.5 Change-Id: I0b8d46340166485aac9bb83b6ec78b5d65cbc2cb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Adapt to Qt::Appearance to Qt::ColorScheme renameTor Arne Vestbø2023-02-1329-88/+88
| | | | | | Pick-to: 6.5 Change-Id: I5830af713e024fa9a7086e8c56e6808ff8593394 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* iOS Style: Add SelectionRectangle controlDoris Verria2023-02-108-0/+31
| | | | | | | Pick-to: 6.5 Change-Id: I7b76f9756305ecd4a4071765ab47b4a0384bc7c1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* iOS Style: Add DelayButton controlDoris Verria2023-02-102-0/+59
| | | | | | Pick-to: 6.5 Change-Id: I27c1fe30b7533d7dbf27c6501a17c26524fa4e2c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* iOS Style: Add Dialog and DialogButtonBoxDoris Verria2023-02-0947-0/+220
| | | | | | Pick-to: 6.5 Change-Id: I6899b1438af43a822f3f212a6fd928200c893ee3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* iOS: add horizontal and vertical headerview controlsRichard Moe Gustavsen2023-01-193-0/+74
| | | | | | | | | | | | | | | | The current implementation would pick up the headerview controls from the Basic style (fallback). The problem is that those controls are hard-coded to always be in Light mode. This patch will therefore add HorizontalHeaderView.qml and VerticalHeaderView.qml to the iOS style, and use the palette to ensure that the headers looks correct, also in Dark mode. Pick-to: 6.5 Change-Id: Ic91234bae09bc73b9c1cbd2fc439d2faa23a9b72 Reviewed-by: Doris Verria <doris.verria@qt.io>
* iOS style: Add ComboBoxDoris Verria2023-01-0913-11/+152
| | | | | | | Pick-to: 6.5 Change-Id: Ic688a2929bb7b38788b06468a5abccba8cd1f78c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Spinbox: clip contentItemRichard Moe Gustavsen2022-12-191-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the text in a SpinBox is larger than its text field, then the text is drawn outside of the SpinBox covering the spinbox buttons. This patch will set a clip on the SpinBoxes, to ensure that the text is not drawn outside the bounds of the content item. The SpinBox implementation differs a bit from one style to the next, which means that some styles will only need to set a clip, while others will need a bit more change. Especially the Basic style will need to expand the size of the content item to make room for the focus rect (which the other styles don't have, or implement differently). There are also two versions of the SpinBox; One that has the up and down indicators placed on each side of the content item, and another that has them collected on only one side. It seems like the latter implementations has done a copy/paste of the padding from the former, and thereby has set a too large padding. This has also been fixed, as it's related to the clipping bug. Fixes: QTBUG-98355 Pick-to: 6.5 6.4 Change-Id: I2c1ce6d477cf809e2187fd80aecbc9edeb8e0c2d Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickTreeViewDelegate: implement edit delegatesRichard Moe Gustavsen2022-12-081-0/+35
| | | | | | | | | | | | This patch will implement a default edit delegate for the TreeViewDelegates, for all our styles. [ChangeLog][Controls] TreeViewDelegate got support for editing nodes in the tree. Change-Id: Iec5936e4439770586837daa3b8045482b75a15f2 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* iOS Style: Add BusyIndicator controlDoris Verria2022-12-0250-0/+42
| | | | | Change-Id: I18cc7645cc49237475886dba9a73c686470084f6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Remove "2" from Qt Quick Controls directoriesMitch Curtis2022-12-01249-0/+2516
Qt Quick Controls 2 was named that way because it was a follow-up to Qt Quick Controls 1.x. Now that Qt Quick Controls 1 is no longer supported, we don't need to have "2" in the name. Work on this was already started for the documentation in 1abdfe5d5a052f2298b7bf657513dfa7e0c66a56. By doing this renaming a few weeks before feature freeze, it won't affect the release but still results in as little time possible spent manually fixing conflicts in cherry-picks from non-LTS releases as a result of the renaming. This patch does the following: - Renames directories. - Adapts CMakeLists.txt and other files to account for the new paths. A follow-up patch will handle documentation. It does not touch library names or other user-facing stuff, as that will have to be done in Qt 7. Task-number: QTBUG-95413 Change-Id: I170d8db19033ee71e495ff0c5c1a517a41ed7634 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>