[qt/qt/qtbase]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/qt/qtbase Pushed by mirror-service into branch '6.12'. Changed from 6267a5d6b1b35bac2da1a80062d0b68cc9e9fffc to 65308bf9e1222a7facce4bc7c295dd016d972251 Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository. This change contains the following new commits: Git commit 5ed8a6d51faaac99e1630655cc6da557a48436a7 by Zbigniew Chyla on 19/07/2026 at 22:14.. ohos: extract path/URI conversion into corelib The OHOS platform plugin, QtOhosAppKit, and QFileSystemEngine each carry their own copy of the OH_FileUri path/URI conversion helper, duplicating the output buffer handling and warning logic. Add tryMapPathToOhosFileUri() and tryMapOhosFileUriToPath() to corelib (src/corelib/platform/ohos/), returning std::optional to report conversion failure, and redirect the existing callers to them. This removes the duplication and lets plugin-external code reuse the conversion without depending on plugin internals. Task-number: QTBUG-147194 Change-Id: Ife07a8e429f76c6d960f1f06abe11e8fa0e3c80e Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit ac99c4148329694abd8c96057a51edf3c64a449e) https://invent.kde.org/qt/qt/qtbase/-/commit/5ed8a6d51faaac99e1630655cc6da557a48436a7 Git commit 8e7fa6b07b51d81e85b368a1b84a3456633c5c1f by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: use QWindow ref for QOhosWindowManager dialogs The showFileDialog* helpers take a QtOhos::InternalWindowId and resolve it on the main thread through the plugin-internal QWindowProxyRegistry. Take a QtOhos::QObjectThreadSafeRef instead and resolve both the owning ability and the modal-parent window object on the JS thread via QOhosJsState. This decouples the helpers from plugin internals so one of them can later move out of the OHOS plugin; they share the same machinery, so decoupling one decouples all three. Behavior is preserved for registered windows and for the no-window case (default ability, no modal parent). One relaxation: an unrealized parent window currently aborts; it now degrades to the default ability (effectively unreachable, as a dialog's parent is shown). Task-number: QTBUG-147194 Change-Id: Ic4000df1f88a0efb56612248e333889906356171 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit e1b72074df521149adfe4c522fca03f4ed2cebed) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/8e7fa6b07b51d81e85b368a1b84a3456633c5c1f Git commit 2e2424e9215f223f49290d1cbe8e253d649d8cd1 by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: inline startOhosFilePicker into showFileDialogAuthorization showFileDialogAuthorization goes through the shared startOhosFilePicker helper, which the other two dialogs also use. Inline it here so this one function is self-contained, a step toward moving it out of the plugin without dragging the shared helper along. The inlined form drops the generic FilePickerResult indirection: the picker's selected index (unused for authorization) is no longer read, and the result is reduced directly to the authorized bool. Behavior is otherwise unchanged, and startOhosFilePicker stays for the open/save dialogs. Task-number: QTBUG-147194 Change-Id: Ie7920f246739420d987ce6e26bd640087318b429 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 3f65f96e3251e831282e868aae299bfc06ea5b66) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/2e2424e9215f223f49290d1cbe8e253d649d8cd1 Git commit a43fb20b3a4c9175f93ff65abe3c812fbf30da47 by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: inline makeDocumentViewPicker into showFileDialogAuthorization Continue making showFileDialogAuthorization self-contained ahead of moving it out of the plugin: inline makeDocumentViewPicker's body (JS window lookup, ability context, picker construction) into it. makeDocumentViewPicker stays for the open/save dialogs, which reach it through startOhosFilePicker. Behavior is unchanged. Task-number: QTBUG-147194 Change-Id: Idb832f380f313bf097dcf45f7582cb7d9130d72b Reviewed-by: Arkadiusz Zarębski <[email protected]> Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 609e5c382c33e3851874c44a04579fc4fd5c4ea4) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/a43fb20b3a4c9175f93ff65abe3c812fbf30da47 Git commit 8db24cab961b624b3a14d6c7a4844b0af5fcd248 by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: drop needless URI mapping in showFileDialogAuthorization showFileDialogAuthorization only reports whether the user picked anything, so check the result array's length directly instead of extracting its OHOS file URIs and mapping them to paths and Qt URLs purely to test emptiness. Both mapping helpers stay for the open/save dialogs. Task-number: QTBUG-147194 Change-Id: Ib42c16c0583af93855ec3119ba77d6e48b49d0e0 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> Reviewed-by: Arkadiusz Zarębski <[email protected]> (cherry picked from commit d55ea953f71fa9c0d2c51a9647defe13818660a8) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/8db24cab961b624b3a14d6c7a4844b0af5fcd248 Git commit 481163a7913f499f4cb62738ab9d7cf9b0db790a by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: resolve auth dialog ability via QOhosJsState showFileDialogAuthorization resolves the picker's ability context through the plugin peer API (getQAbilityPeerForQWindow, then QAbilityPeer::qAbility). Get the ability object straight from QOhosJsState instead - tryGetQAbilityByQWindow with a defaultQAbility fallback - so this path no longer touches the peer type, one less plugin dependency before the move. getQAbilityPeerForQWindow stays for the open/save dialogs. Task-number: QTBUG-147194 Change-Id: I51aded8fc732b6780a208622ed958418b0039156 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 34c2dd0df62f6869f2fa686b8a18c25051121391) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/481163a7913f499f4cb62738ab9d7cf9b0db790a Git commit 27bc4f413f599ca97f2c8917d4754d558d24e566 by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: move file authorization to QtOhosAppKit The file-path authorization dialog lives inside the OHOS platform plugin: QOhosWindowManager::showFileDialogAuthorization() runs the DocumentViewPicker in authMode, and QOhosQpaFunctions exposes it to Qt via showFileDialogToAuthorizeFilePath(). Nothing outside the plugin can reach it, and the QPA hook has no in-tree caller. Introduce QtOhosAppKit::authorizeFilePath(), modelled on qt5's QtOhosExtras::authorizeFilePath(), which drives the picker directly through the corelib QOhosJsState JS-thread API. Move the dialog logic and the event-loop bridge into QtOhosAppKit, and drop the now-unused showFileDialogAuthorization() and QOhosQpaFunctions hook. Task-number: QTBUG-147194 Change-Id: I20a691e7c792cf6857cf6da5f0f1b1f036e1c387 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 08d9a2ba6014d9f14fc3b5733b0a654cd21f84a4) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/27bc4f413f599ca97f2c8917d4754d558d24e566 Git commit 6c44b9693e2aac410ffa5a496ab7e3f519bea53f by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: add QtOhosAppKit::tryGetNativeWindowId() Add QtOhosAppKit::tryGetNativeWindowId(), modelled on qt5's QtOhosExtras::tryGetNativeWindowId(), to expose a window's native OpenHarmony id to plugin-external code. It delegates to a new internal QNativeInterface::Private::QOhosWindow::windowId(), implemented by QOhosPlatformWindow. Drop the now-unused QOhosQpaFunctions hook that previously provided the id. Task-number: QTBUG-147194 Change-Id: Icfe20479d5bbdf387537abf4c35c24a269a008be Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 2666e4af2ed50023d7d76ef3c36c0d9c2151c591) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/6c44b9693e2aac410ffa5a496ab7e3f519bea53f Git commit 8c4d1013775327667e5a610cdda6055f528499c0 by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: add QtOhosAppKit::tryGetScreenDisplayId() Add QtOhosAppKit::tryGetScreenDisplayId(), modelled on qt5's QtOhosExtras::tryGetScreenDisplayId(), to expose a screen's native OpenHarmony display id to plugin-external code. It delegates to a new internal QNativeInterface::Private::QOhosScreen::displayId(), implemented by QOhosPlatformScreen. Drop the now-unused QOhosQpaFunctions hook that previously provided the id. Task-number: QTBUG-147194 Change-Id: I6c3dfbaa751e351be2d0d464b73903cc8aa6d4ca Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit ac6e2e3ca47021349e68ebbaf58ddf008dcc22b1) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/8c4d1013775327667e5a610cdda6055f528499c0 Git commit 23f6ad85811b7b0cb1d94c8f6702501bde2646af by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: add QOhosAppContext::isNoUiChildMode() Add QtOhosAppKit::QOhosAppContext::isNoUiChildMode(), modelled on qt5's QtOhosExtras::QOhosAppContext::isNoUiChildMode(), to expose to apps whether the current process was started as a "No UI" child process. It checks the default QAbility on the JS thread via QOhosJsThreadGateway and caches the result, since the mode is fixed for the process lifetime. Drop the now-unused QOhosQpaFunctions::readOhosNoUiChildMode() hook that the qt5 implementation relied on. That hook tested defaultQAbilityPeer()->instanceId().empty(); the new check !defaultQAbility() is equivalent, as both are true exactly when the default QAbility peer is the dummy peer, where the empty instance id and the empty ability always go together. Task-number: QTBUG-147194 Change-Id: I7b65e292e47f26523de0e043a5c2efd7ea7dcc84 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 5b253e1c08bfd29c50975476ea8003e86dbc92d9) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/23f6ad85811b7b0cb1d94c8f6702501bde2646af Git commit e9591e0960f313001e77e6362c607c5195901b86 by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: add setMainWindowGeometryPersistenceHint() Add QtOhosAppKit::Window::setMainWindowGeometryPersistenceHint(), modelled on qt5's QtOhosExtras::setMainWindowGeometryPersistenceHint(), to let apps control whether the main window restores its last geometry on startup. It bridges to the plugin through a new private QOhosIntegration native interface method that takes a std::optional<bool> (true/false/unset = Enabled/Disabled/FollowSystemSetting), avoiding a bridge-level enum. Drop the now-unused QOhosQpaFunctions counterpart that the qt5 implementation relied on. Task-number: QTBUG-147194 Change-Id: I19093078cfac41ae6c8d08629aab4ebc2441ff2b Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 168ecaee88a4c891ac938694f51f3cad80748c55) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/e9591e0960f313001e77e6362c607c5195901b86 Git commit 7976455772e366354002249775e81a79c4223c8b by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: drop dead setInAppOnlyPasteboardShareOption() hook Remove QOhosQpaFunctions::setInAppOnlyPasteboardShareOption() and its QOhosQpaFunctionsImpl implementation. It is dead scaffolding: apps already reach this functionality through the existing QtOhosAppKit::QOhosPasteboard::setInAppOnlyPasteboardShareOption(), which doesn't use QOhosQpaFunctions implementation. Task-number: QTBUG-147194 Change-Id: I5f46fb1280856f26033469feff58565657274d90 Reviewed-by: Arkadiusz Zarębski <[email protected]> Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 28b2b2db5e8ffaa956b7acfa2ec7600c76851e2d) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/7976455772e366354002249775e81a79c4223c8b Git commit d71a2ab1fd691699e1ddb1eab7bca12851960274 by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: give appContext env callback typed method list registerAppContextEnvironmentCallback() takes the callback as a QNapi::Object, an opaque type that expresses nothing at compile time about the required shape (a set of named callback functions). Take the methods directly instead, as a std::vector<std::pair<std::string, QNapi::CallbackFuncWrapper>>, so the parameter's static type states exactly what it accepts, and the helper builds the JS EnvironmentCallback object itself. This also makes the registration reusable by callers that only want to supply handlers rather than assemble QNapi objects. Update registerAppConfigurationUpdateListener() to pass the method list. Task-number: QTBUG-147194 Change-Id: I1f854ea31d860472876fb5faf6a6721b517aeda3 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit c359f4d6de1b629a7908a87af4a289df73e240fe) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/d71a2ab1fd691699e1ddb1eab7bca12851960274 Git commit 5c22c156c8e72f55af3b3639593a1922d5292de3 by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: inline and drop registerAppConfigurationUpdateListener registerAppConfigurationUpdateListener() is a thin wrapper with a single caller, makeOhosConfigValueDataSource(). Now that registerAppContextEnvironmentCallback() takes the callback methods directly, the wrapper only forwards an onConfigurationUpdated handler. Inline it into makeOhosConfigValueDataSource() and remove it. Task-number: QTBUG-147194 Change-Id: Id0d2ceae3481e3e58361a86fbd82e7da4cc0ad87 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit f568d21d084a47a502d1bf547a88aa067100ec00) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/5c22c156c8e72f55af3b3639593a1922d5292de3 Git commit 3a9375d2e4ea5a3bca15b0ec0dc4d9c7c8f463c3 by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: decouple appContext env callback from in-plugin APIs registerAppContextEnvironmentCallback() depends on plugin-internal APIs: it takes a QtOhos::JsState, reads the ability via defaultQAbilityPeer(), and unregisters via runInJsThreadAndWait(). These keep it bound to the platform plugin. Switch it to the corelib QOhosJsState interface: take QOhosJsState, read the ability via defaultQAbility(), and unregister via QOhosJsThreadGateway::runAndWait(). It now depends only on corelib APIs, so it can be reused (and later relocated) outside the plugin. defaultQAbility() yields no value when there is no default ability; in that case register nothing and return an empty handle, rather than evaluating on the dummy ability. Task-number: QTBUG-147194 Change-Id: I4636a1db6874221c085139173f1761fde3cce276 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 42b7fa6319d4817febb190939385d14435e74460) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/3a9375d2e4ea5a3bca15b0ec0dc4d9c7c8f463c3 Git commit 951b464798a6be20318442b06138e0b9f8b0e374 by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: mv appContext env callback registration to corelib We want to use registerAppContextEnvironmentCallback() outside the OHOS platform plugin. It now depends only on corelib APIs, so move it from the plugin (qohosjsutils) to corelib (qohosjstools) and export it as registerOhosAppContextEnvironmentCallback() (corelib symbols carry the Ohos prefix). Task-number: QTBUG-147194 Change-Id: I5e75b4a00947dc2f508c0cb2159e8b72ac759773 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 8aef367d21c52c27e892e240fff87164dada3ea9) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/951b464798a6be20318442b06138e0b9f8b0e374 Git commit 65308bf9e1222a7facce4bc7c295dd016d972251 by Zbigniew Chyla on 20/07/2026 at 05:56.. ohos: expose font size scale via QOhosAppContext Add fontSizeScale() and the fontSizeScaleChanged() signal to QtOhosAppKit::QOhosAppContext, modelled on qt5's QtOhosExtras::QOhosAppContext, so applications can read the current OHOS font size scale and react to changes. QOhosAppContextImpl backs them with a corelib data source (makeQOhosDataSource) seeded from the app configuration and updated via registerOhosAppContextEnvironmentCallback(); changes are delivered on the Qt thread and emitted as fontSizeScaleChanged(). Drop the now-unused QOhosQpaFunctions backend (makeOhosConfigFontSizeScaleDataSource), which existed only for qt5's QtOhosExtras. Task-number: QTBUG-147194 Change-Id: I64f8dd9942436f93a3e12672a09313b3f79738c1 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 3cbcc6ac6b126172d0c8361b358d3cdc17cdbc72) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/65308bf9e1222a7facce4bc7c295dd016d972251