ProjectTree: Save state of "Hide Empty Directories" filter

Change-Id: Iafd7248242e95dc0d5205649747f46d98e05873d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Tobias Hunger
2019-06-13 11:44:57 +02:00
parent bfd8c5d9ee
commit f3ea8e34de
4 changed files with 14 additions and 0 deletions

View File

@@ -467,6 +467,11 @@ bool FlatModel::generatedFilesFilterEnabled()
return m_filterGeneratedFiles; return m_filterGeneratedFiles;
} }
bool FlatModel::trimEmptyDirectoriesEnabled()
{
return m_trimEmptyDirectories;
}
Node *FlatModel::nodeForIndex(const QModelIndex &index) const Node *FlatModel::nodeForIndex(const QModelIndex &index) const
{ {
WrapperNode *flatNode = itemForIndex(index); WrapperNode *flatNode = itemForIndex(index);

View File

@@ -74,6 +74,7 @@ public:
bool projectFilterEnabled(); bool projectFilterEnabled();
bool generatedFilesFilterEnabled(); bool generatedFilesFilterEnabled();
bool trimEmptyDirectoriesEnabled();
void setProjectFilterEnabled(bool filter); void setProjectFilterEnabled(bool filter);
void setGeneratedFilesFilterEnabled(bool filter); void setGeneratedFilesFilterEnabled(bool filter);
void setTrimEmptyDirectories(bool filter); void setTrimEmptyDirectories(bool filter);

View File

@@ -552,6 +552,11 @@ bool ProjectTreeWidget::generatedFilesFilter()
return m_model->generatedFilesFilterEnabled(); return m_model->generatedFilesFilterEnabled();
} }
bool ProjectTreeWidget::trimEmptyDirectoriesFilter()
{
return m_model->trimEmptyDirectoriesEnabled();
}
bool ProjectTreeWidget::projectFilter() bool ProjectTreeWidget::projectFilter()
{ {
return m_model->projectFilterEnabled(); return m_model->projectFilterEnabled();
@@ -594,6 +599,7 @@ void ProjectTreeWidgetFactory::saveSettings(QSettings *settings, int position, Q
const QString baseKey = QLatin1String("ProjectTreeWidget.") + QString::number(position); const QString baseKey = QLatin1String("ProjectTreeWidget.") + QString::number(position);
settings->setValue(baseKey + QLatin1String(".ProjectFilter"), ptw->projectFilter()); settings->setValue(baseKey + QLatin1String(".ProjectFilter"), ptw->projectFilter());
settings->setValue(baseKey + QLatin1String(".GeneratedFilter"), ptw->generatedFilesFilter()); settings->setValue(baseKey + QLatin1String(".GeneratedFilter"), ptw->generatedFilesFilter());
settings->setValue(baseKey + QLatin1String(".TrimEmptyDirsFilter"), ptw->trimEmptyDirectoriesFilter());
settings->setValue(baseKey + QLatin1String(".SyncWithEditor"), ptw->autoSynchronization()); 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); const QString baseKey = QLatin1String("ProjectTreeWidget.") + QString::number(position);
ptw->setProjectFilter(settings->value(baseKey + QLatin1String(".ProjectFilter"), false).toBool()); ptw->setProjectFilter(settings->value(baseKey + QLatin1String(".ProjectFilter"), false).toBool());
ptw->setGeneratedFilesFilter(settings->value(baseKey + QLatin1String(".GeneratedFilter"), true).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()); ptw->setAutoSynchronization(settings->value(baseKey + QLatin1String(".SyncWithEditor"), true).toBool());
} }

View File

@@ -56,6 +56,7 @@ public:
void setAutoSynchronization(bool sync); void setAutoSynchronization(bool sync);
bool projectFilter(); bool projectFilter();
bool generatedFilesFilter(); bool generatedFilesFilter();
bool trimEmptyDirectoriesFilter();
QToolButton *toggleSync(); QToolButton *toggleSync();
Node *currentNode(); Node *currentNode();
void sync(ProjectExplorer::Node *node); void sync(ProjectExplorer::Node *node);