diff --git a/launcher/minecraft/WorldList.cpp b/launcher/minecraft/WorldList.cpp index 344bea63..955609bf 100644 --- a/launcher/minecraft/WorldList.cpp +++ b/launcher/minecraft/WorldList.cpp @@ -17,6 +17,7 @@ #include "Application.h" #include +#include #include #include #include @@ -190,6 +191,16 @@ QVariant WorldList::data(const QModelIndex &index, int role) const return QVariant(); } + case Qt::UserRole: + switch (column) + { + case SizeColumn: + return qVariantFromValue(world.bytes()); + + default: + return data(index, Qt::DisplayRole); + } + case Qt::ToolTipRole: { return world.folderName(); @@ -216,7 +227,7 @@ QVariant WorldList::data(const QModelIndex &index, int role) const } case SizeRole: { - return locale.formattedDataSize(world.bytes()); + return qVariantFromValue(world.bytes()); } case IconFileRole: { diff --git a/launcher/ui/pages/instance/WorldListPage.cpp b/launcher/ui/pages/instance/WorldListPage.cpp index 650583a2..76725539 100644 --- a/launcher/ui/pages/instance/WorldListPage.cpp +++ b/launcher/ui/pages/instance/WorldListPage.cpp @@ -45,6 +45,7 @@ #include #include #include +#include #include "tools/MCEditTool.h" #include "FileSystem.h" @@ -92,6 +93,7 @@ WorldListPage::WorldListPage(BaseInstance *inst, std::shared_ptr worl WorldListProxyModel * proxy = new WorldListProxyModel(this); proxy->setSortCaseSensitivity(Qt::CaseInsensitive); proxy->setSourceModel(m_worlds.get()); + proxy->setSortRole(Qt::UserRole); ui->worldTreeView->setSortingEnabled(true); ui->worldTreeView->setModel(proxy); ui->worldTreeView->installEventFilter(this);