[PR #1061] [MERGED] Improve navigation cpp #2224

Closed
opened 2026-10-13 21:19:52 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/amnezia-vpn/amnezia-client/pull/1061
Author: @CyAn84
Created: 9/11/2024
Status: ✅ Merged
Merged: 12/31/2024
Merged by: @Nethius

Base: dev ← Head: improve_navigation_cpp


📝 Commits (10+)

📊 Changes

109 files changed (+3905 additions, -3569 deletions)

View changed files

📝 CMakeLists.txt (+2 -2)
📝 client/CMakeLists.txt (+2 -0)
📝 client/amnezia_application.cpp (+3 -0)
📝 client/amnezia_application.h (+2 -0)
📝 client/android/AndroidManifest.xml (+8 -1)
➖ client/android/res/mipmap-anydpi-v26/ic_banner.xml (+0 -5)
➕ client/android/res/mipmap-hdpi/ic_banner.png (+0 -0)
➕ client/android/res/mipmap-mdpi/ic_banner.png (+0 -0)
➖ client/android/res/mipmap-xhdpi/ic_banner_foreground.png (+0 -0)
📝 client/android/res/values-ru/strings.xml (+2 -0)
➖ client/android/res/values/ic_banner_background.xml (+0 -4)
📝 client/android/res/values/strings.xml (+2 -0)
📝 client/android/src/org/amnezia/vpn/AmneziaActivity.kt (+170 -36)
➕ client/android/src/org/amnezia/vpn/TvFilePicker.kt (+45 -0)
📝 client/platforms/android/android_controller.cpp (+25 -3)
📝 client/platforms/android/android_controller.h (+4 -0)
📝 client/resources.qrc (+180 -178)
➕ client/ui/controllers/focusController.cpp (+210 -0)
➕ client/ui/controllers/focusController.h (+57 -0)
📝 client/ui/controllers/importController.cpp (+12 -10)

...and 80 more files

📄 Description

This is still draft pull request since the transitions need to be fixed.
The idea of navigation is follow:
there are QML components which should be focused with property isFocusable with key Tab handlers, focusController goes through all visible components with this property.
No need to describe the focus logic manually but the focus navigation algorythm is straightforward - from upper left to bottom right.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/amnezia-vpn/amnezia-client/pull/1061 **Author:** [@CyAn84](https://github.com/CyAn84) **Created:** 9/11/2024 **Status:** ✅ Merged **Merged:** 12/31/2024 **Merged by:** [@Nethius](https://github.com/Nethius) **Base:** `dev` ← **Head:** `improve_navigation_cpp` --- ### 📝 Commits (10+) - [`02bbcd3`](https://github.com/amnezia-vpn/amnezia-client/commit/02bbcd3a31393f910825e66cc16790f1008ab3bc) add focusController class - [`cecee37`](https://github.com/amnezia-vpn/amnezia-client/commit/cecee3769e20379ca6959a7900fa7b63cb51f0e8) add more key handlers - [`01e31b4`](https://github.com/amnezia-vpn/amnezia-client/commit/01e31b4b4d6e137653307cc95a15b213f8dc79ba) add focus navigation to qml - [`78a4caa`](https://github.com/amnezia-vpn/amnezia-client/commit/78a4caa47eb6cbb819f0d650864861cc6b268645) fixed language selector - [`f189f7b`](https://github.com/amnezia-vpn/amnezia-client/commit/f189f7b6af3d96ab07617e8eceb3ce33b779467c) add reverse focus change to FocusController - [`b4f4ec4`](https://github.com/amnezia-vpn/amnezia-client/commit/b4f4ec4ac96c0db3ea18e0819c76c7aafffc364c) add default focus item - [`3c655d0`](https://github.com/amnezia-vpn/amnezia-client/commit/3c655d0051444e81a71e4b2eacdaafa04b127573) update transitions - [`75f189e`](https://github.com/amnezia-vpn/amnezia-client/commit/75f189e25694e0a6563eca09b8e696324321a23c) update pages - [`f3df9eb`](https://github.com/amnezia-vpn/amnezia-client/commit/f3df9eb5f51697550eed8d4282db68dc30c1d36f) add ListViewFocusController - [`89ac585`](https://github.com/amnezia-vpn/amnezia-client/commit/89ac585e07ddab7a2f7512eefefbc8dc77c030bd) fix ListView navigation ### 📊 Changes **109 files changed** (+3905 additions, -3569 deletions) <details> <summary>View changed files</summary> 📝 `CMakeLists.txt` (+2 -2) 📝 `client/CMakeLists.txt` (+2 -0) 📝 `client/amnezia_application.cpp` (+3 -0) 📝 `client/amnezia_application.h` (+2 -0) 📝 `client/android/AndroidManifest.xml` (+8 -1) ➖ `client/android/res/mipmap-anydpi-v26/ic_banner.xml` (+0 -5) ➕ `client/android/res/mipmap-hdpi/ic_banner.png` (+0 -0) ➕ `client/android/res/mipmap-mdpi/ic_banner.png` (+0 -0) ➖ `client/android/res/mipmap-xhdpi/ic_banner_foreground.png` (+0 -0) 📝 `client/android/res/values-ru/strings.xml` (+2 -0) ➖ `client/android/res/values/ic_banner_background.xml` (+0 -4) 📝 `client/android/res/values/strings.xml` (+2 -0) 📝 `client/android/src/org/amnezia/vpn/AmneziaActivity.kt` (+170 -36) ➕ `client/android/src/org/amnezia/vpn/TvFilePicker.kt` (+45 -0) 📝 `client/platforms/android/android_controller.cpp` (+25 -3) 📝 `client/platforms/android/android_controller.h` (+4 -0) 📝 `client/resources.qrc` (+180 -178) ➕ `client/ui/controllers/focusController.cpp` (+210 -0) ➕ `client/ui/controllers/focusController.h` (+57 -0) 📝 `client/ui/controllers/importController.cpp` (+12 -10) _...and 80 more files_ </details> ### 📄 Description This is still draft pull request since the transitions need to be fixed. The idea of navigation is follow: there are QML components which should be focused with property `isFocusable` with key Tab handlers, `focusController` goes through all visible components with this property. No need to describe the focus logic manually but the focus navigation algorythm is straightforward - from upper left to bottom right. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-13 21:19:52 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amnezia-client#2224
No description provided.