Add option to show hidden files

This commit is contained in:
2022-08-29 18:37:51 +02:00
parent b51a305c63
commit 9746f8f653
7 changed files with 25 additions and 0 deletions
+13
View File
@@ -41,6 +41,9 @@ Filetree::Filetree(QWidget *parent) : QTreeView(parent)
m_fileSystemModel->setRootPath(m_rootDir); m_fileSystemModel->setRootPath(m_rootDir);
m_fileSystemModel->setNameFilters({"*.fits", "*.fit", "*.xisf", "*.jpg", "*.jpeg", "*.png", "*.cr2", "*.nef", "*.dng"}); m_fileSystemModel->setNameFilters({"*.fits", "*.fit", "*.xisf", "*.jpg", "*.jpeg", "*.png", "*.cr2", "*.nef", "*.dng"});
m_fileSystemModel->setNameFilterDisables(false); m_fileSystemModel->setNameFilterDisables(false);
if(settings.value("filetree/showHidden", false).toBool())
m_fileSystemModel->setFilter(m_fileSystemModel->filter() | QDir::Hidden);
setModel(m_fileSystemModel); setModel(m_fileSystemModel);
setRootIndex(m_fileSystemModel->index(m_rootDir)); setRootIndex(m_fileSystemModel->index(m_rootDir));
header()->restoreState(settings.value("filetree/header").toByteArray()); header()->restoreState(settings.value("filetree/header").toByteArray());
@@ -51,6 +54,7 @@ Filetree::~Filetree()
QSettings settings; QSettings settings;
settings.setValue("filetree/rootDir", m_rootDir); settings.setValue("filetree/rootDir", m_rootDir);
settings.setValue("filetree/header", header()->saveState()); settings.setValue("filetree/header", header()->saveState());
settings.setValue("filetree/showHidden", (bool)(m_fileSystemModel->filter() & QDir::Hidden));
} }
void Filetree::contextMenuEvent(QContextMenuEvent *event) void Filetree::contextMenuEvent(QContextMenuEvent *event)
@@ -79,6 +83,9 @@ void Filetree::contextMenuEvent(QContextMenuEvent *event)
QAction *resetRoot = menu.addAction(tr("Reset root")); QAction *resetRoot = menu.addAction(tr("Reset root"));
QAction *goUp = menu.addAction(tr("Go up")); QAction *goUp = menu.addAction(tr("Go up"));
QAction *showHidden = menu.addAction(tr("Show hidden files"));
showHidden->setCheckable(true);
showHidden->setChecked(m_fileSystemModel->filter() & QDir::Hidden);
QAction *a = menu.exec(event->globalPos()); QAction *a = menu.exec(event->globalPos());
if(a == nullptr) if(a == nullptr)
@@ -115,6 +122,12 @@ void Filetree::contextMenuEvent(QContextMenuEvent *event)
{ {
emit indexDirectory(m_fileSystemModel->filePath(index)); emit indexDirectory(m_fileSystemModel->filePath(index));
} }
else if(a == showHidden)
{
auto filter = m_fileSystemModel->filter();
filter ^= QDir::Hidden;
m_fileSystemModel->setFilter(filter);
}
} }
void Filetree::mouseDoubleClickEvent(QMouseEvent *event) void Filetree::mouseDoubleClickEvent(QMouseEvent *event)
Binary file not shown.
+4
View File
@@ -71,6 +71,10 @@
<source>Go up</source> <source>Go up</source>
<translation>Go up</translation> <translation>Go up</translation>
</message> </message>
<message>
<source>Show hidden files</source>
<translation>Show hidden files</translation>
</message>
</context> </context>
<context> <context>
<name>HelpDialog</name> <name>HelpDialog</name>
Binary file not shown.
+4
View File
@@ -71,6 +71,10 @@
<source>Go up</source> <source>Go up</source>
<translation>Monter</translation> <translation>Monter</translation>
</message> </message>
<message>
<source>Show hidden files</source>
<translation>Afficher les fichiers cachés</translation>
</message>
</context> </context>
<context> <context>
<name>HelpDialog</name> <name>HelpDialog</name>
Binary file not shown.
+4
View File
@@ -72,6 +72,10 @@
<source>Go up</source> <source>Go up</source>
<translation>O úroveň vyššie</translation> <translation>O úroveň vyššie</translation>
</message> </message>
<message>
<source>Show hidden files</source>
<translation>Zobraz skryté súbory</translation>
</message>
</context> </context>
<context> <context>
<name>HelpDialog</name> <name>HelpDialog</name>