Commit Graph

84 Commits

Author SHA1 Message Date
Andreas Eliasson a7bd27f17d Doc: Fix qsTr() link
Fixes qdoc warning:
qtquickcontrols-texteditor.qdoc:128: Can't link to 'qsTr'

Pick-to: 6.8 6.7
Change-Id: Ib2543779cc97052fd754b417468cb315313503a9
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2024-07-01 05:21:46 +00:00
Lucie Gérard 746ee15415 Correct license for example files
According to QUIP-18 [1], all example files
should be LicenseRef-Qt-Commercial OR BSD-3-Clause
Example takes precedence over build system

[1]: https://contribute.qt-project.org/quips/18

Pick-to: 6.8
Task-number: QTBUG-121787
Change-Id: Ia60be3cc375a3a16af7e6ea7755a61cfe6e1573b
Reviewed-by: MohammadHossein Qanbari <mohammad.qanbari@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2024-06-27 09:17:10 +02:00
MohammadHossein Qanbari 5bdf12fc6a Spreadsheet Example: Fix bug in update and minor improvement
If the user drags a column from outside the visible area and drops it
into the visible area when the column contains a formula that depends
on a visible cell, updating that cell will not update the cell
containing the formula.

The reason is that the update method in the SpreadModel updates the
wrong rows and columns. The visible rows and columns need to be mapped
to the model's rows and columns.

The improvement is that the update uses a mutex instead of enabling or
disabling the connection in the view. However, the blockConnection()
function has been kept because some actions need to update a large
amount of data in the model, and then the view can be updated without
any extra view updates.

The pan and reset_reordering icons are updated. The new icons have
been designed by the designers.

Task-number: QTBUG-125767
Pick-to: 6.8
Change-Id: I20ea1ef0bb777b5b0b04e7ae74df172ffc5b5ed8
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
2024-06-11 05:23:07 +02:00
MohammadHossein Qanbari e0e2f447ad Spreadsheets Example: some fixes and improvements
The HelpDialog is improved by defining an inline component inside it.
The column selection issue is fixed by removing the unnecessary margins
and rows as well.
When the user tries to cut cell data and paste it onto an area including
the cell itself, that cell would be deleted because it was a cut action.
However, this is not correct because the value of that cell is replaced
with the data from the clipboard (mime data) already. To fix this bug,
before deleting the data of the cutting cell, that cell should be
checked to ensure it is not part of the target cells.

Task-number: QTBUG-125767
Pick-to: 6.8
Change-Id: I1adab2c17dab1cf07245bfaed03193904d7d7a2e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2024-06-11 05:23:03 +02:00
MohammadHossein Qanbari 3de85ce8b9 Add the Spreadsheet example
The example demonstrates a Spreadsheet that provides adding, editing,
and deleting data, and also the ability to write formulas for numeric
data. Also, it's possible to select cells, rows, and columns for
deleting them or their data, copying or cutting the data, and dragging
them to other places. The user can hide columns or rows, and also show
them again. Thanks to the reordering API, columns and rows can be
reordered and also can be reset to the default order.

There is a SpreadModel class which handles the entered data. It only
stores the data of the cells that is provided by the user. It means
that it does not create any empty data structure for empty cells, in
order to reduce memory usage.

Task-number: QTBUG-125767
Pick-to: 6.8
Change-Id: I1d9cc5b4b8d902257e9ed508d4a712b0574490f3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2024-06-03 17:27:22 +02:00
Mitch Curtis 85ea1653db Fix contactlist example not finding ContactList type on macOS
ec9312687e added
NO_RESOURCE_TARGET_PATH, which causes issues on macOS.

Fixes: QTBUG-123773
Pick-to: 6.5 6.7
Change-Id: I80f4cb740dde47549e4357f08b6ae00c243b77b5
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2024-04-15 09:27:29 +08:00
Alexandru Croitor a6bd1dc3e0 CMake: Add deployment API to our examples
Projects were modified using the tool at:
https://git.qt.io/alcroito/cmake_refactor

A few examples had to be adapted manually, mostly those that build
additional qml modules / plugins.

The INSTALL_EXAMPLESDIR and INSTALL_EXAMPLEDIR assignments were
removed, these are not needed anymore because example directory
selection is handled by the qt_internal_add_example calls.

The install(TARGETS) calls were modified according to our
documentation snippets for qt_generate_deploy_qml_app_script.

A qt_generate_deploy_qml_app_script call was added for each
executable target.

Note that the deployment step will be skipped in the CI for now,
because:
- we enable QT_DEPLOY_MINIMAL_EXAMPLES in the CI instructions and thus
  set QT_INTERNAL_SKIP_DEPLOYMENT to true
- standalone examples feature is not yet enabled in the CI, which
  means we continue to build examples in-tree, and deployment is
  disabled for in-tree prefix builds.
A small list of examples to deploy in the CI will be chosen in the
future, to ensure deployment coverage, without slowing down overall CI
times due to all the *deployqt invocations.

Even if deployment is disabled in the CI, the install(TARGETS) calls
for each example will still run, installing into an
'installed_examples' directory, which will not be archived by the CI.

The QtBundleQmlModuleForMacOS and bundle_shared code was removed,
because we can now depend on the MACOS_BUNDLE_POST_BUILD option of the
deployment api, to ensure macOS bundle examples run properly in the
build dir. This works even in prefix in-tree builds, when installation
deployment is disabled.

Finally, for all examples that build additional qml module libraries or
plugins, the libraries / plugins must be installed into the bin dir of
each project, along with a qmldir file.

This is to support running the installed project for platforms that
don't have deployment api yet, like boot2qt / yocto.

If we want to have super clean install / deployment rules in the
future, we won't be able to avoid adding ugly per-platform conditions.
The current status quo is deemed an improvement over what we had
before.

Pick-to: 6.7
Task-number: QTBUG-101340
Task-number: QTBUG-102056
Task-number: QTBUG-102057
Change-Id: I843d934668c25dbcd1abca52495b393579633fc5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-03-27 18:57:34 +01:00
Fabian Kosmale e6ddee9c57 Fix contactlist example (CMake version)
The example didn't set the QTP0001 policy, causing loadFromModule to not
find the QML file. Use qt_standard_project_setup to set the policy, and
remove the now superfluous AUTOMOC setting.

The qmake project already migrated to putting the files into the default
resource path, that's why it was working.

Fixes: QTBUG-122564
Pick-to: 6.7
Change-Id: I802bb64b6cab3ad6b21737b41713efb6353385ea
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2024-03-27 16:26:16 +01:00
Frédéric Lefebvre d0dafdbc2a Add pause for the notifications to be properly shown
Add a PauseAnimation so that the notication section is
properly shown. Before it was being hidden immediately after being
shown and was therefore impossible to see.

Pick-to: 6.7 6.7.0
Task-number: QTBUG-123318
Change-Id: I9877a3ac069a74bf370532ea0133fad33a43a2e6
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2024-03-22 17:11:40 +00:00
Lucie Gérard 53295d9102 Correct license for examples files
Example takes precedent over build system file type.
According to QUIP-18 [1], all examples file should be
LicenseRef-Qt-Commercial OR BSD-3-Clause

[1]: https://contribute.qt-project.org/quips/18

Pick-to: 6.7 6.7.0
Task-number: QTBUG-121787
Change-Id: Ie8c2539e7659f53a1fd6b48f99ee883ee9aeb0a7
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2024-03-21 10:41:29 +01:00
Shawn Rutledge a96871eac8 Adjust Controls Text Editor example and docs further
- text formatting includes alignment, not just font properties
- update links in example.md
- update texteditor.html: don't mention Qt Labs Platform, but
  link to some recent new stuff
- if ToolButton.action is bound, enabled is redundant (the Action
  already has it)
- don't include QApplication

Amends 6217408799 and
21b3c4741e

Change-Id: Ie4565829f02d8ee1541ba4af9d64bd044739179f
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2024-03-18 22:02:01 -07:00
Shawn Rutledge 6217408799 doc: Update Controls Text Editor example docs
We also move ScrollBar to make explanation easier.

Pick-to: 6.7 6.7.0
Change-Id: If65de335f840382b5e236d8a04db382b0b7aee6a
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2024-03-12 14:24:26 -07:00
Shawn Rutledge a27b75c89d TextEditor example: use Actions in a DRY way; TapHandler
I'm not sure why the example was written with so much repetition,
but there must have been limitations back then. It's better to have
Action as the encapsulation for an operation, and simply bind it to
all the places where it's used (menubar, toolbar and context menu).
It would be even better if an Action could be added directly to a
Menu or ToolBar, but so far there's not a declarative way to do that
(only by using addAction(), which is only in Menu, not ToolBar).

We now use TapHandler instead of MouseArea to open the context menu.
It works fine either way, but at least we don't need anchors.fill.

Pick-to: 6.7 6.7.0
Change-Id: I74900ec49b57b616ffacddcf81c5aea12d4fefe6
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2024-03-12 17:56:34 +00:00
Shawn Rutledge 93a18268f9 doc: Update TextEdit.textFormat, text and TextDocument.source
Update docs after b46d6a75ac,
fdbacf2d5c etc.

Pick-to: 6.7
Change-Id: Ieb49d6876f0a86031fb0ffe970f695e5acbe4c43
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2024-03-06 20:40:19 -07:00
Santhosh Kumar 8d3ed392bb Update manual tests and examples for change in default size policy
The size policy of item updated as part of task QTBUG-117597. This
patch update existing examples and manual tests that depends on quick
layout to embrace size policy change.

Task-number: QTBUG-117597
Pick-to: 6.7
Change-Id: I68469a3bba3c4d3e5ed4b6eae0fd765b5206efc0
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2024-02-21 14:27:54 +01:00
Mitch Curtis 8f705f0db9 gallery: fix RadioDelegates not being exclusive
The ButtonGroup was being declared several times rather than once.

Amends b663020c9a.

Fixes: QTBUG-122454
Pick-to: 6.5 6.6 6.7
Change-Id: If66f5a5a6841a56abbf93908c83facc9970def40
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2024-02-21 21:27:53 +08:00
Shawn Rutledge 5cba3f5a8d Text editor example: fix up the touch-specific UI
Catch up with recent changes in the default texteditor.qml file:

- TextDocument.status is new; the error signal is gone. Update as in
  bec8df96b7 and
  1e6cb2462e
- 3bae41faac changed the mapping of the
  "OK" checkmark in fontello.ttf
- use Actions to show and change cursorSelection styling, as in
  045f9ce192
- set a default window size; it doesn't matter on a mobile device that
  runs everything fullscreen, but it's easier to test on desktop with
  the -touch flag

Fixes: QTBUG-121840
Task-number: QTBUG-121946
Pick-to: 6.7
Change-Id: If678b92efe4e1824022fa0ee9106c0c3b0b9f194
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-02-15 10:26:05 -07:00
Shawn Rutledge 1e6cb2462e Use lookup table to show TextDocument status in texteditor example
Computed properties make it possible to use scoped enum values as
object property names. Amends bec8df96b7

Also remove semicolons for consistency.

Pick-to: 6.7
Task-number: QTBUG-121946
Change-Id: I1ee354722d9f0e065637731d1b535389a9cb0032
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2024-02-12 20:18:56 +00:00
Shawn Rutledge bec8df96b7 texteditor example: use TextDocument status rather than error signal
Amends 5647b6900b in which the error
signal was removed and replaced with a status property.

Pick-to: 6.7
Change-Id: I433987fe4c480c910c98c8fd3714c2e426e49c0f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2024-02-05 15:07:44 -07:00
Matthias Rauter 3e51afcb85 Refactor quickcontrols wearable example
Design: Karolina Bang.

Pick-to: 6.7
Change-Id: I0201bb579d297c6bc02c16ef6a5e4b233ffff5de
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2024-02-01 15:51:37 +00:00
Dennis Oberst 9e4f24e749 Filesystem Explorer: Guard against mobile usage
It was observed that users try to run this example on mobile platforms.
It was never designed for such a usecase and is therefore not supported.

Ref: https://camg.me/qt-mobile-2023/#filesystem

Additionally mention that this is a desktop example in the docs.

Pick-to: 6.6 6.7
Change-Id: I55205e3f2cb3a45aaf18f2a52ea24f54ab8e39bd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2024-01-22 08:09:50 +00:00
Thiago Macieira e8e818df99 Doc & Test: fix syntax of QSettings sub-groups
These examples and .conf files were using two different syntax to create
a subgroup. QSettings may not support one of them and is misbehaving. So
let's use one syntax only and the one that it produces when writing the
output.

This code:

    s.beginGroup(u"Material");
    s.beginGroup(u"Font");
    s.setValue("Family", "Open Sans");
    s.setValue("PixelSize", 20);

Produces:

 [Material]
 Font\Family=Open Sans
 Font\PixelSize=20

Fixes: QTBUG-121035
Pick-to: 6.7 6.6
Change-Id: I76ffba14ece04f24b43efffd17ab7ea941910c19
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2024-01-19 13:11:15 +08:00
Jaishree Vyas 486cc33ce5 Doc: Create separate Graphics and Multimedia example categories
Fixes: QTBUG-117884
Pick-to: 6.6 6.7
Change-Id: Ib0bb6217c29795fe50efdf827aa9902bbd572032
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2024-01-17 15:36:27 +01:00
Dennis Oberst eaaa8647da Filesystem Explorer: Add a minimum width and height
This prevents to reduce the window to a minimum of 1px (default), where
it gets hard to expand the window again. As a drive-by improve the
visualization of highlighted files.

Fixes: QTBUG-119785
Change-Id: Ib4a7f37fa4886589bad4cce534a9d73c352dd4ee
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2024-01-16 11:38:39 +01:00
Alexey Edelev d276d025a8 Change the way tests and examples query the qmldir file from QML plugin targets
Use qt6_query_qml_module to get path to qmldir, but not TARGET_FILE_DIR.
This is more accurate way.

Pick-to: 6.5 6.6 6.7
Fixes: QTBUG-120479
Change-Id: I4b7f7bf3b7f69c15871e400af3e7ae945a9bfdf0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-01-15 21:25:12 +01:00
Mitch Curtis c11436857f Improve chattutorial example
- Use modern QML type registration.
- Fix qmllint warnings.
- Tidy up code.
- Update copyright year.

Fixes: QTBUG-119986
Change-Id: Ibb47c929a14cd0e786acb7c7496e6cce34f624df
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2024-01-08 10:19:19 +08:00
Mitch Curtis a867363541 Improve contactlist example
- Fix qmllint warnings.
- Update copyright year.
- Use modern QML type registration.

Fixes: QTBUG-119987
Pick-to: 6.5 6.6 6.7
Change-Id: I7eacf994d3dca70dc678865eb37884a0ccd5ad1f
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2023-12-18 11:45:55 +08:00
Shawn Rutledge 21b3c4741e Controls TextEditor example: remove Qt.labs and the widget dependency
This depends on the plan to have the Controls MenuBar and context Menu
"go native" on platforms that support it.

Task-number: QTBUG-119988
Task-number: QTBUG-106782
Change-Id: Ib8354b44bde385717431534d0260182715d66f16
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2023-12-15 02:28:09 -07:00
Shawn Rutledge 98d409a66e Get rid of DocumentHandler in the Text Editor example
...and fix a couple of minor issues that remained.

Fixes: QTBUG-81022
Change-Id: I5fc1547fb09caef5a9e24d95c2ca7b8d78ee104a
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2023-12-09 01:52:31 -07:00
Shawn Rutledge 045f9ce192 Add TextSelection (Tech Preview)
In the Controls text editor example, DocumentHandler always sounded like
a hack, just by its name.

We don't expect to be able to handle multiple selections anytime soon;
but if we realistically expect to have multi-seat support in Qt some
day, then probably the multi-user experience should include support for
multiple text cursors and selections. So we shouldn't paint ourselves
into a corner. QQuickTextControl works with only one QTextCursor most
of the time (but it's private, thus modifiable); and TextEdit has
properties like selectionStart, selectionEnd, selectedText, etc. which
seem to assume that there is only one selection.  So probably if we
needed to support multiple selections, we could add
Q_PROPERTY(QQmlListProperty<QQuickTextSelection> selections ...),
document that those legacy properties just work with the first
selection, and/or deprecate them.

So with that in mind, let's get started with a QQuickTextSelection
object. We add TextEdit.cursorSelection which holds the single selection
near the text cursor. It provides API needed for tracking and
manipulating often-used properties of selected rich text (such as
QTextCharFormat properties) so that DocumentHandler can be removed.

The example now uses TextArea.cursorSelection to manipulate the selected
text's format. It's not possible to be fully declarative with this API
though; we need to call setFont (by assigning a font), but QFont is a
value type, and is not as mergeable as QTextCharFormat is, for example.
If we used a binding rather than Action.onTriggered, it would trigger
reading the font for an entire span of selected text (which may have had
multiple fonts), setting one attribute (like bold), then applying the
font to the whole span. What we do now is almost like that; but instead
of reading the font first, we start with a default-constructed QFont,
set one attribute, and call QTextCursor::mergeCharFormat(), in the hope
that it can merge only the features of QFont that have actually been
set. Unfortunately this is not quite true either: if you toggle the
bold button, it might change the font size too, and so on; so maybe we
really need QTextCharFormat in QML (as a value type, presumably) to
implement those feature-toggling toolbar buttons correctly.

This API is in tech preview, because of such issues as described above;
because we're just scratching the surface of what might be possible;
because we should perhaps compare popular JavaScript text-editing APIs
that might be found elsewhere, in the meantime get feedback from users
during the tech preview phase, and keep iterating.

[ChangeLog][QtQuick][TextEdit] TextEdit.cursorSelection is a
TextSelection object, which provides properties to inspect and modify
the formatting of the single selection that is currently supported.
This API is in Tech Preview.

[ChangeLog][Controls][TextArea] TextArea.cursorSelection is a
TextSelection object, which provides properties to inspect and modify
the formatting of the single selection that is currently supported.
This API is in Tech Preview.

Task-number: QTBUG-36521
Task-number: QTBUG-38830
Task-number: QTBUG-81022
Change-Id: Icea99f633694aa712d0b4730b77369077288540f
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2023-12-08 20:11:28 +01:00
Shawn Rutledge b46d6a75ac Add load/save functionality to QQuickTextDocument (Tech Preview)
Since QTBUG-92155 is not done, we need an easy way to load and save text
into and out of a QTextDocument in QML. This patch follows the pattern
from Image and other types: add a `source` property, a URL from which
the file is to be loaded.

When it comes to saving, the pattern is not set: so far the only file
writing that has been available from QML is ItemGrabResult.saveToFile().
Since we need to save in specific formats, it makes sense to continue
that pattern: the text document knows how to do its own serialization,
so this is not suitable for generic data file I/O, even if we did have a
QML API for that. We add invokable functions save() and saveAs() for the
usual use cases in word processors and such. The URL extension
determines the file format.

Setting QQuickTextDocument's source is not allowed if the document has
unsaved changes. The user (app author) needs to call save() or override
modified to false first.

[ChangeLog][QtQuick][TextEdit] TextEdit.textDocument now has a source
property for loading files; save() and saveAs() functions for writing;
a modified property which tracks QTextDocument::modified; and an error
signal in case any of these operations fail. Setting the source
property is allowed only if the document is in unmodified state.
This API is in Tech Preview.

[ChangeLog][Controls][TextArea] TextArea.textDocument now has a source
property for loading files; save() and saveAs() functions for writing;
a modified property which tracks QTextDocument::modified; and an error
signal in case any of these operations fail. Setting the source
property is allowed only if the document is in unmodified state.
This API is in Tech Preview.

Change-Id: I687318523c7a520e02244e47224d067da55318b5
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2023-12-08 05:02:04 -07:00
Shawn Rutledge 3bae41faac TextEdit example: Add more FontAwesome icons to fontello.ttf
We'll soon be adding functionality to this example.

Change-Id: If084ce88b3008bfccc96e9ae059b32a99df9cfdf
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2023-12-08 05:01:46 -07:00
Patryk Stachniak b51ba46225 Avoid processing invalid input in Contact List example
Originally, the onAccepted handler was designed to
simply emit the finished signal whenever the OK button was
clicked, without any checks. This meant that the dialog would
proceed even if some fields were left blank. Now we just
check that the strings are not empty before emitting.

Fixes: QTBUG-119147
Pick-to: 6.5 6.6
Change-Id: Ie8d3a711e139ac824a45cb5c6cfd39248a7bf117
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2023-11-28 04:33:28 -07:00
Wladimir Leuschner 41eb033fa2 Fix resizing in Wearable example
Fixes: QTBUG-118779
Pick-to: 6.6 6.5
Change-Id: I8cc906976eeb390152e3d4ce2bf5493bc8d8f1d9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2023-11-21 19:28:52 +01:00
Wladimir Leuschner 5e8a49c797 Fix spelling error in QtQuick Gallery example
Fixes: QTBUG-118760
Change-Id: I6bc0164f04c76ba9004032007559cbfd1a87724f
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2023-11-14 15:30:14 +01:00
Sami Shalayel 743065d7fe TextEditor example: open file as text
The texteditor is made to open text, and in this case it makes sense to
pass the Text flag to the QFile::open call in the example code.

Pick-to: 6.5 6.6
Task-number: QTBUG-118636
Change-Id: I936610945aa6e2f67b29ce6f5c559a2b942fc718
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
2023-11-10 18:42:31 +01:00
Samuli Piippo 425c65a27b Examples: fix Wearable on embedded linux
Build the extra QML modules without separate backend library, so that
they load correctly when deployed to embedded device. Deploy also qmldir
files.

Pick-to: 6.6 6.5
Change-Id: I583798eb7841c8fd0520cfa049eaecbadaf50109
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-11-09 09:20:08 +02:00
Friedemann Kleint 4ba5c88d2d File system explorer example: Improve shortcuts
Use the standard keys for zoom and quit.

Pick-to: 6.6
Change-Id: I3659a5a84bc1e46938729710af31c834b8a50ed8
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2023-11-01 22:30:45 +02:00
Jakub Wincenciak 3c106a300f Fix issue in File System explorer example with about popup text wrap
About popup text item had property 'wrapMode' set to 'wrapAnywhere',
so I replaced it with 'wordWrap'. In addition,
I changed text to be same as in QMessageBox::aboutQt() and wrapped
it inside ScrollView.

Fixes: QTBUG-117969
Pick-to: 6.6
Change-Id: I7a138a4a6bdb592bd3dd8edbeb76042e266b7c6f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Dennis Oberst <dennis.oberst@qt.io>
2023-10-25 11:21:52 +02:00
Kai Köhne dac7706e61 Doc: Move some examples to User Interface Components category
Pick-to: 6.5 6.6
Task-number: QTBUG-117243
Change-Id: Id13a0d8e02e6fea7ae84dbee524d60fe2f3ad3b7
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-10-24 08:24:34 +02:00
Santhosh Kumar 3c633dc1e0 Fix delegate loading issue in gallery example
The delegate component in DelegatePage.qml uses properties from
the context where loader exists. This behavior of Loader seems to
be changed and it doesn't forward properties. Thus, property
reference through required properties doesn't work in the component
that's getting loaded, with ComponentBehavior configured as Bound.

This patch makes a workaround by moving the component within Loader
scope and access model properties through its id.

Fixes: QTBUG-117062
Pick-to: 6.6 6.5
Change-Id: Ib1f21f842f9926a426fb79f2fbb2536ed53f98d8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2023-09-20 08:10:03 +02:00
Rami Potinkara 628659f759 Update mobile example categories for Qt 6.6
Add mobile example category tags for the chosen examples.
Add for the ones that work best for both Android and iOS.
Remove from the ones that do not work for both (at least yet).

Added, as verified on Android
-scenegraph openglunderqml
-qtquickcontrols-contactlist
-qtquickcontrols-gallery
-qtquickcontrols-wearable

Removed (for now), as not verified yet on Android
-qtquickcontrols-todolist

Fixes: QTBUG-116780
Pick-to: 6.6
Change-Id: I7f22329ec93dedaa63df34bb55dd67d14ffe5c1d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-09-11 13:22:00 +00:00
Samuli Piippo 6bab3e5c76 examples: include filesystemexplorer only if Svg is available
Svg is required for the filesystemexplorer example, but it might not
be available.

Pick-to: 6.6
Change-Id: I0a68c8cabc8c0809a6ed20596fd7fcc9eec5ab7e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2023-08-23 13:31:07 +03:00
Mitch Curtis 842bb590be Fix attachedstyleproperties example installation
Make sure that libMyStyle.so, libMyStyleplugin.so, and the qmldir are
installed.

Fixes: QTBUG-114482
Pick-to: 6.5 6.6
Change-Id: I19b182f9957cc138171f0cb69eb25a42b7bf9b37
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2023-08-23 15:40:21 +08:00
Dennis Oberst 959f88e4b5 Filesystem Explorer Example: Introduce version 2
This updated version addresses several bugs and misbehaviors that were
identified in the previous version. I have rewritten and improved
various aspects of the application to provide a more stable and reliable
user experience.
Here are some of the key changes and enhancements in version 2:

  - Fix qmllint warnings.
  - Reduce the number of redundant items
  - Apply the custom window decorations inside MyMenuBar
    to the contentItem instead of the background to scale
    properly.
  - Fix additional scaling and UI misbehaviors

  - Add an application icon
  - Add an editor with line numbers
  - Add command line options to specify an initial directory
  - Since rootIndex is exposed inside TreeView since 6.6
    this is an excellent opportunity to make use of it
  - Crosslink the python version of this example in the docs

Pick-to: 6.6
Change-Id: Ib816a95f843b3f4b84b11db893facda0ffc6f482
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-08-21 14:10:04 +02:00
Santhosh Kumar afb57dfa06 Docs: Update documentation about orientation mode in the gallery example
The gallery example depends on two factor to determine its orientation.
Apart from size of the window, the orientation configuration in the
setting (introduced in the patchset
7c7e3a1fdf) would also be considered.

This patchset updates documentation for the change mentioned above.

Pick-to: 6.6 6.5
Change-Id: Iaf46c5cc49350e889121b3e57dc3f86e46609459
Reviewed-by: Juho Lääkkö <juho.laakko@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2023-08-15 17:48:43 +02:00
Edward Welbourne e2a79cf159 Examples: pass QDate by value, not const reference
It's simply a wrapper round a qint64, no pimpl, nothing clever.

Change-Id: I02997754dc4770180a7437edf3dc82b1505ad4da
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2023-07-28 10:29:01 +02:00
Venugopal Shivashankar 2983a38c1d Doc: Add \examplecategory for Qt Quick Controls
Also, changed one of the example pages to a tutorial
page.

Task-number: QTBUG-115297
Pick-to: 6.5 6.6
Change-Id: Ife1b740523039b9287008a1c5243edfc4c1349d1
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2023-07-21 13:01:41 +02:00
Mitch Curtis 789f39b649 wearable: fix various issues
- Ensure icons are legible when a dark theme is in use in the
  underlying OS. The app's own dark mode setting was unaffected by this.
- Remove trailing space in temperature label.

Fixes: QTBUG-114978
Pick-to: 6.5 6.6
Change-Id: Ic31c70c9fe86f4da6850ed4baf28afc1cbfe1dae
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Reviewed-by: Elias Hautala <Elias.Hautala@qt.io>
2023-07-12 11:26:21 +08:00
Mitch Curtis 53144f16c6 gallery: fix some QML compiler warnings
Not all compiler warnings can be fixed, because the example
supports multiple styles through one executable, and hence
cannot use compile-time style selection. Document this.

Fixes: QTBUG-110827
Pick-to: 6.5 6.6
Change-Id: I80a92890d427967ff21d4f457c373e75a937195f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2023-07-12 11:25:37 +08:00