summaryrefslogtreecommitdiffstats
path: root/examples/widgets/gestures
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Create a group topic for listing user input examplesAlexei Cazacov2025-10-161-0/+1
| | | | | | | | | | | | This commit adds a new `\group` for user input and drag-and-drop examples. Previously, some of the examples from this group were orphaned topics and users could not navigate them by following links in docs. Task-number: QTBUG-140882 Pick-to: 6.10 Change-Id: I3dc9530a5c239b708ce2f1068e12c7aa25bcd2b8 Reviewed-by: Jerome Pasion <[email protected]>
* Doc: Add alternate text for Qt Widgets imagesJerome Pasion2025-10-091-1/+1
| | | | | | | | | | Alternate text (alt text) improves the documentation experience for screen readers and for other accessibility tools. Pick-to: 6.9 6.10 Task-number: QTBUG-135124 Change-Id: Ic481c1468548d197a69c9e19703c5773226fbd39 Reviewed-by: Alexei Cazacov <[email protected]>
* ImageGestures example: decide direction based on swipeAngleShawn Rutledge2025-08-011-6/+9
| | | | | | | | | | | | | | | | | | | | | | | swipeTriggered() often chose the wrong direction, because the logic was allowing either vertical or horizontal decisions to override each other: if you swipe to the right, but also a little upwards for example, "up" overrode "right" and you would go back instead of forward. It worked only if you made an effort to swipe both down and right to go forwards, and both up and left to go back. The docs are not wrong at least: horizontalDirection or verticalDirection is set to NoDirection only in the case that the angle doesn't have "a horizontal component" or "a vertical component", respectively (assuming that's even possible). So those enum properties are only useful if you want to detect swiping on only one axis. Instead, we now check which side of a 45 degree line the angle is on. Pick-to: 6.10 6.9 6.8 6.5 Task-number: QTBUG-37759 Task-number: QTBUG-46195 Change-Id: Ibd78071dc78ccaa13d63200e26a614b7017a9b1b Reviewed-by: Volker Hilsheimer <[email protected]>
* CMake: Add deployment API to our examplesAlexandru Croitor2024-03-221-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Projects were modified using the tool at: https://git.qt.io/alcroito/cmake_refactor A couple of examples had to be adapted manually, due to them including more than one app per example subdirectory. The INSTALL_EXAMPLESDIR and INSTALL_EXAMPLEDIR assignments were removed. The install(TARGETS) calls were modified according to our documentation snippets for qt_generate_deploy_app_script. A qt_generate_deploy_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 and thus QT_INTERNAL_SKIP_DEPLOYMENT, and also because standalone examples are not enabled yet, and deployment is disabled for in-tree (so no-standalone-example) prefix builds. The install(TARGETS) calls for each example will still run, installing the examples into an installed_examples directory, that will not be archived by the CI. Pick-to: 6.7 Task-number: QTBUG-102056 Task-number: QTBUG-102057 Change-Id: Ida389bbad41710b2ae5da4d95e2d85be9e0cd9ce Reviewed-by: Alexey Edelev <[email protected]>
* Correct license for examples filesLucie Gérard2024-03-072-2/+2
| | | | | | | | | | | | | | 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 Task-number: QTBUG-121787 Change-Id: Id348a89884bb309b96abb31077f14a51086b5d0c Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Kai Köhne <[email protected]>
* Update ImageGestures exampleDoris Verria2023-12-213-5/+15
| | | | | | | | | | | | | - Update screenshot - Provide some information text on the screen when no images are found - Add all supported image formats to the file filters - Minor fixes according to our coding conventions: eg. don't shadow variables Fixes: QTBUG-119979 Pick-to: 6.7 Change-Id: If41adf34f38bfa101f2c5433082828c1a10668b1 Reviewed-by: Volker Hilsheimer <[email protected]>
* Doc: Add example categories to Qt Widget examplesMats Honkamaa2023-09-051-0/+1
| | | | | | | | | Added example categories and fixed some minor typos as well. Task-number: QTBUG-116359 Pick-to: 6.5 6.6 Change-Id: I2e270a1919003f4cea233666b64437e4c2b77121 Reviewed-by: Volker Hilsheimer <[email protected]>
* Image Gestures Example: use QFileInfo for images file namesAssam Boudjelthia2023-08-312-9/+18
| | | | | | | | | | | | | | | | | | | The example keeps around image file names only and append them to the selected dir path, that works fine for file scheme files, but for Android with content scheme files, that doesn't work as good because usually the paths are returned by a provider and managing them manually like appending a file name to a directory (tree) path might not work. This patch retrieves QFileInfo objects and use the absolute file paths to open any image. Pick-to: 6.6 6.5 6.2 Fixes: QTBUG-116181 Change-Id: I9911a181d92ba0452500398cbe052b9583bd79a0 Reviewed-by: Friedemann Kleint <[email protected]> Reviewed-by: Shawn Rutledge <[email protected]>
* Examples: Use PRIVATE CMake linkageKai Köhne2022-11-301-1/+1
| | | | | | | We (almost) only build apps, for which PRIVATE linkage makes more sense. Change-Id: I09a509c3fb33a00cdfdede687b3f95d638f42091 Reviewed-by: Jörg Bornemann <[email protected]>
* Examples: Use qt_standard_project_setup()Kai Köhne2022-11-171-2/+2
| | | | | Change-Id: I0ceab08108b7e58e4e2ed25db9e3c289f5c0ddac Reviewed-by: Jörg Bornemann <[email protected]>
* Examples: Use Qt6:: to qualify Qt CMake packagesKai Köhne2022-11-172-4/+4
| | | | | | | This is what we promote also in the documentation. Change-Id: If91aebafe861b0c934acbb2c69afd182abc3345d Reviewed-by: Jörg Bornemann <[email protected]>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-232-2/+2
| | | | | | | Task-number: QTBUG-105718 Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]>
* Add license headers to cmake filesLucie Gérard2022-08-032-0/+6
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I3b98cdc55ead806ec81ce09af9271f9b95af97fa Reviewed-by: Jörg Bornemann <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-05-166-271/+12
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Lars Knoll <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]>
* Examples: Remove unneeded CMake optionsKai Köhne2022-01-241-4/+0
| | | | | | | | | | | | | | | CMAKE_INCLUDE_CURRENT_DIR is not necessary anymore for moc since CMake 3.8: https://cmake.org/cmake/help/latest/release/3.8.html#other-changes CMAKE_AUTORCC should not be used anymore. Instead, we now use qt_add_resources() or similar Enable CMAKE_AUTOUIC only if .ui files are present. Pick-to: 6.3 Task-number: QTBUG-87643 Change-Id: I835e2994cd5dba9918136999499b9077961b616c Reviewed-by: Jörg Bornemann <[email protected]>
* Examples: Fix whitespace issues in CMakeLists.txtKai Köhne2021-12-131-1/+3
| | | | | | Pick-to: 6.3 Change-Id: I8e6dd1f250f8be6016ee4164cb2ab7034cbb1203 Reviewed-by: Alexandru Croitor <[email protected]>
* Examples: Remove remaining conversion markers in CMakeLists.txtKai Köhne2021-12-132-4/+0
| | | | | | Pick-to: 6.3 Change-Id: Ia5d474a3efd6aadbd0ef1537318f2f24e6c24fee Reviewed-by: Alexandru Croitor <[email protected]>
* Examples: Use find_package(Qt6 REQUIRED COMPONENTS ...) idiomKai Köhne2021-12-101-3/+1
| | | | | | | | | Also consolidate several find_package(Qt6 ...) calls in one call. Task-number: QTBUG-98867 Change-Id: Idfd5e71f46d4489fac7411cbfadb84437a0658f3 Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Edward Welbourne <[email protected]>
* Raise cmake_minimum_required to VERSION 3.16 in examplesJoerg Bornemann2021-08-171-1/+1
| | | | | | | Pick-to: 6.2 Task-number: QTBUG-95636 Change-Id: I1270b4846d8a23bc3563b6942c0910e095d2be4a Reviewed-by: Alexandru Croitor <[email protected]>
* Build examples in isolated sub-builds using ExternalProjectCraig Scott2021-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Examples are intended to show how to build against an installed Qt. Building them as part of the main build means the way the Qt targets are defined and created are not representative of an end user's build. By building them as separate projects using ExternalProject, we can more closely replicate the intended audience's environment. This should allow us to catch more problems earlier. Having examples built as part of the main build also creates problems with some static builds where a tool built by the main build is needed during configure time. This happens with other repos like qtdeclarative but not (currently) with qtbase. Converting the examples in qtbase to be built using ExternalProject is intended as a demonstrator for how other repos can do similar. Until other repos are converted, they will continue to work as they did before, with examples as part of the main build for non-static builds only. The new build-externally behavior is only supported for non-prefix builds with this change. Prefix builds will continue to use the old non-external method. Support for building examples externally in prefix builds will be a separate change. Task-number: QTBUG-90820 Fixes: QTBUG-91068 Change-Id: I2304329940568dbdb7da18d54d5595ea7d8668bc Reviewed-by: Alexandru Croitor <[email protected]>
* CMake: Regenerate examples to set the WIN32_EXECUTABLE propertyAlexandru Croitor2020-10-271-0/+4
| | | | | | | | | As well as the MACOSX_BUNDLE properties as necessary. Task-number: QTBUG-87664 Task-number: QTBUG-86827 Change-Id: I7677449a26d51fa853bd67bab6b3b61afbd2b12f Reviewed-by: Joerg Bornemann <[email protected]>
* CMake: Regenerate examples to use qt_add_executableAlexandru Croitor2020-10-191-1/+1
| | | | | | Task-number: QTBUG-87661 Change-Id: I0dacfdc97a3fb7d88da85b67800f2c1b084d869b Reviewed-by: Joerg Bornemann <[email protected]>
* CMake: Regenerate examplesAlexandru Croitor2020-07-091-1/+5
| | | | | | Change-Id: I1c51b10af4e2b26f54740f257164c56a0e2a03ce Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Qt CI Bot <[email protected]>
* Use QList instead of QVector in examplesJarek Kobus2020-06-235-5/+5
| | | | | | Task-number: QTBUG-84469 Change-Id: Id14119168bb1bf11f99bda7ef6ee9cf51bcfab2e Reviewed-by: Sona Kurazyan <[email protected]>
* CMake: Regenerate examples/widgets/ projectsSona Kurazyan2020-04-291-0/+3
| | | | | | | | Also add the missing examples/widgets/gallery project. Change-Id: Iec3d61881065cf93d90f9fd3da928ffcd4f0c0aa Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Alexandru Croitor <[email protected]>
* Regenerate examplesAlexandru Croitor2020-02-041-1/+5
| | | | | | Change-Id: I04b2adbe370ffea81d7787ad90e4ae69d2c165cb Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <[email protected]>
* Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2019-10-145-25/+21
|\ | | | | | | Change-Id: I4a78428a8ea273b6960792e3b8043f816fa37fcf
| * Cleanup QtWidgets examplesChristian Ehrlicher2019-10-115-25/+21
| | | | | | | | | | | | | | | | | | | | | | Cleanup QtWidgets examples: - use nullptr (clang-tidy) - use member-initialization - adjust the style - fix includes Change-Id: Ic5448606aacc525ea60b615a69227017aa2b821a Reviewed-by: Paul Wicking <[email protected]>
* | Merge remote-tracking branch 'origin/wip/qt6' into wip/cmakeAlexandru Croitor2019-06-141-1/+1
|\| | | | | | | | | | | | | | | | | | | This changes many different CMake places to mention Qt6 instead of Qt5. Note that some old qt5 cmake config files in corelib are probably not needed anymore, but I still renamed and kept them for now. Change-Id: Ie69e81540386a5af153f76c0242e18d48211bec4
* | Fix compiling of examples on AndroidSimon Hausmann2019-06-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Simplify add_qt_gui_executable() to not require WIN32/MACOSX_BUNDLE but provide it implicitly. It's redundant :) * When on Android, build a module (shared library), just like qmake. This requires an additional library destination in the install() call, but that's ignored on other platforms. * Fix typos in the android deployment generation settings function * Use the correct cache variable to determine whether we're inside a Qt build or not. Right now this only works inside Qt builds anyway as QtPlatformAndroid.cmake is not publically accessible. Change-Id: If1c763c31a7a83d0e0d854362ba7901657f63eb5 Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Qt CMake Build Bot
* | Fix linking of examplesSimon Hausmann2019-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide add_qt_gui_executable() as function in our public API that takes care of automaticWinMain linkage. We can use this in the future to encapsulate similarplatform-specific behavior and adjustments, such as module generation onAndroid. In order for the examples to see the function in Qt5CoreMacros, three more additional fixes were required: * Do the build_repo_end() call _before_ attempting to build the examples, as we need the build_repo_end() to include QtPostProcess and complete the creation of all the target config files. Otherwise the find_package() calls in the examples see something incomplete. * Add more QT_NO_CREATE_TARGET guards * Always call find_dependency on the dependencies, regardless of the target creation mode. This way a find_package(Qt5 COMPONENTS Widgets) will still load Qt5CoreMacros. Change-Id: I03ce856e2f4312a050fe8043b8331cbe8a6c93e6 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <[email protected]> Reviewed-by: Alexandru Croitor <[email protected]>
* | Allow to build examples as standalone projectKevin Funk2019-06-051-13/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create CMake config files which can be used from the very same CMake project. These CMake config files simply do not create any targets, controlled via the QT_NO_CREATE_TARGETS. This patch also allows to build qtbase.git:examples as a standalone project, against an already-built Qt. Ran this: ag -s "QT " examples -l -0 | xargs -0 -n 1 .../util/cmake/pro2cmake.py --is-example Task-number: QTBUG-74713 Change-Id: I44cce5a4048618b30f890c5b789592c227a8b47d Reviewed-by: Alexandru Croitor <[email protected]>
* | Merge commit 'dev' into 'wip/cmake-merge'Tobias Hunger2019-04-161-1/+1
|\| | | | | | | Change-Id: I176c40d031be26a1dd1cf08843e448a660598783
| * Cleanup Widgets examples - foreachChristian Ehrlicher2019-01-231-1/+1
| | | | | | | | | | | | | | | | | | Cleanup the Widgets examples - replace foreach with range-based for loop in the remaining directories Change-Id: I321e6c0f414401a1ae4fb65762b97d894b725afa Reviewed-by: Paul Wicking <[email protected]> Reviewed-by: Luca Beldi <[email protected]>
* | CMake: Add widgets examplesTobias Hunger2019-03-262-0/+20
|/ | | | | Change-Id: Ib6142b93df066e3658eb189b50ca74c455fe7e56 Reviewed-by: Alexandru Croitor <[email protected]>
* Doc: Add missing full stops in briefsPaul Wicking2018-06-211-1/+1
| | | | | | Task-number: QTBUG-68933 Change-Id: I3f2a9f8c562f9a44bb32bddd31d75abbfe6de04d Reviewed-by: Topi Reiniö <[email protected]>
* qtlite: Skip building examples when configured with no-feature-itemviewsRainer Keller2018-01-121-0/+1
| | | | | | | | | Compiling the default examples should be possible without compile errors. Task-number: QTBUG-53141 Change-Id: I73d8787241291ae6230861a89b38e91d900fede0 Reviewed-by: Oswald Buddenhagen <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
* Examples: Replace 'Q_DECL_OVERRIDE' by 'override'hjk2016-06-151-4/+4
| | | | | | | | Examples should demonstrate best practice, and we can use the keyword directly nowadays. Change-Id: I1f122e5caceca17290757ffbaf3d660e7daa9ae4 Reviewed-by: Topi Reiniö <[email protected]>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-04-071-1/+0
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/network/access/qftp.cpp src/widgets/itemviews/qheaderview.cpp src/widgets/itemviews/qlistview.cpp tests/auto/network/access/qftp/tst_qftp.cpp Change-Id: I9f928f25d45d8944dd60bb583f649fc1615bc5d9
| * Remove empty first lines of files.Friedemann Kleint2016-04-061-1/+0
| | | | | | | | | | | | | | They might upset licensing related tools. Change-Id: I858d21fc418ba16959c88847b559b11bea29ed6b Reviewed-by: Oswald Buddenhagen <[email protected]>
* | Unify license header usage.Jani Heikkinen2016-03-296-20/+70
|/ | | | | | | | | Update files using old header.LGPL3 to header.LGPL Update files using old FDL template to use new one Update files using old BSD template to use new one Change-Id: I36a78272516f9953d02956522f285b40adfc8915 Reviewed-by: Lars Knoll <[email protected]>
* Examples/Doc snippets: Fix single-character string literals.Friedemann Kleint2015-10-131-5/+5
| | | | | | | Use character literals where applicable. Change-Id: I79fa5018f05735201ae35ee94ba0d356fcad1056 Reviewed-by: Topi Reiniö <[email protected]>
* Clean up debug code and unused functions from imagegestures exampleJoni Poikelin2015-10-013-4/+0
| | | | | Change-Id: I0dbbb5c6f3227e8cfe3e0f6eb27b2bf16b5d222b Reviewed-by: Friedemann Kleint <[email protected]>
* Use QImageReader::setAutoTransform() in examples.Friedemann Kleint2015-07-131-0/+1
| | | | | | Change-Id: If80616d680f1aa6c9d5cd1a4080710e5ad67d603 Reviewed-by: Rainer Keller <[email protected]> Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-06-011-0/+3
|\ | | | | | | | | | | | | | | Conflicts: qmake/generators/mac/pbuilder_pbx.cpp src/corelib/global/qglobal.h Change-Id: I2c0f7544bf194f2d0f59218fd583c822901487b0
| * Doc: Added the missing \brief and \image for example docsVenugopal Shivashankar2015-05-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | The Qt TestLib examples are just tutorials so updated the qdocconf to use the default thumbnail in the Qt Creator welcome screen. Task-number: QTBUG-41996 Change-Id: Ia04a42a92e414c97a426b6095a62621a348e7de0 Reviewed-by: Topi Reiniö <[email protected]> Reviewed-by: Martin Smith <[email protected]>
* | doc: imagegestures example: document the pinch handlerShawn Rutledge2015-03-032-15/+54
| | | | | | | | | | | | | | | | | | | | | | The swipe handler is simple, and also doesn't currently work on every platform. But the pinch handler is the one that needs explanation, because the difference between incremental and absolute values of the rotation and scale properties is tricky. Change-Id: Ie3c7f4941d4a17734c9a920a8dd978f86fb03c4b Reviewed-by: Friedemann Kleint <[email protected]> Reviewed-by: Topi Reiniö <[email protected]>
* | imagegestures example: scaleFactor is relative; get values directlyShawn Rutledge2015-02-251-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | QPinchGesture::scaleFactor is relative to the previous zoom factor, so either we need to multiply the total zoom by scaleFactor, or set it based on totalScaleFactor, which is simpler. Pinch-zoom is now working in this example. There's also no reason to use getProperty() when the accessors are directly accessible in QPinchGesture. Task-number: QTBUG-6010 Change-Id: I150dc0b18b4b871a08ec55c0f77463509ab26afe Reviewed-by: Friedemann Kleint <[email protected]>
* | Updated BSD licensed file headersJani Heikkinen2015-02-155-15/+15
| | | | | | | | | | Change-Id: I6441ff931dbd33b698d762e6f6784898f3f60fe7 Reviewed-by: Oswald Buddenhagen <[email protected]>
* | Update copyright headersJani Heikkinen2015-02-116-31/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <[email protected]>