<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quickcontrols, branch wip/nativemenus</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>QQuickMenuItem: add implicitTextPadding and textPadding</title>
<updated>2024-05-29T16:48:25+00:00</updated>
<author>
<name>Richard Moe Gustavsen</name>
<email>richard.gustavsen@qt.io</email>
</author>
<published>2024-05-22T20:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a5b306650bdaf4d5dc05b2b014e86bfb85bab4e1'/>
<id>a5b306650bdaf4d5dc05b2b014e86bfb85bab4e1</id>
<content type='text'>
Add the properties "implicitTextPadding" and "textPadding"
to MenuItem. They can be used by the style to ensure that
all MenuItems inside the same Menu end up left-aligned
WRT text.

Each MenuItem should set implicitTextPadding to be the
needed space from the left edge of the contentItem to
the text label. QQuickMenu will then iterate over all
the MenuItems inside the same Menu, and set textPadding
to be the maximum implicitTextPadding found.

All MenuItems should then use textPadding (which will end
up the same for all MenuItems) to position the text.

This API is meant to solve the problem that MenuItems
inside a single Menu can have different contents. Some
can be checkable, some can have an icon, some are just
plain text. And for several of our styles (e.g macOS and
Windows), we want the text to be left-aligned regardless
of that. Without this API, The checkmark inside a
checkable MenuItem would be left-aligned with the text
inside a plain MenuItem etc.

[ChangeLog][Controls][MenuItem] A MenuItem now has two
new properties (implicitTextPadding and textPadding)
that can be used for aligning the text across all
MenuItems inside a Menu.

Change-Id: I1f2248b31c63d6b9780d8fc77229a8b902362f70
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add the properties "implicitTextPadding" and "textPadding"
to MenuItem. They can be used by the style to ensure that
all MenuItems inside the same Menu end up left-aligned
WRT text.

Each MenuItem should set implicitTextPadding to be the
needed space from the left edge of the contentItem to
the text label. QQuickMenu will then iterate over all
the MenuItems inside the same Menu, and set textPadding
to be the maximum implicitTextPadding found.

All MenuItems should then use textPadding (which will end
up the same for all MenuItems) to position the text.

This API is meant to solve the problem that MenuItems
inside a single Menu can have different contents. Some
can be checkable, some can have an icon, some are just
plain text. And for several of our styles (e.g macOS and
Windows), we want the text to be left-aligned regardless
of that. Without this API, The checkmark inside a
checkable MenuItem would be left-aligned with the text
inside a plain MenuItem etc.

[ChangeLog][Controls][MenuItem] A MenuItem now has two
new properties (implicitTextPadding and textPadding)
that can be used for aligning the text across all
MenuItems inside a Menu.

Change-Id: I1f2248b31c63d6b9780d8fc77229a8b902362f70
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Menu: add insets to the menus, to accommodate for drop shadows</title>
<updated>2024-05-28T07:24:19+00:00</updated>
<author>
<name>Richard Moe Gustavsen</name>
<email>richard.gustavsen@qt.io</email>
</author>
<published>2024-04-23T13:53:10+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=34ec2dec17bb0b4b32b6d9c1b0c23f3afd6b78f4'/>
<id>34ec2dec17bb0b4b32b6d9c1b0c23f3afd6b78f4</id>
<content type='text'>
Several of the styles offers a Menu with a drop shadow. And the shadow
is drawn on the outside of the Menu. This works fine when the menu
is shown as an item in the scene, since Quick allows controls to
draw out-of-bounds. But when we now place the Menus inside native
windows, this will no longer be the case, as the windows will be
resized to fit the Menus, shadows excluded.

To solve this, this patch will make the Menus bigger, without
touching the size of the background, so that they include the
drop shadows. This is easily done by pushing the background items
a bit in, using insets.

The next issue is that when the application, or the MenuBar,
requests a Menu to open at at specific position, we want the
top left corner of the menu frame to be placed at this position.
But since the Menu background is now shifted into the Menu, we
need to teach QQuickPopup and and QQuickMenu to take insets into
account when positioning a popup/menu. Taking the insets into
account like this should be fine, since they're documented to be
used for this exact purpose, of adding drop shadow effects.

Change-Id: I2e5f0bcf14100d92dc4cd3c2cb7630601c0c1320
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Several of the styles offers a Menu with a drop shadow. And the shadow
is drawn on the outside of the Menu. This works fine when the menu
is shown as an item in the scene, since Quick allows controls to
draw out-of-bounds. But when we now place the Menus inside native
windows, this will no longer be the case, as the windows will be
resized to fit the Menus, shadows excluded.

To solve this, this patch will make the Menus bigger, without
touching the size of the background, so that they include the
drop shadows. This is easily done by pushing the background items
a bit in, using insets.

The next issue is that when the application, or the MenuBar,
requests a Menu to open at at specific position, we want the
top left corner of the menu frame to be placed at this position.
But since the Menu background is now shifted into the Menu, we
need to teach QQuickPopup and and QQuickMenu to take insets into
account when positioning a popup/menu. Taking the insets into
account like this should be fine, since they're documented to be
used for this exact purpose, of adding drop shadow effects.

Change-Id: I2e5f0bcf14100d92dc4cd3c2cb7630601c0c1320
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/dev' into nativemenus</title>
<updated>2024-05-26T12:32:47+00:00</updated>
<author>
<name>Richard Moe Gustavsen</name>
<email>richard.gustavsen@qt.io</email>
</author>
<published>2024-05-26T12:32:47+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=bd8d86c341f3791978804446f79adb36cd656b19'/>
<id>bd8d86c341f3791978804446f79adb36cd656b19</id>
<content type='text'>
Change-Id: I4dbf262105ab7bfd2ae9288acd0f9ef4306e8d48
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I4dbf262105ab7bfd2ae9288acd0f9ef4306e8d48
</pre>
</div>
</content>
</entry>
<entry>
<title>CMake: Move add_subdirectory(impl) calls for styles to the front</title>
<updated>2024-05-23T19:14:17+00:00</updated>
<author>
<name>Alexandru Croitor</name>
<email>alexandru.croitor@qt.io</email>
</author>
<published>2024-05-23T12:26:09+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=8c8bd839b9a288b2cd7cc25d1158ae3e4cf1ff00'/>
<id>8c8bd839b9a288b2cd7cc25d1158ae3e4cf1ff00</id>
<content type='text'>
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 &lt;alexey.edelev@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;alexey.edelev@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Support moving sections (row and column) in quick table view</title>
<updated>2024-05-21T13:31:51+00:00</updated>
<author>
<name>Santhosh Kumar</name>
<email>santhosh.kumar.selvaraj@qt.io</email>
</author>
<published>2024-02-08T14:01:24+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=bad81267afd1fc73f9b63252b5dbf28eed915165'/>
<id>bad81267afd1fc73f9b63252b5dbf28eed915165</id>
<content type='text'>
Add support in quick table view to reorder rows and columns.

The properties 'movableColumns' and 'movableRows' enable the header
view to reorder columns and rows, which are disabled by default.
These properties allow the user to drag and drop sections for the
row and column reordering. It is to be noted that these properties
apply only to the header view (HorizontalHeaderView and
VerticalHeaderView) and do not apply to the TableView directly.
The change in the header view will be synced to the table view by
setting the corresponding view to the syncView property in the
header view.

The TableView can also explicitly reorder columns and rows through
the public API moveColumn() and moveRow().

Task-number: QTBUG-100440
Change-Id: I320b91c5541836fa0c885f75c59dcde3608cf3c2
Reviewed-by: Richard Moe Gustavsen &lt;richard.gustavsen@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add support in quick table view to reorder rows and columns.

The properties 'movableColumns' and 'movableRows' enable the header
view to reorder columns and rows, which are disabled by default.
These properties allow the user to drag and drop sections for the
row and column reordering. It is to be noted that these properties
apply only to the header view (HorizontalHeaderView and
VerticalHeaderView) and do not apply to the TableView directly.
The change in the header view will be synced to the table view by
setting the corresponding view to the syncView property in the
header view.

The TableView can also explicitly reorder columns and rows through
the public API moveColumn() and moveRow().

Task-number: QTBUG-100440
Change-Id: I320b91c5541836fa0c885f75c59dcde3608cf3c2
Reviewed-by: Richard Moe Gustavsen &lt;richard.gustavsen@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Doc: import Basic style in customization snippets</title>
<updated>2024-05-20T05:36:59+00:00</updated>
<author>
<name>Mitch Curtis</name>
<email>mitch.curtis@qt.io</email>
</author>
<published>2024-05-13T07:53:46+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=e4577eb6bb9308d2b84bfe66216333b001ac670b'/>
<id>e4577eb6bb9308d2b84bfe66216333b001ac670b</id>
<content type='text'>
This ensures that the user won't inadvertently base the customizations
on top of the native styles, but also saves adding the extra code that
using QtQuick.Templates would require. The first sentence of the
section already states that the Basic style is in use.

Fixes: QTBUG-125228
Pick-to: 6.5 6.7
Change-Id: I191f1664ab0dcf190e4825b98e7ec12f00de307f
Reviewed-by: Richard Moe Gustavsen &lt;richard.gustavsen@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ensures that the user won't inadvertently base the customizations
on top of the native styles, but also saves adding the extra code that
using QtQuick.Templates would require. The first sentence of the
section already states that the Basic style is in use.

Fixes: QTBUG-125228
Pick-to: 6.5 6.7
Change-Id: I191f1664ab0dcf190e4825b98e7ec12f00de307f
Reviewed-by: Richard Moe Gustavsen &lt;richard.gustavsen@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/dev' into nativemenus</title>
<updated>2024-05-10T12:03:16+00:00</updated>
<author>
<name>Richard Moe Gustavsen</name>
<email>richard.gustavsen@qt.io</email>
</author>
<published>2024-05-10T12:03:16+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=b860c2428d02c6645c80742d795223d4a4663908'/>
<id>b860c2428d02c6645c80742d795223d4a4663908</id>
<content type='text'>
Change-Id: I6a90b43404909ada18d7bf812b8919d5b68493d4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I6a90b43404909ada18d7bf812b8919d5b68493d4
</pre>
</div>
</content>
</entry>
<entry>
<title>ComboBox: fix popup palette inheritance</title>
<updated>2024-05-08T01:04:50+00:00</updated>
<author>
<name>Mitch Curtis</name>
<email>mitch.curtis@qt.io</email>
</author>
<published>2024-05-06T07:38:53+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=0ad15c4101889a22bf9ff761e7d20ec515f46514'/>
<id>0ad15c4101889a22bf9ff761e7d20ec515f46514</id>
<content type='text'>
54a2a35f17d5e5d1793af63b76993a583e10ab41 fixed the theme/accent/primary
inheritance of the Material and Universal style's ComboBox popups. This
patch makes an equivalent fix for styles that use palettes. Now the
Basic and Fusion ComboBox popups will have the correct colors in both
light and dark modes.

Fixes: QTBUG-124474
Pick-to: 6.5 6.7
Change-Id: I3e3fcdc9d6fe75f195cc4f4707eac6d30413121f
Reviewed-by: Richard Moe Gustavsen &lt;richard.gustavsen@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
54a2a35f17d5e5d1793af63b76993a583e10ab41 fixed the theme/accent/primary
inheritance of the Material and Universal style's ComboBox popups. This
patch makes an equivalent fix for styles that use palettes. Now the
Basic and Fusion ComboBox popups will have the correct colors in both
light and dark modes.

Fixes: QTBUG-124474
Pick-to: 6.5 6.7
Change-Id: I3e3fcdc9d6fe75f195cc4f4707eac6d30413121f
Reviewed-by: Richard Moe Gustavsen &lt;richard.gustavsen@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix test compilation issues with QtLite configuration</title>
<updated>2024-04-30T09:00:03+00:00</updated>
<author>
<name>Jari Helaakoski</name>
<email>jari.helaakoski@qt.io</email>
</author>
<published>2024-04-24T11:40:49+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=4949768067cfc8a16c0cef958928e94147842bb8'/>
<id>4949768067cfc8a16c0cef958928e94147842bb8</id>
<content type='text'>
Now developer build tests compile, but some are not working.
Functional fix will come later via separate tasks.

Task-number: QTBUG-122999
Change-Id: I0a0dfcf7affb73f928b8be62b3576a6a51658488
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now developer build tests compile, but some are not working.
Functional fix will come later via separate tasks.

Task-number: QTBUG-122999
Change-Id: I0a0dfcf7affb73f928b8be62b3576a6a51658488
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>macos style: add CheckIndicator</title>
<updated>2024-04-29T08:15:37+00:00</updated>
<author>
<name>Richard Moe Gustavsen</name>
<email>richard.gustavsen@qt.io</email>
</author>
<published>2024-04-22T19:19:19+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=257b09138d6c4f93fdc1e81f5a75af87e7a66718'/>
<id>257b09138d6c4f93fdc1e81f5a75af87e7a66718</id>
<content type='text'>
The macOS style is currently falling back to use
a CheckIndicator from the Fusion style. This doesn't look
very native on macOS.

This patch will therefore implement the missing
CheckIndicator for the macOS style, and try to make
it look as native as possible.

Change-Id: I4c0a56de3972a92e4e3791852c043f08a2006eb1
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The macOS style is currently falling back to use
a CheckIndicator from the Fusion style. This doesn't look
very native on macOS.

This patch will therefore implement the missing
CheckIndicator for the macOS style, and try to make
it look as native as possible.

Change-Id: I4c0a56de3972a92e4e3791852c043f08a2006eb1
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
