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) 2014 by Eike Hein <hein@kde.org> *
* 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 *
* it under the terms of the GNU General Public License as published by *
@ -50,6 +51,7 @@
#include <QDrag>
#include <QDir>
#include <QProcess>
#include <QSettings>
#include <QDesktopServices>
// Qt Quick
@ -77,6 +79,7 @@ FolderModel::FolderModel(QObject *parent)
, m_sortMode(0)
, m_sortDesc(false)
, m_sortDirsFirst(true)
, m_showHiddenFiles(false)
, m_filterMode(NoFilter)
, m_filterPatternMatchAll(true)
, m_complete(false)
@ -88,13 +91,17 @@ FolderModel::FolderModel(QObject *parent)
, m_mimeAppManager(MimeAppManager::self())
, m_sizeJob(nullptr)
{
DirLister *dirLister = new DirLister(this);
dirLister->setDelayedMimeTypes(true);
dirLister->setAutoErrorHandlingEnabled(false, nullptr);
QSettings settings("cutefishos", qApp->applicationName());
m_showHiddenFiles = settings.value("showHiddenFiles", false).toBool();
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);
m_dirModel = new KDirModel(this);
m_dirModel->setDirLister(dirLister);
m_dirModel->setDirLister(m_dirLister);
m_dirModel->setDropsAllowed(KDirModel::DropOnDirectory | KDirModel::DropOnLocalExecutable);
m_dirModel->moveToThread(qApp->thread());
@ -143,6 +150,7 @@ QHash<int, QByteArray> FolderModel::staticRoleNames()
roleNames[BlankRole] = "blank";
roleNames[SelectedRole] = "selected";
roleNames[IsDirRole] = "isDir";
roleNames[IsHiddenRole] = "isHidden";
roleNames[UrlRole] = "url";
roleNames[DisplayNameRole] = "displayName";
roleNames[FileNameRole] = "fileName";
@ -180,6 +188,12 @@ QVariant FolderModel::data(const QModelIndex &index, int role) const
case IsDesktopFileRole: {
return item.isDesktopFile();
}
case IsDirRole: {
return item.isDir();
}
case IsHiddenRole: {
return item.isHidden();
}
case FileSizeRole: {
if (item.isDir()) {
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("showHidden"));
menu->addSeparator();
menu->addAction(m_actionCollection.action("emptyTrash"));
menu->addAction(m_actionCollection.action("properties"));
@ -1283,6 +1299,26 @@ bool FolderModel::matchPattern(const KFileItem &item) const
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
{
return m_selectedItemSize;
@ -1365,6 +1401,11 @@ void FolderModel::createActions()
QAction *restore = new QAction(tr("Restore"), this);
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("openWith"), openWith);
m_actionCollection.addAction(QStringLiteral("cut"), cut);
@ -1380,6 +1421,7 @@ void FolderModel::createActions()
m_actionCollection.addAction(QStringLiteral("properties"), properties);
m_actionCollection.addAction(QStringLiteral("changeBackground"), changeBackground);
m_actionCollection.addAction(QStringLiteral("restore"), restore);
m_actionCollection.addAction(QStringLiteral("showHidden"), showHidden);
}
void FolderModel::updateActions()
@ -1485,6 +1527,11 @@ void FolderModel::updateActions()
if (QAction *properties = m_actionCollection.action("properties")) {
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)

View file

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

View file

@ -86,6 +86,8 @@ Item {
width: parent.width - FishUI.Units.largeSpacing * 2
height: control.GridView.view.iconSize
opacity: model.isHidden ? 0.5 : 1.0
Image {
id: _icon
width: control.GridView.view.iconSize
@ -197,7 +199,9 @@ Item {
wrapMode: Text.Wrap
text: model.fileName
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 {

View file

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

View file

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

View file

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

View file

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

View file

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