fix: minor ui fixes with services list

This commit is contained in:
vkamn
2025-08-27 15:15:53 +08:00
parent c568bf8c24
commit 4551659c2a
4 changed files with 24 additions and 3 deletions

View File

@@ -117,6 +117,13 @@ QVariant ApiServicesModel::data(const QModelIndex &index, int role) const
case EndDateRole: {
return QDateTime::fromString(apiServiceData.subscription.endDate, Qt::ISODate).toLocalTime().toString("d MMM yyyy");
}
case OrderRole: {
if (serviceType == serviceType::amneziaPremium) {
return 0;
} else if (serviceType == serviceType::amneziaFree) {
return 1;
}
}
}
return QVariant();
@@ -216,6 +223,7 @@ QHash<int, QByteArray> ApiServicesModel::roleNames() const
roles[FeaturesRole] = "features";
roles[PriceRole] = "price";
roles[EndDateRole] = "endDate";
roles[OrderRole] = "order";
return roles;
}

View File

@@ -20,7 +20,8 @@ public:
RegionRole,
FeaturesRole,
PriceRole,
EndDateRole
EndDateRole,
OrderRole
};
explicit ApiServicesModel(QObject *parent = nullptr);

View File

@@ -66,6 +66,8 @@ PageType {
imageSource: imagePath
leftText: lText
rightText: rText
visible: isVisible
}
}

View File

@@ -3,6 +3,8 @@ import QtQuick.Controls
import QtQuick.Layouts
import QtQuick.Dialogs
import SortFilterProxyModel 0.2
import PageEnum 1.0
import Style 1.0
@@ -54,7 +56,15 @@ PageType {
spacing: 0
model: ApiServicesModel
model: SortFilterProxyModel {
id: proxyApiServicesModel
sourceModel: ApiServicesModel
sorters: RoleSorter {
roleName: "order"
sortOrder: Qt.AscendingOrder
}
}
delegate: ColumnLayout {
@@ -78,7 +88,7 @@ PageType {
onClicked: {
if (isServiceAvailable) {
ApiServicesModel.setServiceIndex(index)
ApiServicesModel.setServiceIndex(proxyApiServicesModel.mapToSource(index))
PageController.goToPage(PageEnum.PageSetupWizardApiServiceInfo)
}
}