aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2017-10-09 06:59:54 +0200
committerEike Ziller <eike.ziller@qt.io>2017-10-11 07:06:41 +0000
commit1932912e7c07484fa3523f451a9317630b9aac20 (patch)
tree709d3b890a6610f747b3c385bf8a6740ba09e573 /src/plugins/projectexplorer
parent679cee878db1eac305e42e305da91570cf164e36 (diff)
Add icons to file system view directory selector
Change-Id: I0b6451d7f68fae93e0b140aaea030c88ec1a8801 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer')
-rw-r--r--src/plugins/projectexplorer/foldernavigationwidget.cpp11
-rw-r--r--src/plugins/projectexplorer/foldernavigationwidget.h2
-rw-r--r--src/plugins/projectexplorer/session.cpp9
3 files changed, 17 insertions, 5 deletions
diff --git a/src/plugins/projectexplorer/foldernavigationwidget.cpp b/src/plugins/projectexplorer/foldernavigationwidget.cpp
index f981545c69..3ba8fecce1 100644
--- a/src/plugins/projectexplorer/foldernavigationwidget.cpp
+++ b/src/plugins/projectexplorer/foldernavigationwidget.cpp
@@ -25,6 +25,7 @@
#include "foldernavigationwidget.h"
#include "projectexplorer.h"
+#include "projectexplorericons.h"
#include <coreplugin/actionmanager/command.h>
#include <coreplugin/documentmanager.h>
@@ -199,6 +200,7 @@ void FolderNavigationWidget::insertRootDirectory(
m_rootSelector->setItemData(index, directory.id, ID_ROLE);
m_rootSelector->setItemData(index, directory.sortValue, SORT_ROLE);
m_rootSelector->setItemData(index, directory.path.toUserOutput(), Qt::ToolTipRole);
+ m_rootSelector->setItemIcon(index, directory.icon);
if (m_rootSelector->currentIndex() == previousIndex)
m_rootSelector->setCurrentIndex(index);
if (previousIndex < m_rootSelector->count())
@@ -378,11 +380,13 @@ FolderNavigationWidgetFactory::FolderNavigationWidgetFactory()
insertRootDirectory({QLatin1String("A.Computer"),
0 /*sortValue*/,
FolderNavigationWidget::tr("Computer"),
- Utils::FileName()});
+ Utils::FileName(),
+ Icons::DESKTOP_DEVICE_SMALL.icon()});
insertRootDirectory({QLatin1String("A.Home"),
10 /*sortValue*/,
FolderNavigationWidget::tr("Home"),
- Utils::FileName::fromString(QDir::homePath())});
+ Utils::FileName::fromString(QDir::homePath()),
+ Utils::Icons::HOME.icon()});
updateProjectsDirectoryRoot();
connect(Core::DocumentManager::instance(),
&Core::DocumentManager::projectsDirectoryChanged,
@@ -465,7 +469,8 @@ void FolderNavigationWidgetFactory::updateProjectsDirectoryRoot()
insertRootDirectory({QLatin1String(PROJECTSDIRECTORYROOT_ID),
20 /*sortValue*/,
FolderNavigationWidget::tr("Projects"),
- Core::DocumentManager::projectsDirectory()});
+ Core::DocumentManager::projectsDirectory(),
+ Utils::Icons::PROJECT.icon()});
}
} // namespace Internal
diff --git a/src/plugins/projectexplorer/foldernavigationwidget.h b/src/plugins/projectexplorer/foldernavigationwidget.h
index 11e2bbc9ec..55bbf44a27 100644
--- a/src/plugins/projectexplorer/foldernavigationwidget.h
+++ b/src/plugins/projectexplorer/foldernavigationwidget.h
@@ -28,6 +28,7 @@
#include <coreplugin/inavigationwidgetfactory.h>
#include <utils/fileutils.h>
+#include <QIcon>
#include <QWidget>
namespace Core { class IEditor; }
@@ -56,6 +57,7 @@ public:
int sortValue;
QString displayName;
Utils::FileName path;
+ QIcon icon;
};
FolderNavigationWidgetFactory();
diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp
index e66e8e7d8b..b5fddb74ce 100644
--- a/src/plugins/projectexplorer/session.cpp
+++ b/src/plugins/projectexplorer/session.cpp
@@ -394,14 +394,19 @@ void SessionManager::addProject(Project *pro)
emit m_instance->projectAdded(pro);
const auto updateFolderNavigation = [pro] {
+ const QIcon icon = pro->rootProjectNode() ? pro->rootProjectNode()->icon() : QIcon();
FolderNavigationWidgetFactory::insertRootDirectory({projectFolderId(pro),
PROJECT_SORT_VALUE,
pro->displayName(),
- pro->projectFilePath().parentDir()});
+ pro->projectFilePath().parentDir(),
+ icon});
};
updateFolderNavigation();
configureEditors(pro);
- connect(pro, &Project::fileListChanged, [pro](){ configureEditors(pro); });
+ connect(pro, &Project::fileListChanged, [pro, updateFolderNavigation]() {
+ configureEditors(pro);
+ updateFolderNavigation(); // update icon
+ });
connect(pro, &Project::displayNameChanged, pro, updateFolderNavigation);
}