summaryrefslogtreecommitdiffstats
path: root/src/webenginequick/ui_delegates_manager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Upgrade loading of ui delegatesMichal Klocek2025-08-011-56/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | Our loading ui delegates implementation dates back to Qt5 where we supported qquickcontrols1 with qquickcontrols2 overrides. Also it provided an unofficial way to customize the ui delegates by providing own qml files as we createed qml compnonents by loading qml files. This works fine if you have deployed ui delegates qml files on target systems. However, qt-cmake deployment scripts do not handle qml file deploment instead qml plugins are used. Therefore, drop the qml file based delegate creation and simply let the qml enigne load the module and create the component. Note we have now the proper delgates ui/request api to provide way to customize delegates, however provide still way of overriding delegates with own delegates module by setting environment variable QTWEBENGINE_UI_DELEGATE_MODULE. This varaible can contain the list of modules spearted by semicollon. Task-number: QTBUG-111907 Pick-to: 6.10 Change-Id: Ie79f863e75ea69f6a0e600c627ab111224b5e79c Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* Fix crash if ui delegates are not deployedMichal Klocek2025-07-031-0/+1
| | | | | | | | | | | | | | | | In case delegate for touch handle can not be loaded bail out and simply return nullptr as TouchHandleDrawableQt works fine without delegate (guards against nullptr). Note all other dialog already bailout in case default delegate can not be loaded. Tested on bookworm with 6.8.3 Fixes: QTBUG-111907 Pick-to: 6.10 6.9 6.8 Change-Id: Ib509b63010888fa718f23148c06d973382cad428 Reviewed-by: Michael Brüning <[email protected]>
* Port to new Q_UNREACHABLE_RETURN()Marc Mutz2025-02-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator to convert sequences of Q_UNREACHABLE() + return into Q_UNREACHABLE_RETURN(), newly added to qtbase. const std::string unr = "unr", val = "val", ret = "ret"; auto makeUnreachableReturn = cat("Q_UNREACHABLE_RETURN(", ifBound(val, cat(node(val)), cat("")), ")"); auto ignoringSwitchCases = [](auto stmt) { return anyOf(stmt, switchCase(subStmt(stmt))); }; makeRule(stmt(ignoringSwitchCases(stmt(isExpandedFromMacro("Q_UNREACHABLE")).bind(unr)), nextStmt(returnStmt(optionally(hasReturnValue(expr().bind(val)))).bind(ret))), {changeTo(node(unr), cat(makeUnreachableReturn, ";")), // TODO: why is the ; lost w/o this? changeTo(node(ret), cat(""))}, cat("use ", makeUnreachableReturn)); a.k.a qt-use-unreachable-return. subStmt() and nextStmt() are non-standard matchers. Also made a manual scan to update the patch to 6.10. Pick-to: 6.9 Change-Id: Ic612e11dce9180f5e3e81b377985332e6f26bacb Reviewed-by: Ivan Solovev <[email protected]> Reviewed-by: Marc Mutz <[email protected]> Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* Do not override signals in qml delegatesMichal Klocek2024-10-311-1/+6
| | | | | | | | | | | | | | Since 36478e25 in qtdeclarative overriding signals is reported as warning and will be dropped in the future as it is not supported. Drop 'accepted' and 'rejected' signals and use signals from base component, which is the "correct" way of handling it. Remove some logic coming from qqc1. Pick-to: 6.8 Change-Id: I3eeeca4b25fb866d0c6e3da01c1513afd85904f0 Reviewed-by: Michael Brüning <[email protected]>
* fix: Avoid empty engineTian Shilin2024-08-201-2/+4
| | | | | | | | | | | | | | | | | | The engine variable is obtained by calling qmlEngine(m_view). If m_view is not associated with a valid QML engine, then the engine may be null,so advancing the null check on the engine to immediately after the engine is fetched ensures that an invalid engine is not accidentally used in subsequent code, especially if(m_importDirs.isEmpty() && !initializeImportDirs(m_importDirs, engine)),which I verified with a static scan tool to verify the above statement,and found that it does indeed result in a nullpointer error of type Pick-to: 6.8 6.7 Change-Id: I8cc427d2b94f93e8c9fc24a202d41abd8e00143d Reviewed-by: Michal Klocek <[email protected]>
* Add the missing _p suffix to the private header files in WebEngineQuick/WidgetsAlexey Edelev2024-04-251-1/+1
| | | | | | | Pick-to: 6.5 6.6 6.7 Change-Id: I4b64147cb70c3994ed054374c9047fe9274da777 Reviewed-by: Moss Heim <[email protected]> Reviewed-by: Michal Klocek <[email protected]>
* Replace custom ColorDialog with QtQuick ColorDialogMartin Negyokru2023-02-011-1/+8
| | | | | | | | Add fallback to custom implementation. Add subdirectories of ControlsDelegates to import path. Change-Id: I88224b267419664484cd0667456d9463d5c61bee Reviewed-by: Peter Varga <[email protected]>
* Quick: Fix file selection modes in the default UI delegateSzabolcs David2023-01-151-4/+39
| | | | | | | | | | Our implementation of QML file picker was outdated. Now directory picker is a separate type of dialog and other file selection modes are set in FileDialog.fileMode property. Pick-to: 6.4 6.5 Change-Id: Icc62369539c56666e596e5ee6f1b3068a43acd81 Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* Speculative fix for MSVCAllan Sandfeld Jensen2022-10-201-6/+0
| | | | | | | | | | Remove special code for MSVC, as it now produces warnings. Task-number: QTBUG-107778 Change-Id: I2b821693cb00ec5d1efc3cd7ed3a545e47a2b9d3 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Allan Sandfeld Jensen <[email protected]> Reviewed-by: Michael Brüning <[email protected]>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-071-1/+1
| | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I4b5f85df579532c2af938fe70db945ba273782fb Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-06-221-38/+2
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I869ffda1080e283f231eb0dc4477b260f2054d99 Reviewed-by: Jörg Bornemann <[email protected]>
* Update .clang-format and fix messed up stylePeter Varga2022-06-221-1/+4
| | | | | | | | | | | | | | | | - Make sure clang-format doesn't reformat SPDX-License-Identifier (see https://code.qt.io/cgit/qt/qt5.git/commit/?id=6a4dab1134b10b432f69819018fef2044520e0ca ) - Fix C++ version to C++17 (see https://code.qt.io/cgit/qt/qt5.git/commit/?id=fe9efd359498dc342257908f6c9c2183e95fc05d ) - Update _clang_format to avoid adding a space in list-initialization (see https://code.qt.io/cgit/qt/qt5.git/commit/?id=fc7251edfaf782f184030a5787fe3a88feef6083 ) - Disable indentation for preprocessing directives. - Fix indentation of UIDelegatasManager macros and prevent formatting them. Pick-to: 6.4 Change-Id: Ieb59c993ee715430ebc2830828e488b9f62ec727 Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* Support HTML5 <datalist> elementPeter Varga2022-06-191-1/+157
| | | | | | | | | | | | | | | | | The datalist uses Chromium's autofill component to fetch and filter predefined options in the list and autocomplete the field with the selected option. Autofill component is added to build and bound to WebEngine. All the unnecessary autofill features for datalist are supposed to be disabled: payment/credit card support, password manager, save profile data, store suggestions in database etc. Custom popups for the dropdown are implemented for Widget and Quick. Scrolling in dropdown is not implemented in this change. Fixes: QTBUG-54433 Pick-to: 6.4 Change-Id: I155d02d6dbc9d88fbca4bc5f55b76c19d0ba7a9d Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* Quick: Add support for replacing touch handles with delegatesBalazs Egedi2022-05-041-1/+1
| | | | | | Task-number: QTBUG-85043 Change-Id: I1c87aff352e07eb309d5ba8747b9e50a191d478e Reviewed-by: Michal Klocek <[email protected]>
* webenginequick: Avoid deprecated QQmlListReference ctorFabian Kosmale2022-01-261-2/+2
| | | | | | | | | This doesn't modify the signature of appendExtraItems (which no longer requires the engine pointer) to keep the change minimal. Pick-to: 6.3 Change-Id: I2a649cd8d8e68c4c6e1a607d881f9180ac931032 Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* Clean up quick APIPeter Varga2021-07-191-10/+11
| | | | | | Pick-to: 6.2 Change-Id: I9407d407b203b8e2bb13768e5a899624ea47282a Reviewed-by: Michal Klocek <[email protected]>
* Merge UI2DelegatesManager into UIDelegatesManagerBalazs Egedi2021-07-181-92/+4
| | | | | | | | | | Drop Quick Controls 1 support. Task-number: QTBUG-93666 Pick-to: 6.2 Change-Id: I68580ef4649141d3d1507fd207088794e7764d2a Reviewed-by: Peter Varga <[email protected]> Reviewed-by: Michal Klocek <[email protected]>
* Remove Quick Controls 1 UIDelegates and introduce UIDelegates testBalazs Egedi2021-07-011-12/+6
| | | | | | | | | | | - Renamed Controls2Delegates to ControlsDelegates - Removed option to use Quick Controls 1 delegates - Added test to check if controls are shown Task-number: QTBUG-93666 Change-Id: Iccca948615309285db7fc57d14fb1cdcdef28051 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Peter Varga <[email protected]>
* Fix 'WebEngine' ambiguity for Qt6Michal Klocek2021-04-131-0/+740
'WebEngine' is a qml module, however name itself is ambiguous. Thefore now with Qt6 and with cmake port name the module as WebEngineQuick. Change-Id: I948672dd5d389a01c6a31ec871459164fd989c0f Reviewed-by: Allan Sandfeld Jensen <[email protected]>