Add show hidden files

This commit is contained in:
reionwong 2021-09-12 19:30:01 +08:00
parent c3d9515563
commit e6eedc365e
8 changed files with 165 additions and 87 deletions

View file

@ -5,6 +5,7 @@
* Copyright (C) 2011 Marco Martin <mart@kde.org> * * Copyright (C) 2011 Marco Martin <mart@kde.org> *
* Copyright (C) 2014 by Eike Hein <hein@kde.org> * * Copyright (C) 2014 by Eike Hein <hein@kde.org> *
* Copyright (C) 2021 Reven Martin <revenmartin@gmail.com> * * Copyright (C) 2021 Reven Martin <revenmartin@gmail.com> *
* Copyright (C) 2021 Reion Wong <reionwong@gmail.com> *
* * * *
* This program is free software; you can redistribute it and/or modify * * This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by * * it under the terms of the GNU General Public License as published by *
@ -50,6 +51,7 @@
#include <QDrag> #include <QDrag>
#include <QDir> #include <QDir>
#include <QProcess> #include <QProcess>
#include <QSettings>
#include <QDesktopServices> #include <QDesktopServices>
// Qt Quick // Qt Quick
@ -77,6 +79,7 @@ FolderModel::FolderModel(QObject *parent)
, m_sortMode(0) , m_sortMode(0)
, m_sortDesc(false) , m_sortDesc(false)
, m_sortDirsFirst(true) , m_sortDirsFirst(true)
, m_showHiddenFiles(false)
, m_filterMode(NoFilter) , m_filterMode(NoFilter)
, m_filterPatternMatchAll(true) , m_filterPatternMatchAll(true)
, m_complete(false) , m_complete(false)
@ -88,13 +91,17 @@ FolderModel::FolderModel(QObject *parent)
, m_mimeAppManager(MimeAppManager::self()) , m_mimeAppManager(MimeAppManager::self())
, m_sizeJob(nullptr) , m_sizeJob(nullptr)
{ {
DirLister *dirLister = new DirLister(this); QSettings settings("cutefishos", qApp->applicationName());
dirLister->setDelayedMimeTypes(true); m_showHiddenFiles = settings.value("showHiddenFiles", false).toBool();
dirLister->setAutoErrorHandlingEnabled(false, nullptr);
m_dirLister = new DirLister(this);
m_dirLister->setDelayedMimeTypes(true);
m_dirLister->setAutoErrorHandlingEnabled(false, nullptr);
m_dirLister->setShowingDotFiles(m_showHiddenFiles);
// connect(dirLister, &DirLister::error, this, &FolderModel::notification); // connect(dirLister, &DirLister::error, this, &FolderModel::notification);
m_dirModel = new KDirModel(this); m_dirModel = new KDirModel(this);
m_dirModel->setDirLister(dirLister); m_dirModel->setDirLister(m_dirLister);
m_dirModel->setDropsAllowed(KDirModel::DropOnDirectory | KDirModel::DropOnLocalExecutable); m_dirModel->setDropsAllowed(KDirModel::DropOnDirectory | KDirModel::DropOnLocalExecutable);
m_dirModel->moveToThread(qApp->thread()); m_dirModel->moveToThread(qApp->thread());
@ -143,6 +150,7 @@ QHash<int, QByteArray> FolderModel::staticRoleNames()
roleNames[BlankRole] = "blank"; roleNames[BlankRole] = "blank";
roleNames[SelectedRole] = "selected"; roleNames[SelectedRole] = "selected";
roleNames[IsDirRole] = "isDir"; roleNames[IsDirRole] = "isDir";
roleNames[IsHiddenRole] = "isHidden";
roleNames[UrlRole] = "url"; roleNames[UrlRole] = "url";
roleNames[DisplayNameRole] = "displayName"; roleNames[DisplayNameRole] = "displayName";
roleNames[FileNameRole] = "fileName"; roleNames[FileNameRole] = "fileName";
@ -180,6 +188,12 @@ QVariant FolderModel::data(const QModelIndex &index, int role) const
case IsDesktopFileRole: { case IsDesktopFileRole: {
return item.isDesktopFile(); return item.isDesktopFile();
} }
case IsDirRole: {
return item.isDir();
}
case IsHiddenRole: {
return item.isHidden();
}
case FileSizeRole: { case FileSizeRole: {
if (item.isDir()) { if (item.isDir()) {
QDir dir(item.url().toLocalFile()); QDir dir(item.url().toLocalFile());
@ -998,6 +1012,8 @@ void FolderModel::openContextMenu(QQuickItem *visualParent, Qt::KeyboardModifier
menu->addAction(m_actionCollection.action("changeBackground")); menu->addAction(m_actionCollection.action("changeBackground"));
} }
menu->addAction(m_actionCollection.action("showHidden"));
menu->addSeparator(); menu->addSeparator();
menu->addAction(m_actionCollection.action("emptyTrash")); menu->addAction(m_actionCollection.action("emptyTrash"));
menu->addAction(m_actionCollection.action("properties")); menu->addAction(m_actionCollection.action("properties"));
@ -1283,6 +1299,26 @@ bool FolderModel::matchPattern(const KFileItem &item) const
return false; return false;
} }
bool FolderModel::showHiddenFiles() const
{
return m_showHiddenFiles;
}
void FolderModel::setShowHiddenFiles(bool showHiddenFiles)
{
if (m_showHiddenFiles != showHiddenFiles) {
m_showHiddenFiles = showHiddenFiles;
m_dirLister->setShowingDotFiles(m_showHiddenFiles);
m_dirLister->emitChanges();
QSettings settings("cutefishos", qApp->applicationName());
settings.setValue("showHiddenFiles", m_showHiddenFiles);
emit showHiddenFilesChanged();
}
}
QString FolderModel::selectedItemSize() const QString FolderModel::selectedItemSize() const
{ {
return m_selectedItemSize; return m_selectedItemSize;
@ -1365,6 +1401,11 @@ void FolderModel::createActions()
QAction *restore = new QAction(tr("Restore"), this); QAction *restore = new QAction(tr("Restore"), this);
QObject::connect(restore, &QAction::triggered, this, &FolderModel::restoreFromTrash); QObject::connect(restore, &QAction::triggered, this, &FolderModel::restoreFromTrash);
QAction *showHidden = new QAction(tr("Show hidden files"), this);
QObject::connect(showHidden, &QAction::triggered, this, [=] {
setShowHiddenFiles(!m_showHiddenFiles);
});
m_actionCollection.addAction(QStringLiteral("open"), open); m_actionCollection.addAction(QStringLiteral("open"), open);
m_actionCollection.addAction(QStringLiteral("openWith"), openWith); m_actionCollection.addAction(QStringLiteral("openWith"), openWith);
m_actionCollection.addAction(QStringLiteral("cut"), cut); m_actionCollection.addAction(QStringLiteral("cut"), cut);
@ -1380,6 +1421,7 @@ void FolderModel::createActions()
m_actionCollection.addAction(QStringLiteral("properties"), properties); m_actionCollection.addAction(QStringLiteral("properties"), properties);
m_actionCollection.addAction(QStringLiteral("changeBackground"), changeBackground); m_actionCollection.addAction(QStringLiteral("changeBackground"), changeBackground);
m_actionCollection.addAction(QStringLiteral("restore"), restore); m_actionCollection.addAction(QStringLiteral("restore"), restore);
m_actionCollection.addAction(QStringLiteral("showHidden"), showHidden);
} }
void FolderModel::updateActions() void FolderModel::updateActions()
@ -1485,6 +1527,11 @@ void FolderModel::updateActions()
if (QAction *properties = m_actionCollection.action("properties")) { if (QAction *properties = m_actionCollection.action("properties")) {
properties->setVisible(!isTrash); properties->setVisible(!isTrash);
} }
if (QAction *showHidden = m_actionCollection.action("showHidden")) {
showHidden->setCheckable(true);
showHidden->setChecked(m_showHiddenFiles);
}
} }
void FolderModel::addDragImage(QDrag *drag, int x, int y) void FolderModel::addDragImage(QDrag *drag, int x, int y)

View file

@ -59,12 +59,14 @@ class FolderModel : public QSortFilterProxyModel, public QQmlParserStatus
Q_PROPERTY(int count READ count NOTIFY countChanged) Q_PROPERTY(int count READ count NOTIFY countChanged)
Q_PROPERTY(QStringList filterMimeTypes READ filterMimeTypes WRITE setFilterMimeTypes NOTIFY filterMimeTypesChanged) Q_PROPERTY(QStringList filterMimeTypes READ filterMimeTypes WRITE setFilterMimeTypes NOTIFY filterMimeTypesChanged)
Q_PROPERTY(QString selectedItemSize READ selectedItemSize NOTIFY selectedItemSizeChanged) Q_PROPERTY(QString selectedItemSize READ selectedItemSize NOTIFY selectedItemSizeChanged)
Q_PROPERTY(bool showHiddenFiles READ showHiddenFiles WRITE setShowHiddenFiles NOTIFY showHiddenFilesChanged)
public: public:
enum DataRole { enum DataRole {
BlankRole = Qt::UserRole + 1, BlankRole = Qt::UserRole + 1,
SelectedRole, SelectedRole,
IsDirRole, IsDirRole,
IsHiddenRole,
UrlRole, UrlRole,
DisplayNameRole, DisplayNameRole,
FileNameRole, FileNameRole,
@ -209,6 +211,9 @@ public:
QString selectedItemSize() const; QString selectedItemSize() const;
bool showHiddenFiles() const;
void setShowHiddenFiles(bool showHiddenFiles);
signals: signals:
void urlChanged(); void urlChanged();
void resolvedUrlChanged(); void resolvedUrlChanged();
@ -226,6 +231,7 @@ signals:
void filterPatternChanged(); void filterPatternChanged();
void filterMimeTypesChanged(); void filterMimeTypesChanged();
void selectedItemSizeChanged(); void selectedItemSizeChanged();
void showHiddenFilesChanged();
void notification(const QString &message); void notification(const QString &message);
@ -250,6 +256,7 @@ protected:
private: private:
KDirModel *m_dirModel; KDirModel *m_dirModel;
KDirWatch *m_dirWatch; KDirWatch *m_dirWatch;
KDirLister *m_dirLister;
QItemSelectionModel *m_selectionModel; QItemSelectionModel *m_selectionModel;
QItemSelection m_pinnedSelection; QItemSelection m_pinnedSelection;
@ -260,6 +267,8 @@ private:
bool m_sortDesc; bool m_sortDesc;
bool m_sortDirsFirst; bool m_sortDirsFirst;
bool m_showHiddenFiles;
FilterMode m_filterMode; FilterMode m_filterMode;
QString m_filterPattern; QString m_filterPattern;
bool m_filterPatternMatchAll; bool m_filterPatternMatchAll;

View file

@ -86,6 +86,8 @@ Item {
width: parent.width - FishUI.Units.largeSpacing * 2 width: parent.width - FishUI.Units.largeSpacing * 2
height: control.GridView.view.iconSize height: control.GridView.view.iconSize
opacity: model.isHidden ? 0.5 : 1.0
Image { Image {
id: _icon id: _icon
width: control.GridView.view.iconSize width: control.GridView.view.iconSize
@ -197,7 +199,9 @@ Item {
wrapMode: Text.Wrap wrapMode: Text.Wrap
text: model.fileName text: model.fileName
color: control.GridView.view.isDesktopView ? "white" color: control.GridView.view.isDesktopView ? "white"
: selected ? FishUI.Theme.highlightedTextColor : FishUI.Theme.textColor : selected ? FishUI.Theme.highlightedTextColor
: FishUI.Theme.textColor
opacity: model.isHidden ? 0.8 : 1.0
} }
Rectangle { Rectangle {

View file

@ -75,6 +75,7 @@ Item {
id: iconItem id: iconItem
Layout.fillHeight: true Layout.fillHeight: true
width: parent.height * 0.8 width: parent.height * 0.8
opacity: model.isHidden ? 0.5 : 1.0
Image { Image {
id: _icon id: _icon
@ -127,6 +128,7 @@ Item {
color: selected ? FishUI.Theme.highlightedTextColor : FishUI.Theme.textColor color: selected ? FishUI.Theme.highlightedTextColor : FishUI.Theme.textColor
textFormat: Text.PlainText textFormat: Text.PlainText
elide: Qt.ElideMiddle elide: Qt.ElideMiddle
opacity: model.isHidden ? 0.8 : 1.0
} }
Label { Label {
@ -135,6 +137,7 @@ Item {
color: selected ? FishUI.Theme.highlightedTextColor : FishUI.Theme.disabledTextColor color: selected ? FishUI.Theme.highlightedTextColor : FishUI.Theme.disabledTextColor
textFormat: Text.PlainText textFormat: Text.PlainText
Layout.fillWidth: true Layout.fillWidth: true
opacity: model.isHidden ? 0.8 : 1.0
} }
} }
@ -142,6 +145,7 @@ Item {
text: model.modified text: model.modified
textFormat: Text.PlainText textFormat: Text.PlainText
color: selected ? FishUI.Theme.highlightedTextColor : FishUI.Theme.disabledTextColor color: selected ? FishUI.Theme.highlightedTextColor : FishUI.Theme.disabledTextColor
opacity: model.isHidden ? 0.8 : 1.0
} }
} }
} }

View file

@ -32,6 +32,7 @@ Item {
id: folderPage id: folderPage
property alias currentUrl: dirModel.url property alias currentUrl: dirModel.url
property alias model: dirModel
property Item currentView: _viewLoader.item property Item currentView: _viewLoader.item
property int statusBarHeight: 22 property int statusBarHeight: 22
@ -142,6 +143,7 @@ Item {
id: dirModel id: dirModel
viewAdapter: viewAdapter viewAdapter: viewAdapter
sortMode: settings.sortMode sortMode: settings.sortMode
// showHiddenFiles: settings.showHiddenFiles
Component.onCompleted: { Component.onCompleted: {
if (arg) if (arg)

View file

@ -22,7 +22,9 @@ import Qt.labs.settings 1.0
Settings { Settings {
property int viewMethod: 1 // controls display mode: list or grid property int viewMethod: 1 // controls display mode: list or grid
property bool showHidden: false
// Port to C++
// property bool showHiddenFiles: false
// Name, Date, Size // Name, Date, Size
property int orderBy: 0 property int orderBy: 0

View file

@ -114,12 +114,12 @@
<context> <context>
<name>FilePropertiesDialog</name> <name>FilePropertiesDialog</name>
<message> <message>
<location filename="../dialogs/filepropertiesdialog.cpp" line="179"/> <location filename="../dialogs/filepropertiesdialog.cpp" line="185"/>
<source>Properties</source> <source>Properties</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../dialogs/filepropertiesdialog.cpp" line="227"/> <location filename="../dialogs/filepropertiesdialog.cpp" line="233"/>
<source>%1 files</source> <source>%1 files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -127,191 +127,196 @@
<context> <context>
<name>FolderModel</name> <name>FolderModel</name>
<message> <message>
<location filename="../model/foldermodel.cpp" line="184"/> <location filename="../model/foldermodel.cpp" line="202"/>
<source>%1 item</source> <source>%1 item</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="184"/> <location filename="../model/foldermodel.cpp" line="202"/>
<source>%1 items</source> <source>%1 items</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="249"/> <location filename="../model/foldermodel.cpp" line="267"/>
<source>The file or folder %1 does not exist.</source> <source>The file or folder %1 does not exist.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="981"/> <location filename="../model/foldermodel.cpp" line="999"/>
<source>Select All</source> <source>Select All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1088"/> <location filename="../model/foldermodel.cpp" line="1108"/>
<source>File Manager</source> <source>File Manager</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1281"/> <location filename="../model/foldermodel.cpp" line="1359"/>
<source>Open</source> <source>Open</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1284"/> <location filename="../model/foldermodel.cpp" line="1362"/>
<source>Open with</source> <source>Open with</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1287"/> <location filename="../model/foldermodel.cpp" line="1365"/>
<source>Cut</source> <source>Cut</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1290"/> <location filename="../model/foldermodel.cpp" line="1368"/>
<source>Copy</source> <source>Copy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1293"/> <location filename="../model/foldermodel.cpp" line="1371"/>
<source>Paste</source> <source>Paste</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1296"/> <location filename="../model/foldermodel.cpp" line="1374"/>
<source>New Folder</source> <source>New Folder</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1299"/> <location filename="../model/foldermodel.cpp" line="1377"/>
<source>Move To Trash</source> <source>Move To Trash</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1302"/> <location filename="../model/foldermodel.cpp" line="1380"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1305"/> <location filename="../model/foldermodel.cpp" line="1383"/>
<source>Delete</source> <source>Delete</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1308"/> <location filename="../model/foldermodel.cpp" line="1386"/>
<source>Rename</source> <source>Rename</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1311"/> <location filename="../model/foldermodel.cpp" line="1389"/>
<source>Open in Terminal</source> <source>Open in Terminal</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1314"/> <location filename="../model/foldermodel.cpp" line="1392"/>
<source>Set as Wallpaper</source> <source>Set as Wallpaper</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1317"/> <location filename="../model/foldermodel.cpp" line="1395"/>
<source>Properties</source> <source>Properties</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1320"/> <location filename="../model/foldermodel.cpp" line="1398"/>
<source>Change background</source> <source>Change background</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1323"/> <location filename="../model/foldermodel.cpp" line="1401"/>
<source>Restore</source> <source>Restore</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../model/foldermodel.cpp" line="1404"/>
<source>Show hidden files</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FolderPage</name> <name>FolderPage</name>
<message> <message>
<location filename="../qml/FolderPage.qml" line="134"/> <location filename="../qml/FolderPage.qml" line="136"/>
<source>Empty folder</source> <source>Empty folder</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="174"/> <location filename="../qml/FolderPage.qml" line="177"/>
<source>Open</source> <source>Open</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="60"/> <location filename="../qml/FolderPage.qml" line="61"/>
<location filename="../qml/FolderPage.qml" line="179"/> <location filename="../qml/FolderPage.qml" line="182"/>
<source>Properties</source> <source>Properties</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="50"/> <location filename="../qml/FolderPage.qml" line="51"/>
<source>File</source> <source>File</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="53"/> <location filename="../qml/FolderPage.qml" line="54"/>
<source>New Folder</source> <source>New Folder</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="67"/> <location filename="../qml/FolderPage.qml" line="68"/>
<source>Quit</source> <source>Quit</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="73"/> <location filename="../qml/FolderPage.qml" line="74"/>
<source>Edit</source> <source>Edit</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="76"/> <location filename="../qml/FolderPage.qml" line="77"/>
<source>Select All</source> <source>Select All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="83"/> <location filename="../qml/FolderPage.qml" line="84"/>
<source>Cut</source> <source>Cut</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="88"/> <location filename="../qml/FolderPage.qml" line="89"/>
<source>Copy</source> <source>Copy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="93"/> <location filename="../qml/FolderPage.qml" line="94"/>
<source>Paste</source> <source>Paste</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="99"/> <location filename="../qml/FolderPage.qml" line="100"/>
<source>Help</source> <source>Help</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="102"/> <location filename="../qml/FolderPage.qml" line="103"/>
<source>About</source> <source>About</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="241"/> <location filename="../qml/FolderPage.qml" line="244"/>
<source>%1 item</source> <source>%1 item</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="242"/> <location filename="../qml/FolderPage.qml" line="245"/>
<source>%1 items</source> <source>%1 items</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="248"/> <location filename="../qml/FolderPage.qml" line="251"/>
<source>%1 selected</source> <source>%1 selected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="259"/> <location filename="../qml/FolderPage.qml" line="266"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View file

@ -114,12 +114,12 @@
<context> <context>
<name>FilePropertiesDialog</name> <name>FilePropertiesDialog</name>
<message> <message>
<location filename="../dialogs/filepropertiesdialog.cpp" line="179"/> <location filename="../dialogs/filepropertiesdialog.cpp" line="185"/>
<source>Properties</source> <source>Properties</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialogs/filepropertiesdialog.cpp" line="227"/> <location filename="../dialogs/filepropertiesdialog.cpp" line="233"/>
<source>%1 files</source> <source>%1 files</source>
<translation>%1 </translation> <translation>%1 </translation>
</message> </message>
@ -127,191 +127,196 @@
<context> <context>
<name>FolderModel</name> <name>FolderModel</name>
<message> <message>
<location filename="../model/foldermodel.cpp" line="184"/> <location filename="../model/foldermodel.cpp" line="202"/>
<source>%1 item</source> <source>%1 item</source>
<translation>%1 </translation> <translation>%1 </translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="184"/> <location filename="../model/foldermodel.cpp" line="202"/>
<source>%1 items</source> <source>%1 items</source>
<translation>%1 </translation> <translation>%1 </translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="249"/> <location filename="../model/foldermodel.cpp" line="267"/>
<source>The file or folder %1 does not exist.</source> <source>The file or folder %1 does not exist.</source>
<translation> %1 </translation> <translation> %1 </translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="981"/> <location filename="../model/foldermodel.cpp" line="999"/>
<source>Select All</source> <source>Select All</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1088"/> <location filename="../model/foldermodel.cpp" line="1108"/>
<source>File Manager</source> <source>File Manager</source>
<translation type="unfinished"></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1281"/> <location filename="../model/foldermodel.cpp" line="1359"/>
<source>Open</source> <source>Open</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1284"/> <location filename="../model/foldermodel.cpp" line="1362"/>
<source>Open with</source> <source>Open with</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1287"/> <location filename="../model/foldermodel.cpp" line="1365"/>
<source>Cut</source> <source>Cut</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1290"/> <location filename="../model/foldermodel.cpp" line="1368"/>
<source>Copy</source> <source>Copy</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1293"/> <location filename="../model/foldermodel.cpp" line="1371"/>
<source>Paste</source> <source>Paste</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1296"/> <location filename="../model/foldermodel.cpp" line="1374"/>
<source>New Folder</source> <source>New Folder</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1299"/> <location filename="../model/foldermodel.cpp" line="1377"/>
<source>Move To Trash</source> <source>Move To Trash</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1302"/> <location filename="../model/foldermodel.cpp" line="1380"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1305"/> <location filename="../model/foldermodel.cpp" line="1383"/>
<source>Delete</source> <source>Delete</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1308"/> <location filename="../model/foldermodel.cpp" line="1386"/>
<source>Rename</source> <source>Rename</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1311"/> <location filename="../model/foldermodel.cpp" line="1389"/>
<source>Open in Terminal</source> <source>Open in Terminal</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1314"/> <location filename="../model/foldermodel.cpp" line="1392"/>
<source>Set as Wallpaper</source> <source>Set as Wallpaper</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1317"/> <location filename="../model/foldermodel.cpp" line="1395"/>
<source>Properties</source> <source>Properties</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1320"/> <location filename="../model/foldermodel.cpp" line="1398"/>
<source>Change background</source> <source>Change background</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../model/foldermodel.cpp" line="1323"/> <location filename="../model/foldermodel.cpp" line="1401"/>
<source>Restore</source> <source>Restore</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="../model/foldermodel.cpp" line="1404"/>
<source>Show hidden files</source>
<translation></translation>
</message>
</context> </context>
<context> <context>
<name>FolderPage</name> <name>FolderPage</name>
<message> <message>
<location filename="../qml/FolderPage.qml" line="134"/> <location filename="../qml/FolderPage.qml" line="136"/>
<source>Empty folder</source> <source>Empty folder</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="174"/> <location filename="../qml/FolderPage.qml" line="177"/>
<source>Open</source> <source>Open</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="60"/> <location filename="../qml/FolderPage.qml" line="61"/>
<location filename="../qml/FolderPage.qml" line="179"/> <location filename="../qml/FolderPage.qml" line="182"/>
<source>Properties</source> <source>Properties</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="50"/> <location filename="../qml/FolderPage.qml" line="51"/>
<source>File</source> <source>File</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="53"/> <location filename="../qml/FolderPage.qml" line="54"/>
<source>New Folder</source> <source>New Folder</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="67"/> <location filename="../qml/FolderPage.qml" line="68"/>
<source>Quit</source> <source>Quit</source>
<translation>退</translation> <translation>退</translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="73"/> <location filename="../qml/FolderPage.qml" line="74"/>
<source>Edit</source> <source>Edit</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="76"/> <location filename="../qml/FolderPage.qml" line="77"/>
<source>Select All</source> <source>Select All</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="83"/> <location filename="../qml/FolderPage.qml" line="84"/>
<source>Cut</source> <source>Cut</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="88"/> <location filename="../qml/FolderPage.qml" line="89"/>
<source>Copy</source> <source>Copy</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="93"/> <location filename="../qml/FolderPage.qml" line="94"/>
<source>Paste</source> <source>Paste</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="99"/> <location filename="../qml/FolderPage.qml" line="100"/>
<source>Help</source> <source>Help</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="102"/> <location filename="../qml/FolderPage.qml" line="103"/>
<source>About</source> <source>About</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="241"/> <location filename="../qml/FolderPage.qml" line="244"/>
<source>%1 item</source> <source>%1 item</source>
<translation>%1 </translation> <translation>%1 </translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="242"/> <location filename="../qml/FolderPage.qml" line="245"/>
<source>%1 items</source> <source>%1 items</source>
<translation>%1 </translation> <translation>%1 </translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="248"/> <location filename="../qml/FolderPage.qml" line="251"/>
<source>%1 selected</source> <source>%1 selected</source>
<translation> %1 </translation> <translation> %1 </translation>
</message> </message>
<message> <message>
<location filename="../qml/FolderPage.qml" line="259"/> <location filename="../qml/FolderPage.qml" line="266"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation></translation> <translation></translation>
</message> </message>