From bafc058b7f84d5133d166cf322d0b7e07c170f49 Mon Sep 17 00:00:00 2001 From: Jonathan Feenstra <26406078+JonathanFeenstra@users.noreply.github.com> Date: Thu, 10 Oct 2024 13:49:31 +0200 Subject: Add filter checkbox to data tab to show/hide hidden files (#2136) --- src/datatab.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/datatab.cpp') diff --git a/src/datatab.cpp b/src/datatab.cpp index e531c1e0..dc8419cf 100644 --- a/src/datatab.cpp +++ b/src/datatab.cpp @@ -22,7 +22,8 @@ DataTab::DataTab(OrganizerCore& core, PluginContainer& pc, QWidget* parent, mwui->dataTabRefresh, mwui->dataTree, mwui->dataTabShowOnlyConflicts, - mwui->dataTabShowFromArchives}, + mwui->dataTabShowFromArchives, + mwui->dataTabShowHiddenFiles}, m_needUpdate(true) { m_filetree.reset(new FileTree(core, m_pluginContainer, ui.tree)); @@ -52,6 +53,10 @@ DataTab::DataTab(OrganizerCore& core, PluginContainer& pc, QWidget* parent, onArchives(); }); + connect(ui.hiddenFiles, &QCheckBox::toggled, [&] { + onHiddenFiles(); + }); + connect(m_filetree.get(), &FileTree::executablesChanged, this, &DataTab::executablesChanged); @@ -66,6 +71,7 @@ void DataTab::saveState(Settings& s) const s.geometry().saveState(ui.tree->header()); s.widgets().saveChecked(ui.conflicts); s.widgets().saveChecked(ui.archives); + s.widgets().saveChecked(ui.hiddenFiles); } void DataTab::restoreState(const Settings& s) @@ -78,6 +84,7 @@ void DataTab::restoreState(const Settings& s) s.widgets().restoreChecked(ui.conflicts); s.widgets().restoreChecked(ui.archives); + s.widgets().restoreChecked(ui.hiddenFiles); } void DataTab::activated() @@ -146,6 +153,11 @@ void DataTab::onArchives() updateOptions(); } +void DataTab::onHiddenFiles() +{ + updateOptions(); +} + void DataTab::updateOptions() { using M = FileTreeModel; @@ -160,6 +172,10 @@ void DataTab::updateOptions() flags |= M::Archives; } + if (ui.hiddenFiles->isChecked()) { + flags |= M::HiddenFiles; + } + m_filetree->model()->setFlags(flags); updateTree(); } -- cgit v1.3.1