aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols/fluentwinui3/impl
Commit message (Collapse)AuthorAgeFilesLines
* Context menus: rename control to editorMitch Curtis2025-11-121-6/+6
| | | | | | | | | | | | | | 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>
* Change PopupType of textEditingContextMenu for Popup.Item on WaylandFrederic Lefebvre2025-10-311-1/+1
| | | | | | | | | | | | | | | | Use Popup.Item popupType when test is run on Wayland. Remove the need for a transient parent on Wayland that was causing several tests of tst_QQuickTextField to consistently fail. Fix the following failing tests on Ubuntu 24.04 wayland tst_QQuickTextField::contextMenuCopy, contextMenuCut, contextMenuDelete, contextMenuPaste, contextMenySelectAll, releaseAfterPressAndHold, touchscreenDoesNotSelect. Pick-to: 6.10 Change-Id: I5a411dae63ae36361ed83055a1eb4c87de17acae Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Set explicit default security level of all files with default securityJan Arve Sæther2025-09-1715-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* FluentWinUI3: Improve RadioButton when using high contrast themesOliver Eftevaag2025-08-281-4/+28
| | | | | | | | | | | | | | | | | | | The RadioButton's indicator would not use the same colors as the WinUI3 RadioButton for users that had enabled a high contrast theme. The indicator background is normally a ColorImage. But for high contrast themes we prefer to keep things simple, and draw simple colors on top of the image. It is possible to change the binding on the ColorImage to use desired high contrast theme colors from the palette, but doing so will slightly alter the colors used, due to blending with the pixel values from the underlying png image used by ColorImage. Thus we put a rectangle on top, so that high contrast themes become independent from it. Task-number: QTBUG-129088 Pick-to: 6.10 Change-Id: I57ef286584f7df2c26bacbc0bc9f3bcb7a1a64cd Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
* FluentWinUI3: Improve CheckBox when using high contrast themesOliver Eftevaag2025-08-281-39/+82
| | | | | | | | | | | | | | | | | | | | | | | | The CheckBox indicator uses a ColorImage to blend the pixels of a png image file together with a QColor, in order to determine the colors that the indicator should use in any given state (e.g, checked, unchecked, hovered, etc). Unfortunately, blending the ColorImage with a color has its limitations when enabling a high contrast theme on Windows 11, such as when the checkbox is in the pressed and unchecked state, where the color image background will typically be mostly black, and this make the color bound on the color property much darker, or in this case, completely black. To get around this issue, we now have a Rectangle on top of the ColorImage, which is normally transparent, except for when high contrast is enabled. In that case, it will be rendered on top, and use the exact desired colors. Pick-to: 6.10 Task-number: QTBUG-129088 Change-Id: Ic65218d3759495611772f010c86a85109faaaadd Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
* FluentWinUI3: Give MenuBarItem an outline when using high contrast themeOliver Eftevaag2025-06-271-2/+2
| | | | | | | | | | | | Items in the MenuBar has an outline with a similar color to the text inside the MenuBarItem, when using a high contrast theme on Windows 11. Make the FluentWinUI3 styled MenuBarItems look similar. Task-number: QTBUG-129088 Pick-to: 6.10 Change-Id: I5508a2e387d3d3662bff8f2433383cda486dc65f Reviewed-by: Doris Verria <doris.verria@qt.io>
* FluentWinUI3: Improve the Switch when using high contrast themesOliver Eftevaag2025-06-161-12/+23
| | | | | | | | | | | | | The Switch didn't use the correct colors, for users that were using high contrast themes on Windows 11. Fix it by using appropriate palette colors when the contrast preference setting is set to HighContrast. Task-number: QTBUG-129088 Pick-to: 6.10 Change-Id: Ic751d43c26edc52b1e791ddbede2ae2fca029857 Reviewed-by: Doris Verria <doris.verria@qt.io>
* FluentWinUI3 style: Support high contrast theme for ButtonDoris Verria2025-06-151-17/+31
| | | | | | | | | | | | | | | | | | On Windows platforms there are several high contrast themes. These themes follow a different and much lighter palette than the normal FluentWinUI3 one. They mainly use a combination of 4 colors, as gotten from the system: COLOR_BTNFACE, COLOR_BTNTEXT, COLOR_HIGHLIGHT, and COLOR_HIGHLIGHTTEXT. To support these, when detecting that a high contrast theme is in use, don't initialize and resolve the style palette but just use the platorm theme's palette as that is initialized with the correct system colors. So far only add support for Button. Task-number: QTBUG-129088 Pick-to: 6.10 Change-Id: I4b241c2e0a89c6d7f151a31a21d600b9e6a7d7b9 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Menu: adjust the insets according to the drop shadowRichard Moe Gustavsen2025-03-201-5/+6
| | | | | | | | | | | | | | | | | | | As it stood, the background delegate of a Menu would draw its drop shadow on the outside of the delegate, and therefore also on the outside of the Menu as a whole. This works fine for Popup.Item, since an Item is allowed to draw out-of-bounds. But for Popup.Window, this would fail. Instead, the correct solution in this case is to draw the shadow _inside_ the delegate, and instead make the whole menu bigger by adjusting the insets instead, to take the shadow into account. In order to be able to do this, we also need to teach StyleImage to optionally draw the shadow inside the bounds. Pick-to: 6.9 6.8 Change-Id: I306e511abca44f4f86ee18a16740f679cf987ac1 Reviewed-by: Doris Verria <doris.verria@qt.io>
* ContextMenu: add to text editing controlsMitch Curtis2025-02-287-0/+82
| | | | | | | | | | | [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>
* FluentWinUI3: Move StyleImage to private impl moduleDoris Verria2025-01-162-0/+55
| | | | | | | | | | | | | | Follow the approach with FocusFrame and move StyleImage.qml to the private FluentWinUI3.impl module instead. Add deprecation warnings to the original file. [ChangeLog][QtQuick][Controls][FluentWinUI3] StyleImage.qml is deprecated in the module's public QML API and moved to the private impl module instead. Pick-to: 6.9 Change-Id: I2a536591abb2172a1f7d7a052e88f0c2f58cd481 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* FluentWinUI3: Move FocusFrame type to private impl moduleDoris Verria2025-01-155-0/+201
| | | | | | | | | | | | | | | FocusFrame.qml was included in the FluentWinUI3 public module imports, despite not providing any documentation. This component is an implementation detail and should not be part of public QML API. Add deprecation warnings in the original file and move it to the private impl module instead. [ChangeLog][QtQuick][Controls][FluentWinUI3] FocusFrame.qml is deprecated in the module's public QML API and moved to the private impl module instead. Pick-to: 6.9 Change-Id: I74c8c9a03ccc1f7b33d6fb814ca1faeca57b0545 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* FluentWinUI3: Support button and accent palette roles for Button/ToolButtonDoris Verria2024-08-302-0/+92
| | | | | | | | | | | | | We want to be able to support custom palette.accent and palette.button colors for the Button/ToolButton. To do that, use QML instead of images for the button background and factor it out in reusable component ButtonBackground. Remove previously generated images for the button/toolbutton backgorunds but keep using geometry information generated from the stylegenerator. Pick-to: 6.8 Change-Id: I6f195b32142d06c96833ac3d9184da9f8bbd22ba Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* FluentWinUI3 Style: Minor fix for checkbox checkmark indicatorDoris Verria2024-08-231-5/+5
| | | | | | | | | Checkmark indicator was slightly different as pointed out by baseline testing. Pick-to: 6.8 Change-Id: I5984a2de7853c3c8008d8e7215106df8f2f12a6f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* FluentWinUI3 Style: Support accent color for CheckBox/RadioButtonDoris Verria2024-08-214-7/+124
| | | | | | | | | | | Use ColorImage and primitive QML types for indicators in order to support accent color customization for CheckBox, CheckDelegate, RadioButton, and RadioDelegate. As a drive-by, fix indicator colors for SwitchIndicator. Pick-to: 6.8 Change-Id: Ic1806b5c8cd5c51d2a92f9b30483a117c06e162f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* FluentWinUI3 Style: Add Check/Radio/SwitchDelegateDoris Verria2024-08-092-0/+84
| | | | | | | | | | | | | | Use existing assets for ItemDelegate and CheckBox, RadioButton, and Switch respectively. Factor out SwitchIndicator into separate component so that it can be shared by Switch/SwitchDelegate and use QML instead of images for switch indicator in order to support custom accent color Task-number: QTBUG-125279 Pick-to: 6.8 Change-Id: I738a655439ca07745968f4775d4e8c123329fa25 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Rename Fluent style to FluentWinUI3Doris Verria2024-06-023-0/+119
The style is based on the WinUI3 design system, which follows the Fluent design. Task-number: QTBUG-125279 Change-Id: Ie92c35a5c1d3eafdbb377d1c49df4b8cc84e1e98 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>