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()