summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2019-06-13 11:44:57 +0200
committerTobias Hunger <tobias.hunger@qt.io>2019-06-13 11:48:49 +0000
commitf3ea8e34de6d6a8e175aee51de16c16074f8107c (patch)
treeb5dd22e343216595bd59347817231b630fe9560f
parentbfd8c5d9eeeb2c0a1941825976442d724c9e0a9b (diff)
downloadqt-creator-f3ea8e34de6d6a8e175aee51de16c16074f8107c.tar.gz
ProjectTree: Save state of "Hide Empty Directories" filter
Change-Id: Iafd7248242e95dc0d5205649747f46d98e05873d Reviewed-by: Eike Ziller <eike.ziller@qt.io>
-rw-r--r--src/plugins/projectexplorer/projectmodels.cpp5
-rw-r--r--src/plugins/projectexplorer/projectmodels.h1
-rw-r--r--src/plugins/projectexplorer/projecttreewidget.cpp7
-rw-r--r--src/plugins/projectexplorer/projecttreewidget.h1
4 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp
index 49a9258f61..d69d9aad6a 100644
--- a/src/plugins/projectexplorer/projectmodels.cpp
+++ b/src/plugins/projectexplorer/projectmodels.cpp
@@ -467,6 +467,11 @@ bool FlatModel::generatedFilesFilterEnabled()
return m_filterGeneratedFiles;
}
+bool FlatModel::trimEmptyDirectoriesEnabled()
+{
+ return m_trimEmptyDirectories;
+}
+
Node *FlatModel::nodeForIndex(const QModelIndex &index) const
{
WrapperNode *flatNode = itemForIndex(index);
diff --git a/src/plugins/projectexplorer/projectmodels.h b/src/plugins/projectexplorer/projectmodels.h
index 952fc09651..e406360f34 100644
--- a/src/plugins/projectexplorer/projectmodels.h
+++ b/src/plugins/projectexplorer/projectmodels.h
@@ -74,6 +74,7 @@ public:
bool projectFilterEnabled();
bool generatedFilesFilterEnabled();
+ bool trimEmptyDirectoriesEnabled();
void setProjectFilterEnabled(bool filter);
void setGeneratedFilesFilterEnabled(bool filter);
void setTrimEmptyDirectories(bool filter);
diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp
index 641c1de40e..af4334a21e 100644
--- a/src/plugins/projectexplorer/projecttreewidget.cpp
+++ b/src/plugins/projectexplorer/projecttreewidget.cpp
@@ -552,6 +552,11 @@ bool ProjectTreeWidget::generatedFilesFilter()
return m_model->generatedFilesFilterEnabled();
}
+bool ProjectTreeWidget::trimEmptyDirectoriesFilter()
+{
+ return m_model->trimEmptyDirectoriesEnabled();
+}
+
bool ProjectTreeWidget::projectFilter()
{
return m_model->projectFilterEnabled();
@@ -594,6 +599,7 @@ void ProjectTreeWidgetFactory::saveSettings(QSettings *settings, int position, Q
const QString baseKey = QLatin1String("ProjectTreeWidget.") + QString::number(position);
settings->setValue(baseKey + QLatin1String(".ProjectFilter"), ptw->projectFilter());
settings->setValue(baseKey + QLatin1String(".GeneratedFilter"), ptw->generatedFilesFilter());
+ settings->setValue(baseKey + QLatin1String(".TrimEmptyDirsFilter"), ptw->trimEmptyDirectoriesFilter());
settings->setValue(baseKey + QLatin1String(".SyncWithEditor"), ptw->autoSynchronization());
}
@@ -604,5 +610,6 @@ void ProjectTreeWidgetFactory::restoreSettings(QSettings *settings, int position
const QString baseKey = QLatin1String("ProjectTreeWidget.") + QString::number(position);
ptw->setProjectFilter(settings->value(baseKey + QLatin1String(".ProjectFilter"), false).toBool());
ptw->setGeneratedFilesFilter(settings->value(baseKey + QLatin1String(".GeneratedFilter"), true).toBool());
+ ptw->setTrimEmptyDirectories(settings->value(baseKey + QLatin1String(".TrimEmptyDirsFilter"), true).toBool());
ptw->setAutoSynchronization(settings->value(baseKey + QLatin1String(".SyncWithEditor"), true).toBool());
}
diff --git a/src/plugins/projectexplorer/projecttreewidget.h b/src/plugins/projectexplorer/projecttreewidget.h
index fb2abfc702..6de41b0adf 100644
--- a/src/plugins/projectexplorer/projecttreewidget.h
+++ b/src/plugins/projectexplorer/projecttreewidget.h
@@ -56,6 +56,7 @@ public:
void setAutoSynchronization(bool sync);
bool projectFilter();
bool generatedFilesFilter();
+ bool trimEmptyDirectoriesFilter();
QToolButton *toggleSync();
Node *currentNode();
void sync(ProjectExplorer::Node *node);