diff --git a/media/WrathLogo.png b/media/WrathLogo.png deleted file mode 100644 index a5098c7a..00000000 Binary files a/media/WrathLogo.png and /dev/null differ diff --git a/media/project-icon-battle.png b/media/project-icon-battle.png new file mode 100644 index 00000000..72d6103e Binary files /dev/null and b/media/project-icon-battle.png differ diff --git a/media/project-icon-burning.png b/media/project-icon-burning.png new file mode 100644 index 00000000..dc2c3388 Binary files /dev/null and b/media/project-icon-burning.png differ diff --git a/media/project-icon-cata.png b/media/project-icon-cata.png new file mode 100644 index 00000000..88de9257 Binary files /dev/null and b/media/project-icon-cata.png differ diff --git a/media/project-icon-classic.png b/media/project-icon-classic.png new file mode 100644 index 00000000..fcd457c7 Binary files /dev/null and b/media/project-icon-classic.png differ diff --git a/media/project-icon-legion.png b/media/project-icon-legion.png new file mode 100644 index 00000000..c77aea1a Binary files /dev/null and b/media/project-icon-legion.png differ diff --git a/media/project-icon-panda.png b/media/project-icon-panda.png new file mode 100644 index 00000000..0cd4c403 Binary files /dev/null and b/media/project-icon-panda.png differ diff --git a/media/project-icon-shadow.png b/media/project-icon-shadow.png new file mode 100644 index 00000000..db0411d1 Binary files /dev/null and b/media/project-icon-shadow.png differ diff --git a/media/project-icon-warlords.png b/media/project-icon-warlords.png new file mode 100644 index 00000000..1e7c9eff Binary files /dev/null and b/media/project-icon-warlords.png differ diff --git a/media/project-icon-wrath.png b/media/project-icon-wrath.png new file mode 100644 index 00000000..07ec996c Binary files /dev/null and b/media/project-icon-wrath.png differ diff --git a/media/res.aps b/media/res.aps new file mode 100644 index 00000000..46bcfca5 Binary files /dev/null and b/media/res.aps differ diff --git a/media/wow-sl.png b/media/wow-sl.png deleted file mode 100644 index 502a25e2..00000000 Binary files a/media/wow-sl.png and /dev/null differ diff --git a/resources/resources.qrc b/resources/resources.qrc index c4aefddd..da0519d9 100644 --- a/resources/resources.qrc +++ b/resources/resources.qrc @@ -13,8 +13,15 @@ ../media/noggit_icon.png ../media/splash.png - ../media/WrathLogo.png - ../media/wow-sl.png + ../media/project-icon-classic.png + ../media/project-icon-burning.png + ../media/project-icon-wrath.png + ../media/project-icon-cata.png + ../media/project-icon-panda.png + ../media/project-icon-warlords.png + ../media/project-icon-legion.png + ../media/project-icon-battle.png + ../media/project-icon-shadow.png ../src/glsl/m2_vert.glsl diff --git a/src/noggit/ui/windows/mainWindow/main_window.cpp b/src/noggit/ui/windows/mainWindow/main_window.cpp index 5070bcb8..36eb935d 100644 --- a/src/noggit/ui/windows/mainWindow/main_window.cpp +++ b/src/noggit/ui/windows/mainWindow/main_window.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #ifdef USE_MYSQL_UID_STORAGE #include @@ -352,15 +353,31 @@ namespace Noggit::Ui e.mapID = record.RecordId; e.name = record.Columns["MapName_lang"].Value; e.areaType = std::stoi(record.Columns["InstanceType"].Value); - + e.expansion = std::stoi(record.Columns["ExpansionID"].Value); if (e.areaType < 0 || e.areaType > 5 || !World::IsEditableWorld(record)) continue; - auto item(new QListWidgetItem(QString::number(e.mapID) + " - " + QString::fromUtf8(e.name.c_str()), - type_to_table[e.areaType])); + auto item(new QListWidgetItem(QString::number(e.mapID) + " - " + QString::fromUtf8(e.name.c_str()), type_to_table[e.areaType])); + if (e.expansion == 0) + item->setIcon(QIcon(":/icon-classic")); + if (e.expansion == 1) + item->setIcon(QIcon(":/icon-burning")); + if (e.expansion == 2) + item->setIcon(QIcon(":/icon-wrath")); + if (e.expansion == 3) + item->setIcon(QIcon(":/icon-cata")); + if (e.expansion == 4) + item->setIcon(QIcon(":/icon-panda")); + if (e.expansion == 5) + item->setIcon(QIcon(":/icon-warlords")); + if (e.expansion == 6) + item->setIcon(QIcon(":/icon-legion")); + if (e.expansion == 7) + item->setIcon(QIcon(":/icon-battle")); + if (e.expansion == 8) + item->setIcon(QIcon(":/icon-shadow")); item->setData(Qt::UserRole, QVariant(e.mapID)); } - _project->ClientDatabase->UnloadTable(table); } diff --git a/src/noggit/ui/windows/mainWindow/main_window.hpp b/src/noggit/ui/windows/mainWindow/main_window.hpp index aa296483..247122b6 100644 --- a/src/noggit/ui/windows/mainWindow/main_window.hpp +++ b/src/noggit/ui/windows/mainWindow/main_window.hpp @@ -69,6 +69,7 @@ namespace Noggit int mapID; std::string name; int areaType; + int expansion; }; struct BookmarkEntry diff --git a/src/noggit/ui/windows/projectSelection/components/_projectSelectionComponent.hpp b/src/noggit/ui/windows/projectSelection/components/_projectSelectionComponent.hpp index 776fd3c3..5eeb69cc 100644 --- a/src/noggit/ui/windows/projectSelection/components/_projectSelectionComponent.hpp +++ b/src/noggit/ui/windows/projectSelection/components/_projectSelectionComponent.hpp @@ -10,6 +10,10 @@ namespace Noggit::Ui::Component auto stringList = QStringList(); for (const auto& dirEntry : std::filesystem::directory_iterator(projectDirectory)) { + //uto item(new QListWidgetItem(QString::number(e.mapID) + " - " + QString::fromUtf8(e.name.c_str()),type_to_table[e.areaType])); + //tem->setData(Qt::UserRole, QVariant(e.mapID)); + + stringList << QString::fromStdString(dirEntry.path().filename().generic_string()); } diff --git a/src/noggit/ui/windows/projectSelection/noggit-red-project-page.ui b/src/noggit/ui/windows/projectSelection/noggit-red-project-page.ui index 96af6853..156b500a 100644 --- a/src/noggit/ui/windows/projectSelection/noggit-red-project-page.ui +++ b/src/noggit/ui/windows/projectSelection/noggit-red-project-page.ui @@ -75,7 +75,7 @@ - + 0 diff --git a/src/noggit/ui/windows/projectSelection/noggitredprojectpage.cpp b/src/noggit/ui/windows/projectSelection/noggitredprojectpage.cpp index 95911e3d..1a1cb660 100644 --- a/src/noggit/ui/windows/projectSelection/noggitredprojectpage.cpp +++ b/src/noggit/ui/windows/projectSelection/noggitredprojectpage.cpp @@ -22,6 +22,12 @@ namespace Noggit::Ui::Windows auto applicationProjectsFolderPath = std::filesystem::path(applicationConfiguration->ApplicationProjectPath); auto existingProjects = _existingProjectEnumerationComponent->EnumerateExistingProjects(applicationProjectsFolderPath); + for (const auto& dirEntry : std::filesystem::directory_iterator(applicationConfiguration->ApplicationProjectPath)) + { + auto item = new QListWidgetItem(QString::fromStdString(dirEntry.path().filename().generic_string()), ui->listView); + item->setData(Qt::UserRole, QVariant()); + } + _projectListModel = new QStringListModel(this); _projectListModel->setStringList(existingProjects); @@ -69,7 +75,7 @@ namespace Noggit::Ui::Windows } ); - ui->listView->setModel(_projectListModel); + //ui->listView->setModel(_projectListModel); } noggitRedProjectPage::~noggitRedProjectPage()