Finished up the download dialog

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2024-02-02 22:42:42 +02:00
parent 3c58fb0677
commit 0384e652fb
No known key found for this signature in database
GPG Key ID: 55EF5DA53DB36318
5 changed files with 21 additions and 3 deletions

View File

@ -112,5 +112,6 @@ QHash<int, QByteArray> BaseVersionList::roleNames() const
roles.insert(PathRole, "path"); roles.insert(PathRole, "path");
roles.insert(JavaNameRole, "javaName"); roles.insert(JavaNameRole, "javaName");
roles.insert(CPUArchitectureRole, "architecture"); roles.insert(CPUArchitectureRole, "architecture");
roles.insert(JavaVendorRole, "javaVendor");
return roles; return roles;
} }

View File

@ -50,6 +50,7 @@ class BaseVersionList : public QAbstractListModel {
PathRole, PathRole,
JavaNameRole, JavaNameRole,
CPUArchitectureRole, CPUArchitectureRole,
JavaVendorRole,
SortRole SortRole
}; };
using RoleList = QList<int>; using RoleList = QList<int>;

View File

@ -116,6 +116,8 @@ QVariant VersionProxyModel::headerData(int section, Qt::Orientation orientation,
return tr("Type"); return tr("Type");
case CPUArchitecture: case CPUArchitecture:
return tr("Architecture"); return tr("Architecture");
case JavaVendor:
return tr("Vendor");
case Path: case Path:
return tr("Path"); return tr("Path");
case JavaName: case JavaName:
@ -135,6 +137,8 @@ QVariant VersionProxyModel::headerData(int section, Qt::Orientation orientation,
return tr("The version's type"); return tr("The version's type");
case CPUArchitecture: case CPUArchitecture:
return tr("CPU Architecture"); return tr("CPU Architecture");
case JavaVendor:
return tr("Java vendor");
case Path: case Path:
return tr("Filesystem path to this version"); return tr("Filesystem path to this version");
case JavaName: case JavaName:
@ -171,6 +175,8 @@ QVariant VersionProxyModel::data(const QModelIndex& index, int role) const
return sourceModel()->data(parentIndex, BaseVersionList::TypeRole); return sourceModel()->data(parentIndex, BaseVersionList::TypeRole);
case CPUArchitecture: case CPUArchitecture:
return sourceModel()->data(parentIndex, BaseVersionList::CPUArchitectureRole); return sourceModel()->data(parentIndex, BaseVersionList::CPUArchitectureRole);
case JavaVendor:
return sourceModel()->data(parentIndex, BaseVersionList::JavaVendorRole);
case Path: case Path:
return sourceModel()->data(parentIndex, BaseVersionList::PathRole); return sourceModel()->data(parentIndex, BaseVersionList::PathRole);
case JavaName: case JavaName:
@ -317,6 +323,9 @@ void VersionProxyModel::setSourceModel(QAbstractItemModel* replacingRaw)
if (roles.contains(BaseVersionList::CPUArchitectureRole)) { if (roles.contains(BaseVersionList::CPUArchitectureRole)) {
m_columns.push_back(CPUArchitecture); m_columns.push_back(CPUArchitecture);
} }
if (roles.contains(BaseVersionList::JavaVendorRole)) {
m_columns.push_back(JavaVendor);
}
if (roles.contains(BaseVersionList::PathRole)) { if (roles.contains(BaseVersionList::PathRole)) {
m_columns.push_back(Path); m_columns.push_back(Path);
} }

View File

@ -9,7 +9,7 @@ class VersionFilterModel;
class VersionProxyModel : public QAbstractProxyModel { class VersionProxyModel : public QAbstractProxyModel {
Q_OBJECT Q_OBJECT
public: public:
enum Column { Name, ParentVersion, Branch, Type, CPUArchitecture, Path, Time, JavaName }; enum Column { Name, ParentVersion, Branch, Type, CPUArchitecture, Path, Time, JavaName, JavaVendor };
using FilterMap = QHash<BaseVersionList::ModelRoles, std::shared_ptr<Filter>>; using FilterMap = QHash<BaseVersionList::ModelRoles, std::shared_ptr<Filter>>;
public: public:

View File

@ -23,6 +23,7 @@
#include "BaseVersionList.h" #include "BaseVersionList.h"
#include "SysInfo.h" #include "SysInfo.h"
#include "java/JavaMetadata.h" #include "java/JavaMetadata.h"
#include "meta/VersionList.h"
namespace Java { namespace Java {
@ -77,8 +78,12 @@ QVariant VersionList::data(const QModelIndex& index, int role) const
return version->recommended; return version->recommended;
case JavaNameRole: case JavaNameRole:
return version->name(); return version->name();
case CPUArchitectureRole: case JavaVendorRole:
return version->vendor; return version->vendor;
case TypeRole:
return version->packageType;
case Meta::VersionList::TimeRole:
return version->releaseTime;
default: default:
return QVariant(); return QVariant();
} }
@ -86,7 +91,8 @@ QVariant VersionList::data(const QModelIndex& index, int role) const
BaseVersionList::RoleList VersionList::providesRoles() const BaseVersionList::RoleList VersionList::providesRoles() const
{ {
return { VersionPointerRole, VersionIdRole, VersionRole, RecommendedRole, JavaNameRole, CPUArchitectureRole }; return { VersionPointerRole, VersionIdRole, VersionRole, RecommendedRole,
JavaNameRole, JavaVendorRole, TypeRole, Meta::VersionList::TimeRole };
} }
bool sortJavas(BaseVersion::Ptr left, BaseVersion::Ptr right) bool sortJavas(BaseVersion::Ptr left, BaseVersion::Ptr right)
@ -106,6 +112,7 @@ void VersionList::sortVersions()
std::sort(m_vlist.begin(), m_vlist.end(), sortJavas); std::sort(m_vlist.begin(), m_vlist.end(), sortJavas);
} else { } else {
m_vlist = {}; m_vlist = {};
qWarning() << "Your operating system is not yet supported: " << SysInfo::currentSystem() << " " << SysInfo::useQTForArch();
} }
endResetModel(); endResetModel();
} }