summaryrefslogtreecommitdiff
path: root/src/datatab.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-02-01 05:21:34 -0500
committerisanae <14251494+isanae@users.noreply.github.com>2020-02-04 03:33:22 -0500
commit34bc2191e6ebb1458438180bd75a5cd2cd7e4f7b (patch)
tree2321ec91c241dcfea50c9debb78e8c7cca35a666 /src/datatab.cpp
parent85a9f810a0ecbf10facc8b8b070eda6f13a65d6b (diff)
don't get meta for fields that are not used
show compressed file size if available remember file sizes for files in archives
Diffstat (limited to 'src/datatab.cpp')
-rw-r--r--src/datatab.cpp73
1 files changed, 4 insertions, 69 deletions
diff --git a/src/datatab.cpp b/src/datatab.cpp
index af457b33..6b403f66 100644
--- a/src/datatab.cpp
+++ b/src/datatab.cpp
@@ -59,7 +59,7 @@ void DataTab::saveState(Settings& s) const
void DataTab::restoreState(const Settings& s)
{
s.geometry().restoreState(ui.tree->header());
-
+
// prior to 2.3, the list was not sortable, and this remembered in the
// widget state, for whatever reason
ui.tree->setSortingEnabled(true);
@@ -67,7 +67,7 @@ void DataTab::restoreState(const Settings& s)
void DataTab::activated()
{
- //refreshDataTreeKeepExpandedNodes();
+ updateTree();
}
void DataTab::onRefresh()
@@ -79,76 +79,11 @@ void DataTab::onRefresh()
m_core.refreshDirectoryStructure();
}
-void DataTab::refreshDataTree()
+void DataTab::updateTree()
{
m_filetree->refresh();
}
-void DataTab::refreshDataTreeKeepExpandedNodes()
-{
- //m_model->refreshKeepExpandedNodes();
- m_filetree->refresh(); // temp
-
- /*QIcon folderIcon = (new QFileIconProvider())->icon(QFileIconProvider::Folder);
- QIcon fileIcon = (new QFileIconProvider())->icon(QFileIconProvider::File);
- QStringList expandedNodes;
- QTreeWidgetItemIterator it1(ui.tree, QTreeWidgetItemIterator::NotHidden | QTreeWidgetItemIterator::HasChildren);
- while (*it1) {
- QTreeWidgetItem *current = (*it1);
- if (current->isExpanded() && !(current->text(0)=="data")) {
- expandedNodes.append(current->text(0)+"/"+current->parent()->text(0));
- }
- ++it1;
- }
-
- ui.tree->clear();
- QStringList columns("data");
- columns.append("");
- QTreeWidgetItem *subTree = new QTreeWidgetItem(columns);
- subTree->setData(0, Qt::DecorationRole, (new QFileIconProvider())->icon(QFileIconProvider::Folder));
- updateTo(subTree, L"", *m_core.directoryStructure(), ui.conflicts->isChecked(), &fileIcon, &folderIcon);
- ui.tree->insertTopLevelItem(0, subTree);
- subTree->setExpanded(true);
- QTreeWidgetItemIterator it2(ui.tree, QTreeWidgetItemIterator::HasChildren);
- while (*it2) {
- QTreeWidgetItem *current = (*it2);
- if (!(current->text(0)=="data") && expandedNodes.contains(current->text(0)+"/"+current->parent()->text(0))) {
- current->setExpanded(true);
- }
- ++it2;
- }*/
-}
-
-void DataTab::onItemExpanded(QTreeWidgetItem* item)
-{
- /*if ((item->childCount() == 1) && (item->child(0)->data(0, Qt::UserRole).toString() == "__loaded_on_demand__")) {
- // read the data we need from the sub-item, then dispose of it
- QTreeWidgetItem *onDemandDataItem = item->child(0);
- const QString path = onDemandDataItem->data(0, Qt::UserRole + 1).toString();
- std::wstring wspath = path.toStdWString();
- bool conflictsOnly = onDemandDataItem->data(0, Qt::UserRole + 2).toBool();
-
- std::wstring virtualPath = (wspath + L"\\").substr(6) + item->text(0).toStdWString();
- DirectoryEntry *dir = m_core.directoryStructure()->findSubDirectoryRecursive(virtualPath);
- if (dir != nullptr) {
- QIcon folderIcon = (new QFileIconProvider())->icon(QFileIconProvider::Folder);
- QIcon fileIcon = (new QFileIconProvider())->icon(QFileIconProvider::File);
- updateTo(item, wspath, *dir, conflictsOnly, &fileIcon, &folderIcon);
- } else {
- log::warn("failed to update view of {}", path);
- }
-
- m_removeLater.push_back(item);
-
- QTimer::singleShot(5, [this]{
- for (QTreeWidgetItem *item : m_removeLater) {
- item->removeChild(item->child(0));
- }
- m_removeLater.clear();
- });
- }*/
-}
-
void DataTab::onConflicts()
{
updateOptions();
@@ -172,5 +107,5 @@ void DataTab::updateOptions()
}
m_filetree->model()->setFlags(flags);
- refreshDataTree();
+ updateTree();
}