From c9486816244c5290aa1ad658979d896823e50c0a Mon Sep 17 00:00:00 2001 From: Anton K Date: Sun, 29 Jun 2025 12:38:41 +0300 Subject: [PATCH] feat: Show app path in app tunneling screen --- client/ui/models/appSplitTunnelingModel.cpp | 6 +++++- client/ui/models/appSplitTunnelingModel.h | 3 ++- client/ui/qml/Pages2/PageSettingsAppSplitTunneling.qml | 8 +++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/client/ui/models/appSplitTunnelingModel.cpp b/client/ui/models/appSplitTunnelingModel.cpp index 2fb2d084..dc77717c 100644 --- a/client/ui/models/appSplitTunnelingModel.cpp +++ b/client/ui/models/appSplitTunnelingModel.cpp @@ -26,9 +26,12 @@ QVariant AppSplitTunnelingModel::data(const QModelIndex &index, int role) const return QVariant(); switch (role) { - case AppPathRole: { + case AppNameRole: { return m_apps.at(index.row()).appName; } + case AppPathRole: { + return m_apps.at(index.row()).appPath; + } default: { return true; } @@ -89,6 +92,7 @@ void AppSplitTunnelingModel::toggleSplitTunneling(bool enabled) QHash AppSplitTunnelingModel::roleNames() const { QHash roles; + roles[AppNameRole] = "appName"; roles[AppPathRole] = "appPath"; return roles; } diff --git a/client/ui/models/appSplitTunnelingModel.h b/client/ui/models/appSplitTunnelingModel.h index b96c0472..76d581d3 100644 --- a/client/ui/models/appSplitTunnelingModel.h +++ b/client/ui/models/appSplitTunnelingModel.h @@ -12,7 +12,8 @@ class AppSplitTunnelingModel: public QAbstractListModel public: enum Roles { - AppPathRole = Qt::UserRole + 1, + AppNameRole = Qt::UserRole + 1, + AppPathRole, PackageAppNameRole, PackageAppIconRole }; diff --git a/client/ui/qml/Pages2/PageSettingsAppSplitTunneling.qml b/client/ui/qml/Pages2/PageSettingsAppSplitTunneling.qml index e31c92db..dc022e83 100644 --- a/client/ui/qml/Pages2/PageSettingsAppSplitTunneling.qml +++ b/client/ui/qml/Pages2/PageSettingsAppSplitTunneling.qml @@ -168,11 +168,12 @@ PageType { id: proxyAppSplitTunnelingModel sourceModel: AppSplitTunnelingModel filters: RegExpFilter { - roleName: "appPath" + roleName: "appName" pattern: ".*" + searchField.textField.text + ".*" caseSensitivity: Qt.CaseInsensitive } sorters: [ + RoleSorter { roleName: "appName"; sortOrder: Qt.AscendingOrder }, RoleSorter { roleName: "appPath"; sortOrder: Qt.AscendingOrder } ] } @@ -194,12 +195,13 @@ PageType { LabelWithButtonType { Layout.fillWidth: true - text: appPath + text: appName + descriptionText: appPath rightImageSource: "qrc:/images/controls/trash.svg" rightImageColor: AmneziaStyle.color.paleGray clickedFunction: function() { - var headerText = qsTr("Remove ") + appPath + "?" + var headerText = qsTr("Remove ") + appName + "?" var yesButtonText = qsTr("Continue") var noButtonText = qsTr("Cancel")