From c9658e1a65097434867819a2b9c18531e32d7d75 Mon Sep 17 00:00:00 2001 From: Al12rs Date: Sat, 1 Dec 2018 23:23:28 +0100 Subject: * Added Folders and Files icons to Data tab. * Fixed empty folders not showing up in Data tab. --- src/mainwindow.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 9a0e02aa..e0064ce2 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -106,6 +106,7 @@ along with Mod Organizer. If not, see . #include #include #include +#include #include #include #include @@ -1147,7 +1148,9 @@ void MainWindow::on_profileBox_currentIndexChanged(int index) void MainWindow::updateTo(QTreeWidgetItem *subTree, const std::wstring &directorySoFar, const DirectoryEntry &directoryEntry, bool conflictsOnly) { + QFileIconProvider *iconProvider = new QFileIconProvider(); { + for (const FileEntry::Ptr current : directoryEntry.getFiles()) { if (conflictsOnly && (current->getAlternatives().size() == 0)) { continue; @@ -1183,6 +1186,7 @@ void MainWindow::updateTo(QTreeWidgetItem *subTree, const std::wstring &director fileChild->setFont(1, font); } fileChild->setData(0, Qt::UserRole, ToQString(current->getFullPath())); + fileChild->setData(0, Qt::DecorationRole, iconProvider->icon(QFileIconProvider::File)); fileChild->setData(0, Qt::UserRole + 1, isArchive); fileChild->setData(1, Qt::UserRole, source); fileChild->setData(1, Qt::UserRole + 1, originID); @@ -1219,6 +1223,7 @@ void MainWindow::updateTo(QTreeWidgetItem *subTree, const std::wstring &director columns.append(""); if (!(*current)->isEmpty()) { QTreeWidgetItem *directoryChild = new QTreeWidgetItem(columns); + directoryChild->setData(0, Qt::DecorationRole, iconProvider->icon(QFileIconProvider::Folder)); if (conflictsOnly) { updateTo(directoryChild, temp.str(), **current, conflictsOnly); if (directoryChild->childCount() != 0) { @@ -1235,6 +1240,11 @@ void MainWindow::updateTo(QTreeWidgetItem *subTree, const std::wstring &director subTree->addChild(directoryChild); } } + else { + QTreeWidgetItem *directoryChild = new QTreeWidgetItem(columns); + directoryChild->setData(0, Qt::DecorationRole, iconProvider->icon(QFileIconProvider::Folder)); + subTree->addChild(directoryChild); + } } } @@ -1339,6 +1349,7 @@ void MainWindow::refreshDataTree() QStringList columns("data"); columns.append(""); QTreeWidgetItem *subTree = new QTreeWidgetItem(columns); + subTree->setData(0, Qt::DecorationRole, (new QFileIconProvider())->icon(QFileIconProvider::Folder)); updateTo(subTree, L"", *m_OrganizerCore.directoryStructure(), conflictsBox->isChecked()); tree->insertTopLevelItem(0, subTree); subTree->setExpanded(true); @@ -1363,6 +1374,7 @@ void MainWindow::refreshDataTreeKeepExpandedNodes() QStringList columns("data"); columns.append(""); QTreeWidgetItem *subTree = new QTreeWidgetItem(columns); + subTree->setData(0, Qt::DecorationRole, (new QFileIconProvider())->icon(QFileIconProvider::Folder)); updateTo(subTree, L"", *m_OrganizerCore.directoryStructure(), conflictsBox->isChecked()); tree->insertTopLevelItem(0, subTree); subTree->setExpanded(true); -- cgit v1.3.1