summaryrefslogtreecommitdiff
path: root/src/datatab.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-12-12 18:57:36 -0500
committerisanae <14251494+isanae@users.noreply.github.com>2020-02-04 03:33:17 -0500
commitc5f98f9756ed9ba5b2241fa11215d99c8bf52461 (patch)
tree3e88b4cd79f0a7b408df2337fbaf5569b685d591 /src/datatab.cpp
parentd3e9abddaf1f927102002d9fb2721e858f6c3a3e (diff)
now prunes empty directories
handles archives and conflicts checkboxes
Diffstat (limited to 'src/datatab.cpp')
-rw-r--r--src/datatab.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/datatab.cpp b/src/datatab.cpp
index bc0ff455..b351923c 100644
--- a/src/datatab.cpp
+++ b/src/datatab.cpp
@@ -18,7 +18,7 @@ QString UnmanagedModName();
DataTab::DataTab(
OrganizerCore& core, PluginContainer& pc,
QWidget* parent, Ui::MainWindow* mwui) :
- m_core(core), m_pluginContainer(pc), m_archives(false), m_parent(parent),
+ m_core(core), m_pluginContainer(pc), m_parent(parent),
m_model(new FileTreeModel(core)),
ui{
mwui->btnRefreshData, mwui->dataTree,
@@ -150,7 +150,6 @@ void DataTab::onRefresh()
void DataTab::refreshDataTree()
{
m_model->refresh();
- ui.tree->expand(m_model->index(0, 0));
}
void DataTab::refreshDataTreeKeepExpandedNodes()
@@ -343,12 +342,27 @@ void DataTab::onContextMenu(const QPoint &pos)
void DataTab::onConflicts()
{
- refreshDataTreeKeepExpandedNodes();
+ updateOptions();
}
void DataTab::onArchives()
{
- m_archives = (m_core.getArchiveParsing() && ui.archives->isChecked());
+ updateOptions();
+}
+
+void DataTab::updateOptions()
+{
+ FileTreeModel::Flags flags = FileTreeModel::NoFlags;
+
+ if (ui.conflicts->isChecked()) {
+ flags |= FileTreeModel::Conflicts;
+ }
+
+ if (ui.archives->isChecked()) {
+ flags |= FileTreeModel::Archives;
+ }
+
+ m_model->setFlags(flags);
refreshDataTree();
}