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(JavaNameRole, "javaName");
roles.insert(CPUArchitectureRole, "architecture");
roles.insert(JavaVendorRole, "javaVendor");
return roles;
}

View File

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

View File

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

View File

@ -9,7 +9,7 @@ class VersionFilterModel;
class VersionProxyModel : public QAbstractProxyModel {
Q_OBJECT
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>>;
public:

View File

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