Merge branch 'debian/experimental' into debian/sid

* debian/experimental:
  Update gbp.conf
  Update Vcs-* fields
  Cherry-picking upstream version 0.10.0.
  Cherry-picking upstream version 0.9.0+20151031.
  Cherry-picking upstream version 0.9.0+20150929.
  Cherry-picking upstream version 0.9.0+20150927. Solves:  - apply-button for desktop preferences  - close the desktop painting process by incident
  Cherry-picked upstream version 0.9.0+20150925.
ubuntu/disco debian/0.10.0-2
ChangZhuo Chen (陳昌倬) 9 years ago
commit 356dcd1014

2
.gitignore vendored

@ -0,0 +1,2 @@
build
*.kdev4

@ -1,13 +1,13 @@
cmake_minimum_required(VERSION 2.8.11) cmake_minimum_required(VERSION 3.0.2)
project(pcmanfm-qt) project(pcmanfm-qt)
set(PCMANFM_QT_VERSION_MAJOR 0) set(PCMANFM_QT_VERSION_MAJOR 0)
set(PCMANFM_QT_VERSION_MINOR 9) set(PCMANFM_QT_VERSION_MINOR 10)
set(PCMANFM_QT_VERSION_PATCH 0) set(PCMANFM_QT_VERSION_PATCH 0)
set(PCMANFM_QT_VERSION ${PCMANFM_QT_VERSION_MAJOR}.${PCMANFM_QT_VERSION_MINOR}.${PCMANFM_QT_VERSION_PATCH}) set(PCMANFM_QT_VERSION ${PCMANFM_QT_VERSION_MAJOR}.${PCMANFM_QT_VERSION_MINOR}.${PCMANFM_QT_VERSION_PATCH})
set(LIBFM_QT_VERSION_MAJOR 0) set(LIBFM_QT_VERSION_MAJOR 0)
set(LIBFM_QT_VERSION_MINOR 9) set(LIBFM_QT_VERSION_MINOR 10)
set(LIBFM_QT_VERSION_PATCH 0) set(LIBFM_QT_VERSION_PATCH 0)
set(LIBFM_QT_VERSION ${LIBFM_QT_VERSION_MAJOR}.${LIBFM_QT_VERSION_MINOR}.${LIBFM_QT_VERSION_PATCH}) set(LIBFM_QT_VERSION ${LIBFM_QT_VERSION_MAJOR}.${LIBFM_QT_VERSION_MINOR}.${LIBFM_QT_VERSION_PATCH})
@ -90,7 +90,7 @@ endif()
# make package_source # make package_source
include(InstallRequiredSystemLibraries) include(InstallRequiredSystemLibraries)
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README") set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
set(CPACK_PACKAGE_VENDOR "") set(CPACK_PACKAGE_VENDOR "")
set(CPACK_PACKAGE_VERSION_MAJOR ${PCMANFM_QT_VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MAJOR ${PCMANFM_QT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PCMANFM_QT_VERSION_MINOR}) set(CPACK_PACKAGE_VERSION_MINOR ${PCMANFM_QT_VERSION_MINOR})

@ -1,11 +0,0 @@
PCManFM-Qt is the Qt port of the LXDE file manager PCManFM.
Libfm-Qt is a companion library providing components to build desktop file managers.
Issue tracker:
https://github.com/lxde/pcmanfm-qt/issues
LXQt website:
http://lxqt.org
LXDE website:
http://lxde.org

@ -0,0 +1,15 @@
# PCManFM-Qt
The Qt port of the LXDE file manager PCManFM.
Includes libfm-qt, the qt port of the libfm-qt - a library providing components
to build desktop file managers.
Issue tracker:
https://github.com/lxde/pcmanfm-qt/issues
LXQt website:
http://lxqt.org
LXDE website:
http://lxde.org

10
debian/changelog vendored

@ -1,3 +1,13 @@
pcmanfm-qt (0.10.0-2) unstable; urgency=medium
* Merge from experimental.
* New upstream release.
* Update minimum version of liblxqt.
* Update symbols.
* Remove menu file, see CTTE #741573.
-- ChangZhuo Chen (陳昌倬) <czchen@debian.org> Sun, 15 Nov 2015 21:14:41 +0800
pcmanfm-qt (0.9.0+20150908-2) unstable; urgency=medium pcmanfm-qt (0.9.0+20150908-2) unstable; urgency=medium
* Menufile deleted * Menufile deleted

8
debian/control vendored

@ -10,17 +10,17 @@ Build-Depends: cmake (>= 3.0.2),
debhelper (>= 9), debhelper (>= 9),
libfm-dev (>= 1.2.0), libfm-dev (>= 1.2.0),
libglib2.0-dev, libglib2.0-dev,
liblxqt0-dev, liblxqt0-dev (>= 0.10.0),
libmenu-cache-dev, libmenu-cache-dev,
libqt5x11extras5-dev, libqt5x11extras5-dev,
libqt5xdg-dev, libqt5xdg-dev (>= 1.3.0),
libx11-dev, libx11-dev,
pkg-config, pkg-config,
qttools5-dev, qttools5-dev,
qttools5-dev-tools qttools5-dev-tools
Standards-Version: 3.9.6 Standards-Version: 3.9.6
Vcs-Browser: http://anonscm.debian.org/cgit/pkg-lxqt/pcmanfm-qt Vcs-Browser: http://anonscm.debian.org/cgit/pkg-lxqt/pcmanfm-qt/?h=debian/sid
Vcs-Git: git://anonscm.debian.org/pkg-lxqt/pcmanfm-qt.git Vcs-Git: git://anonscm.debian.org/pkg-lxqt/pcmanfm-qt.git -b debian/sid
Homepage: https://github.com/lxde/pcmanfm-qt Homepage: https://github.com/lxde/pcmanfm-qt
Package: pcmanfm-qt Package: pcmanfm-qt

2
debian/docs vendored

@ -1,2 +1,2 @@
AUTHORS AUTHORS
README README.md

6
debian/gbp.conf vendored

@ -1,2 +1,8 @@
[DEFAULT] [DEFAULT]
debian-branch = debian/sid
upstream-branch = upstream/latest
pristine-tar = True pristine-tar = True
[import-orig]
# Use git cherrypick -n upstream instead.
merge = False

@ -1,8 +1,4 @@
libfm-qt5.so.2 libfm-qt5-2 #MINVER# libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(arch-bits=32|c++)"Fm::MountOperation::onShowUnmountProgress(_GMountOperation*, char*, long long, long long, Fm::MountOperation*)@Base" 0.9.0+20150903
(arch-bits=32|c++)"Fm::ThumbnailLoader::readImageFromStream(_GInputStream*, unsigned long long, _GCancellable*)@Base" 0.9.0+20150903
(arch-bits=64|c++)"Fm::MountOperation::onShowUnmountProgress(_GMountOperation*, char*, long, long, Fm::MountOperation*)@Base" 0.9.0+20150903
(arch-bits=64|c++)"Fm::ThumbnailLoader::readImageFromStream(_GInputStream*, unsigned long, _GCancellable*)@Base" 0.9.0+20150903
(c++)"Fm::AppChooserComboBox::~AppChooserComboBox()@Base" 0.9.0+20150903 (c++)"Fm::AppChooserComboBox::~AppChooserComboBox()@Base" 0.9.0+20150903
(c++)"Fm::AppChooserComboBox::AppChooserComboBox(QWidget*)@Base" 0.9.0+20150903 (c++)"Fm::AppChooserComboBox::AppChooserComboBox(QWidget*)@Base" 0.9.0+20150903
(c++)"Fm::AppChooserComboBox::isChanged()@Base" 0.9.0+20150903 (c++)"Fm::AppChooserComboBox::isChanged()@Base" 0.9.0+20150903
@ -44,8 +40,8 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"Fm::BookmarkAction::BookmarkAction(_FmBookmarkItem*, QObject*)@Base" 0.9.0+20150903 (c++)"Fm::BookmarkAction::BookmarkAction(_FmBookmarkItem*, QObject*)@Base" 0.9.0+20150903
(c++)"Fm::BrowseHistory::add(_FmPath*, int)@Base" 0.9.0+20150903 (c++)"Fm::BrowseHistory::add(_FmPath*, int)@Base" 0.9.0+20150903
(c++)"Fm::BrowseHistory::backward()@Base" 0.9.0+20150903 (c++)"Fm::BrowseHistory::backward()@Base" 0.9.0+20150903
(c++)"Fm::BrowseHistory::~BrowseHistory()@Base" 0.9.0+20150903
(c++)"Fm::BrowseHistory::BrowseHistory()@Base" 0.9.0+20150903 (c++)"Fm::BrowseHistory::BrowseHistory()@Base" 0.9.0+20150903
(c++)"Fm::BrowseHistory::~BrowseHistory()@Base" 0.9.0+20150903
(c++)"Fm::BrowseHistory::canBackward() const@Base" 0.9.0+20150903 (c++)"Fm::BrowseHistory::canBackward() const@Base" 0.9.0+20150903
(c++)"Fm::BrowseHistory::canForward() const@Base" 0.9.0+20150903 (c++)"Fm::BrowseHistory::canForward() const@Base" 0.9.0+20150903
(c++)"Fm::BrowseHistory::forward()@Base" 0.9.0+20150903 (c++)"Fm::BrowseHistory::forward()@Base" 0.9.0+20150903
@ -99,10 +95,8 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"Fm::DirTreeModelItem::addPlaceHolderChild()@Base" 0.9.0+20150903 (c++)"Fm::DirTreeModelItem::addPlaceHolderChild()@Base" 0.9.0+20150903
(c++)"Fm::DirTreeModelItem::childFromName(char const*, int*)@Base" 0.9.0+20150903 (c++)"Fm::DirTreeModelItem::childFromName(char const*, int*)@Base" 0.9.0+20150903
(c++)"Fm::DirTreeModelItem::childFromPath(_FmPath*, bool) const@Base" 0.9.0+20150903 (c++)"Fm::DirTreeModelItem::childFromPath(_FmPath*, bool) const@Base" 0.9.0+20150903
(c++)"Fm::DirTreeModelItem::~DirTreeModelItem()@Base" 0.9.0+20150903
(c++)"Fm::DirTreeModelItem::DirTreeModelItem()@Base" 0.9.0+20150903
(c++)"Fm::DirTreeModelItem::DirTreeModelItem()@Base" 0.9.0+20150903 (c++)"Fm::DirTreeModelItem::DirTreeModelItem()@Base" 0.9.0+20150903
(c++)"Fm::DirTreeModelItem::DirTreeModelItem(_FmFileInfo*, Fm::DirTreeModel*, Fm::DirTreeModelItem*)@Base" 0.9.0+20150903 (c++)"Fm::DirTreeModelItem::~DirTreeModelItem()@Base" 0.9.0+20150903
(c++)"Fm::DirTreeModelItem::DirTreeModelItem(_FmFileInfo*, Fm::DirTreeModel*, Fm::DirTreeModelItem*)@Base" 0.9.0+20150903 (c++)"Fm::DirTreeModelItem::DirTreeModelItem(_FmFileInfo*, Fm::DirTreeModel*, Fm::DirTreeModelItem*)@Base" 0.9.0+20150903
(c++)"Fm::DirTreeModelItem::freeFolder()@Base" 0.9.0+20150903 (c++)"Fm::DirTreeModelItem::freeFolder()@Base" 0.9.0+20150903
(c++)"Fm::DirTreeModel::itemFromIndex(QModelIndex const&) const@Base" 0.9.0+20150903 (c++)"Fm::DirTreeModel::itemFromIndex(QModelIndex const&) const@Base" 0.9.0+20150903
@ -167,8 +161,8 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"Fm::FileLauncher::ask(char const*, char* const*, int)@Base" 0.9.0+20150903 (c++)"Fm::FileLauncher::ask(char const*, char* const*, int)@Base" 0.9.0+20150903
(c++)"Fm::FileLauncher::error(_GAppLaunchContext*, _GError*, _FmPath*)@Base" 0.9.0+20150903 (c++)"Fm::FileLauncher::error(_GAppLaunchContext*, _GError*, _FmPath*)@Base" 0.9.0+20150903
(c++)"Fm::FileLauncher::execFile(_FmFileInfo*)@Base" 0.9.0+20150903 (c++)"Fm::FileLauncher::execFile(_FmFileInfo*)@Base" 0.9.0+20150903
(c++)"Fm::FileLauncher::~FileLauncher()@Base" 0.9.0+20150903
(c++)"Fm::FileLauncher::FileLauncher()@Base" 0.9.0+20150903 (c++)"Fm::FileLauncher::FileLauncher()@Base" 0.9.0+20150903
(c++)"Fm::FileLauncher::~FileLauncher()@Base" 0.9.0+20150903
(c++)"Fm::FileLauncher::funcs@Base" 0.9.0+20150903 (c++)"Fm::FileLauncher::funcs@Base" 0.9.0+20150903
(c++)"Fm::FileLauncher::getApp(_GList*, _FmMimeType*, _GError**)@Base" 0.9.0+20150903 (c++)"Fm::FileLauncher::getApp(_GList*, _FmMimeType*, _GError**)@Base" 0.9.0+20150903
(c++)"Fm::FileLauncher::launchFiles(QWidget*, _GList*)@Base" 0.9.0+20150903 (c++)"Fm::FileLauncher::launchFiles(QWidget*, _GList*)@Base" 0.9.0+20150903
@ -178,8 +172,6 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"Fm::FileMenu::createMenu(_FmFileInfoList*, _FmFileInfo*, _FmPath*)@Base" 0.9.0+20150903 (c++)"Fm::FileMenu::createMenu(_FmFileInfoList*, _FmFileInfo*, _FmPath*)@Base" 0.9.0+20150903
(c++)"Fm::FileMenu::~FileMenu()@Base" 0.9.0+20150903 (c++)"Fm::FileMenu::~FileMenu()@Base" 0.9.0+20150903
(c++)"Fm::FileMenu::FileMenu(_FmFileInfoList*, _FmFileInfo*, _FmPath*, QString const&, QWidget*)@Base" 0.9.0+20150903 (c++)"Fm::FileMenu::FileMenu(_FmFileInfoList*, _FmFileInfo*, _FmPath*, QString const&, QWidget*)@Base" 0.9.0+20150903
(c++)"Fm::FileMenu::FileMenu(_FmFileInfoList*, _FmFileInfo*, _FmPath*, QString const&, QWidget*)@Base" 0.9.0+20150903
(c++)"Fm::FileMenu::FileMenu(_FmFileInfoList*, _FmFileInfo*, _FmPath*, QWidget*)@Base" 0.9.0+20150903
(c++)"Fm::FileMenu::FileMenu(_FmFileInfoList*, _FmFileInfo*, _FmPath*, QWidget*)@Base" 0.9.0+20150903 (c++)"Fm::FileMenu::FileMenu(_FmFileInfoList*, _FmFileInfo*, _FmPath*, QWidget*)@Base" 0.9.0+20150903
(c++)"Fm::FileMenu::metaObject() const@Base" 0.9.0+20150903 (c++)"Fm::FileMenu::metaObject() const@Base" 0.9.0+20150903
(c++)"Fm::FileMenu::onApplicationTriggered()@Base" 0.9.0+20150903 (c++)"Fm::FileMenu::onApplicationTriggered()@Base" 0.9.0+20150903
@ -257,6 +249,11 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"Fm::FilePropsDialog::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150903 (c++)"Fm::FilePropsDialog::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150903
(c++)"Fm::FilePropsDialog::qt_metacast(char const*)@Base" 0.9.0+20150903 (c++)"Fm::FilePropsDialog::qt_metacast(char const*)@Base" 0.9.0+20150903
(c++)"Fm::FilePropsDialog::staticMetaObject@Base" 0.9.0+20150903 (c++)"Fm::FilePropsDialog::staticMetaObject@Base" 0.9.0+20150903
(c++)"Fm::FileSearchDialog::accept()@Base" 0.9.0+20150925
(c++)"Fm::FileSearchDialog::~FileSearchDialog()@Base" 0.9.0+20150925
(c++)"Fm::FileSearchDialog::FileSearchDialog(QStringList, QWidget*, QFlags<Qt::WindowType>)@Base" 0.9.0+20150925
(c++)"Fm::FileSearchDialog::onAddPath()@Base" 0.9.0+20150925
(c++)"Fm::FileSearchDialog::onRemovePath()@Base" 0.9.0+20150925
(c++)"Fm::FolderItemDelegate::drawText(QPainter*, QStyleOptionViewItem&, QRectF&) const@Base" 0.9.0+20150903 (c++)"Fm::FolderItemDelegate::drawText(QPainter*, QStyleOptionViewItem&, QRectF&) const@Base" 0.9.0+20150903
(c++)"Fm::FolderItemDelegate::~FolderItemDelegate()@Base" 0.9.0+20150903 (c++)"Fm::FolderItemDelegate::~FolderItemDelegate()@Base" 0.9.0+20150903
(c++)"Fm::FolderItemDelegate::FolderItemDelegate(QAbstractItemView*, QObject*)@Base" 0.9.0+20150903 (c++)"Fm::FolderItemDelegate::FolderItemDelegate(QAbstractItemView*, QObject*)@Base" 0.9.0+20150903
@ -293,16 +290,14 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"Fm::FolderModel::findItemByName(char const*, int*)@Base" 0.9.0+20150903 (c++)"Fm::FolderModel::findItemByName(char const*, int*)@Base" 0.9.0+20150903
(c++)"Fm::FolderModel::findItemByPath(_FmPath*, int*)@Base" 0.9.0+20150903 (c++)"Fm::FolderModel::findItemByPath(_FmPath*, int*)@Base" 0.9.0+20150903
(c++)"Fm::FolderModel::flags(QModelIndex const&) const@Base" 0.9.0+20150903 (c++)"Fm::FolderModel::flags(QModelIndex const&) const@Base" 0.9.0+20150903
(c++)"Fm::FolderModel::~FolderModel()@Base" 0.9.0+20150903
(c++)"Fm::FolderModel::FolderModel()@Base" 0.9.0+20150903 (c++)"Fm::FolderModel::FolderModel()@Base" 0.9.0+20150903
(c++)"Fm::FolderModel::~FolderModel()@Base" 0.9.0+20150903
(c++)"Fm::FolderModel::headerData(int, Qt::Orientation, int) const@Base" 0.9.0+20150903 (c++)"Fm::FolderModel::headerData(int, Qt::Orientation, int) const@Base" 0.9.0+20150903
(c++)"Fm::FolderModel::index(int, int, QModelIndex const&) const@Base" 0.9.0+20150903 (c++)"Fm::FolderModel::index(int, int, QModelIndex const&) const@Base" 0.9.0+20150903
(c++)"Fm::FolderModel::insertFiles(int, _FmFileInfoList*)@Base" 0.9.0+20150903 (c++)"Fm::FolderModel::insertFiles(int, _FmFileInfoList*)@Base" 0.9.0+20150903
(c++)"Fm::FolderModelItem::findThumbnail(int)@Base" 0.9.0+20150903 (c++)"Fm::FolderModelItem::findThumbnail(int)@Base" 0.9.0+20150903
(c++)"Fm::FolderModelItem::~FolderModelItem()@Base" 0.9.0+20150903 (c++)"Fm::FolderModelItem::~FolderModelItem()@Base" 0.9.0+20150903
(c++)"Fm::FolderModelItem::FolderModelItem(_FmFileInfo*)@Base" 0.9.0+20150903 (c++)"Fm::FolderModelItem::FolderModelItem(_FmFileInfo*)@Base" 0.9.0+20150903
(c++)"Fm::FolderModelItem::FolderModelItem(_FmFileInfo*)@Base" 0.9.0+20150903
(c++)"Fm::FolderModelItem::FolderModelItem(Fm::FolderModelItem const&)@Base" 0.9.0+20150903
(c++)"Fm::FolderModelItem::FolderModelItem(Fm::FolderModelItem const&)@Base" 0.9.0+20150903 (c++)"Fm::FolderModelItem::FolderModelItem(Fm::FolderModelItem const&)@Base" 0.9.0+20150903
(c++)"Fm::FolderModel::itemFromIndex(QModelIndex const&) const@Base" 0.9.0+20150903 (c++)"Fm::FolderModel::itemFromIndex(QModelIndex const&) const@Base" 0.9.0+20150903
(c++)"Fm::FolderModelItem::removeThumbnail(int)@Base" 0.9.0+20150903 (c++)"Fm::FolderModelItem::removeThumbnail(int)@Base" 0.9.0+20150903
@ -388,8 +383,8 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"Fm::IconTheme::icon(_FmIcon*)@Base" 0.9.0+20150903 (c++)"Fm::IconTheme::icon(_FmIcon*)@Base" 0.9.0+20150903
(c++)"Fm::IconTheme::iconFromNames(char const* const*)@Base" 0.9.0+20150903 (c++)"Fm::IconTheme::iconFromNames(char const* const*)@Base" 0.9.0+20150903
(c++)"Fm::IconTheme::icon(_GIcon*)@Base" 0.9.0+20150903 (c++)"Fm::IconTheme::icon(_GIcon*)@Base" 0.9.0+20150903
(c++)"Fm::IconTheme::~IconTheme()@Base" 0.9.0+20150903
(c++)"Fm::IconTheme::IconTheme()@Base" 0.9.0+20150903 (c++)"Fm::IconTheme::IconTheme()@Base" 0.9.0+20150903
(c++)"Fm::IconTheme::~IconTheme()@Base" 0.9.0+20150903
(c++)"Fm::IconTheme::instance()@Base" 0.9.0+20150903 (c++)"Fm::IconTheme::instance()@Base" 0.9.0+20150903
(c++)"Fm::IconTheme::metaObject() const@Base" 0.9.0+20150903 (c++)"Fm::IconTheme::metaObject() const@Base" 0.9.0+20150903
(c++)"Fm::IconTheme::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150903 (c++)"Fm::IconTheme::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150903
@ -446,13 +441,9 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"Fm::PlacesModel::itemFromVolume(_GVolume*)@Base" 0.9.0+20150903 (c++)"Fm::PlacesModel::itemFromVolume(_GVolume*)@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::~PlacesModelItem()@Base" 0.9.0+20150903 (c++)"Fm::PlacesModelItem::~PlacesModelItem()@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::PlacesModelItem()@Base" 0.9.0+20150903 (c++)"Fm::PlacesModelItem::PlacesModelItem()@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::PlacesModelItem()@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::PlacesModelItem(char const*, QString, _FmPath*)@Base" 0.9.0+20150903 (c++)"Fm::PlacesModelItem::PlacesModelItem(char const*, QString, _FmPath*)@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::PlacesModelItem(char const*, QString, _FmPath*)@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::PlacesModelItem(_FmIcon*, QString, _FmPath*)@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::PlacesModelItem(_FmIcon*, QString, _FmPath*)@Base" 0.9.0+20150903 (c++)"Fm::PlacesModelItem::PlacesModelItem(_FmIcon*, QString, _FmPath*)@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::PlacesModelItem(QIcon, QString, _FmPath*)@Base" 0.9.0+20150903 (c++)"Fm::PlacesModelItem::PlacesModelItem(QIcon, QString, _FmPath*)@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::PlacesModelItem(QIcon, QString, _FmPath*)@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::setFileInfo(_FmFileInfo*)@Base" 0.9.0+20150903 (c++)"Fm::PlacesModelItem::setFileInfo(_FmFileInfo*)@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::setIcon(_FmIcon*)@Base" 0.9.0+20150903 (c++)"Fm::PlacesModelItem::setIcon(_FmIcon*)@Base" 0.9.0+20150903
(c++)"Fm::PlacesModelItem::setIcon(_GIcon*)@Base" 0.9.0+20150903 (c++)"Fm::PlacesModelItem::setIcon(_GIcon*)@Base" 0.9.0+20150903
@ -498,6 +489,7 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"Fm::PlacesView::onEjectButtonClicked(Fm::PlacesModelItem*)@Base" 0.9.0+20150903 (c++)"Fm::PlacesView::onEjectButtonClicked(Fm::PlacesModelItem*)@Base" 0.9.0+20150903
(c++)"Fm::PlacesView::onEjectVolume()@Base" 0.9.0+20150903 (c++)"Fm::PlacesView::onEjectVolume()@Base" 0.9.0+20150903
(c++)"Fm::PlacesView::onEmptyTrash()@Base" 0.9.0+20150903 (c++)"Fm::PlacesView::onEmptyTrash()@Base" 0.9.0+20150903
(c++)"Fm::PlacesView::onIconSizeChanged(QSize const&)@Base" 0.9.0+20151031
(c++)"Fm::PlacesView::onMountVolume()@Base" 0.9.0+20150903 (c++)"Fm::PlacesView::onMountVolume()@Base" 0.9.0+20150903
(c++)"Fm::PlacesView::onMoveBookmarkDown()@Base" 0.9.0+20150903 (c++)"Fm::PlacesView::onMoveBookmarkDown()@Base" 0.9.0+20150903
(c++)"Fm::PlacesView::onMoveBookmarkUp()@Base" 0.9.0+20150903 (c++)"Fm::PlacesView::onMoveBookmarkUp()@Base" 0.9.0+20150903
@ -533,6 +525,7 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"Fm::ProxyFolderModel::sortFilterChanged()@Base" 0.9.0+20150903 (c++)"Fm::ProxyFolderModel::sortFilterChanged()@Base" 0.9.0+20150903
(c++)"Fm::ProxyFolderModel::sort(int, Qt::SortOrder)@Base" 0.9.0+20150903 (c++)"Fm::ProxyFolderModel::sort(int, Qt::SortOrder)@Base" 0.9.0+20150903
(c++)"Fm::ProxyFolderModel::staticMetaObject@Base" 0.9.0+20150903 (c++)"Fm::ProxyFolderModel::staticMetaObject@Base" 0.9.0+20150903
(c++)"Fm::ProxyFolderModel::updateFilters()@Base" 0.9.0+20150929
(c++)"Fm::RenameDialog::accept()@Base" 0.9.0+20150903 (c++)"Fm::RenameDialog::accept()@Base" 0.9.0+20150903
(c++)"Fm::RenameDialog::metaObject() const@Base" 0.9.0+20150903 (c++)"Fm::RenameDialog::metaObject() const@Base" 0.9.0+20150903
(c++)"Fm::RenameDialog::onFileNameChanged(QString)@Base" 0.9.0+20150903 (c++)"Fm::RenameDialog::onFileNameChanged(QString)@Base" 0.9.0+20150903
@ -596,6 +589,7 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"non-virtual thunk to Fm::FileMenu::~FileMenu()@Base" 0.9.0+20150903 (c++)"non-virtual thunk to Fm::FileMenu::~FileMenu()@Base" 0.9.0+20150903
(c++)"non-virtual thunk to Fm::FileOperationDialog::~FileOperationDialog()@Base" 0.9.0+20150903 (c++)"non-virtual thunk to Fm::FileOperationDialog::~FileOperationDialog()@Base" 0.9.0+20150903
(c++)"non-virtual thunk to Fm::FilePropsDialog::~FilePropsDialog()@Base" 0.9.0+20150903 (c++)"non-virtual thunk to Fm::FilePropsDialog::~FilePropsDialog()@Base" 0.9.0+20150903
(c++)"non-virtual thunk to Fm::FileSearchDialog::~FileSearchDialog()@Base" 0.9.0+20150925
(c++)"non-virtual thunk to Fm::FolderMenu::~FolderMenu()@Base" 0.9.0+20150903 (c++)"non-virtual thunk to Fm::FolderMenu::~FolderMenu()@Base" 0.9.0+20150903
(c++)"non-virtual thunk to Fm::FolderView::~FolderView()@Base" 0.9.0+20150903 (c++)"non-virtual thunk to Fm::FolderView::~FolderView()@Base" 0.9.0+20150903
(c++)"non-virtual thunk to Fm::FontButton::~FontButton()@Base" 0.9.0+20150903 (c++)"non-virtual thunk to Fm::FontButton::~FontButton()@Base" 0.9.0+20150903
@ -619,6 +613,7 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"typeinfo for Fm::FileOperation@Base" 0.9.0+20150903 (c++)"typeinfo for Fm::FileOperation@Base" 0.9.0+20150903
(c++)"typeinfo for Fm::FileOperationDialog@Base" 0.9.0+20150903 (c++)"typeinfo for Fm::FileOperationDialog@Base" 0.9.0+20150903
(c++)"typeinfo for Fm::FilePropsDialog@Base" 0.9.0+20150903 (c++)"typeinfo for Fm::FilePropsDialog@Base" 0.9.0+20150903
(c++)"typeinfo for Fm::FileSearchDialog@Base" 0.9.0+20150925
(c++)"typeinfo for Fm::FolderItemDelegate@Base" 0.9.0+20150903 (c++)"typeinfo for Fm::FolderItemDelegate@Base" 0.9.0+20150903
(c++)"typeinfo for Fm::FolderMenu@Base" 0.9.0+20150903 (c++)"typeinfo for Fm::FolderMenu@Base" 0.9.0+20150903
(c++)"typeinfo for Fm::FolderModel@Base" 0.9.0+20150903 (c++)"typeinfo for Fm::FolderModel@Base" 0.9.0+20150903
@ -655,6 +650,7 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"typeinfo name for Fm::FileOperation@Base" 0.9.0+20150903 (c++)"typeinfo name for Fm::FileOperation@Base" 0.9.0+20150903
(c++)"typeinfo name for Fm::FileOperationDialog@Base" 0.9.0+20150903 (c++)"typeinfo name for Fm::FileOperationDialog@Base" 0.9.0+20150903
(c++)"typeinfo name for Fm::FilePropsDialog@Base" 0.9.0+20150903 (c++)"typeinfo name for Fm::FilePropsDialog@Base" 0.9.0+20150903
(c++)"typeinfo name for Fm::FileSearchDialog@Base" 0.9.0+20150925
(c++)"typeinfo name for Fm::FolderItemDelegate@Base" 0.9.0+20150903 (c++)"typeinfo name for Fm::FolderItemDelegate@Base" 0.9.0+20150903
(c++)"typeinfo name for Fm::FolderMenu@Base" 0.9.0+20150903 (c++)"typeinfo name for Fm::FolderMenu@Base" 0.9.0+20150903
(c++)"typeinfo name for Fm::FolderModel@Base" 0.9.0+20150903 (c++)"typeinfo name for Fm::FolderModel@Base" 0.9.0+20150903
@ -691,6 +687,7 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"vtable for Fm::FileOperation@Base" 0.9.0+20150903 (c++)"vtable for Fm::FileOperation@Base" 0.9.0+20150903
(c++)"vtable for Fm::FileOperationDialog@Base" 0.9.0+20150903 (c++)"vtable for Fm::FileOperationDialog@Base" 0.9.0+20150903
(c++)"vtable for Fm::FilePropsDialog@Base" 0.9.0+20150903 (c++)"vtable for Fm::FilePropsDialog@Base" 0.9.0+20150903
(c++)"vtable for Fm::FileSearchDialog@Base" 0.9.0+20150925
(c++)"vtable for Fm::FolderItemDelegate@Base" 0.9.0+20150903 (c++)"vtable for Fm::FolderItemDelegate@Base" 0.9.0+20150903
(c++)"vtable for Fm::FolderMenu@Base" 0.9.0+20150903 (c++)"vtable for Fm::FolderMenu@Base" 0.9.0+20150903
(c++)"vtable for Fm::FolderModel@Base" 0.9.0+20150903 (c++)"vtable for Fm::FolderModel@Base" 0.9.0+20150903
@ -712,3 +709,45 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"vtable for Fm::SidePane@Base" 0.9.0+20150903 (c++)"vtable for Fm::SidePane@Base" 0.9.0+20150903
(c++)"vtable for Fm::ThumbnailLoader@Base" 0.9.0+20150903 (c++)"vtable for Fm::ThumbnailLoader@Base" 0.9.0+20150903
## some new symbols i dont know
fm_search_add_dir@Base 0.9.0+20150925
fm_search_add_mime_type@Base 0.9.0+20150925
fm_search_dup_path@Base 0.9.0+20150925
fm_search_free@Base 0.9.0+20150925
fm_search_get_content_ci@Base 0.9.0+20150925
fm_search_get_content_pattern@Base 0.9.0+20150925
fm_search_get_content_regex@Base 0.9.0+20150925
fm_search_get_dirs@Base 0.9.0+20150925
fm_search_get_max_mtime@Base 0.9.0+20150925
fm_search_get_max_size@Base 0.9.0+20150925
fm_search_get_mime_types@Base 0.9.0+20150925
fm_search_get_min_mtime@Base 0.9.0+20150925
fm_search_get_min_size@Base 0.9.0+20150925
fm_search_get_name_ci@Base 0.9.0+20150925
fm_search_get_name_patterns@Base 0.9.0+20150925
fm_search_get_name_regex@Base 0.9.0+20150925
fm_search_get_recursive@Base 0.9.0+20150925
fm_search_get_show_hidden@Base 0.9.0+20150925
fm_search_new@Base 0.9.0+20150925
fm_search_remove_dir@Base 0.9.0+20150925
fm_search_remove_mime_type@Base 0.9.0+20150925
fm_search_set_content_ci@Base 0.9.0+20150925
fm_search_set_content_pattern@Base 0.9.0+20150925
fm_search_set_content_regex@Base 0.9.0+20150925
fm_search_set_max_mtime@Base 0.9.0+20150925
fm_search_set_max_size@Base 0.9.0+20150925
fm_search_set_min_mtime@Base 0.9.0+20150925
fm_search_set_min_size@Base 0.9.0+20150925
fm_search_set_name_ci@Base 0.9.0+20150925
fm_search_set_name_patterns@Base 0.9.0+20150925
fm_search_set_name_regex@Base 0.9.0+20150925
fm_search_set_recursive@Base 0.9.0+20150925
fm_search_set_show_hidden@Base 0.9.0+20150925
## arch-bits for 32 bit
(arch-bits=32|c++)"Fm::MountOperation::onShowUnmountProgress(_GMountOperation*, char*, long long, long long, Fm::MountOperation*)@Base" 0.9.0+20150903
(arch-bits=32|c++)"Fm::ThumbnailLoader::readImageFromStream(_GInputStream*, unsigned long long, _GCancellable*)@Base" 0.9.0+20150903
## arch-bits for 64 bit
(arch-bits=64|c++)"Fm::MountOperation::onShowUnmountProgress(_GMountOperation*, char*, long, long, Fm::MountOperation*)@Base" 0.9.0+20150903
(arch-bits=64|c++)"Fm::ThumbnailLoader::readImageFromStream(_GInputStream*, unsigned long, _GCancellable*)@Base" 0.9.0+20150903

@ -1,2 +1 @@
tar-ignore = .gitignore tar-ignore = .gitignore
tar-ignore = pcmanfm-qt.kdev4

@ -63,6 +63,8 @@ set(libfm_SRCS
appchoosercombobox.cpp appchoosercombobox.cpp
appmenuview.cpp appmenuview.cpp
appchooserdialog.cpp appchooserdialog.cpp
filesearchdialog.cpp
fm-search.c # might be moved to libfm later
) )
set(libfm_UIS set(libfm_UIS
@ -73,6 +75,7 @@ set(libfm_UIS
edit-bookmarks.ui edit-bookmarks.ui
exec-file.ui exec-file.ui
app-chooser-dialog.ui app-chooser-dialog.ui
filesearch.ui
) )
qt5_wrap_ui(libfm_UIS_H ${libfm_UIS}) qt5_wrap_ui(libfm_UIS_H ${libfm_UIS})

@ -33,7 +33,6 @@ CachedFolderModel::CachedFolderModel(FmFolder* folder):
} }
CachedFolderModel::~CachedFolderModel() { CachedFolderModel::~CachedFolderModel() {
qDebug("delete CachedFolderModel");
} }
CachedFolderModel* CachedFolderModel::modelFromFolder(FmFolder* folder) { CachedFolderModel* CachedFolderModel::modelFromFolder(FmFolder* folder) {

@ -62,6 +62,19 @@ void FileMenu::createMenu(FmFileInfoList* files, FmFileInfo* info, FmPath* cwd)
confirmDelete_ = true; confirmDelete_ = true;
confirmTrash_ = false; // Confirm before moving files into "trash can" confirmTrash_ = false; // Confirm before moving files into "trash can"
openAction_ = NULL;
openWithMenuAction_ = NULL;
openWithAction_ = NULL;
separator1_ = NULL;
cutAction_ = NULL;
copyAction_ = NULL;
pasteAction_ = NULL;
deleteAction_ = NULL;
unTrashAction_ = NULL;
renameAction_ = NULL;
separator2_ = NULL;
propertiesAction_ = NULL;
files_ = fm_file_info_list_ref(files); files_ = fm_file_info_list_ref(files);
info_ = info ? fm_file_info_ref(info) : NULL; info_ = info ? fm_file_info_ref(info) : NULL;
cwd_ = cwd ? fm_path_ref(cwd) : NULL; cwd_ = cwd ? fm_path_ref(cwd) : NULL;
@ -346,10 +359,12 @@ void FileMenu::onRenameTriggered() {
void FileMenu::setUseTrash(bool trash) { void FileMenu::setUseTrash(bool trash) {
if(useTrash_ != trash) { if(useTrash_ != trash) {
useTrash_ = trash; useTrash_ = trash;
if(deleteAction_) {
deleteAction_->setText(useTrash_ ? tr("&Move to Trash") : tr("&Delete")); deleteAction_->setText(useTrash_ ? tr("&Move to Trash") : tr("&Delete"));
deleteAction_->setIcon(useTrash_ ? QIcon::fromTheme("user-trash") : QIcon::fromTheme("edit-delete")); deleteAction_->setIcon(useTrash_ ? QIcon::fromTheme("user-trash") : QIcon::fromTheme("edit-delete"));
} }
} }
}
void FileMenu::onCompress() { void FileMenu::onCompress() {
FmArchiver* archiver = fm_archiver_get_default(); FmArchiver* archiver = fm_archiver_get_default();

@ -0,0 +1,449 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SearchDialog</class>
<widget class="QDialog" name="SearchDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>512</width>
<height>420</height>
</rect>
</property>
<property name="windowTitle">
<string>Search Files</string>
</property>
<property name="windowIcon">
<iconset theme="system-search">
<normaloff/>
</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Name/Location</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,1">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>File Name Patterns:</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLineEdit" name="namePatterns">
<property name="text">
<string>*</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="nameCaseInsensitive">
<property name="text">
<string>Case insensitive</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="nameRegExp">
<property name="text">
<string>Use regular expression</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Places to Search:</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QListWidget" name="listView"/>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QPushButton" name="addPath">
<property name="text">
<string>&amp;Add</string>
</property>
<property name="icon">
<iconset theme="list-add">
<normaloff/>
</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removePath">
<property name="text">
<string>&amp;Remove</string>
</property>
<property name="icon">
<iconset theme="list-remove">
<normaloff/>
</iconset>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="recursiveSearch">
<property name="text">
<string>Search in sub directories</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="searchHidden">
<property name="text">
<string>Search for hidden files</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>File Type</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Only search for files of following types:</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QCheckBox" name="searchTextFiles">
<property name="text">
<string>Text files</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="searchImages">
<property name="text">
<string>Image files</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="searchAudio">
<property name="text">
<string>Audio files</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="searchVideo">
<property name="text">
<string>Video files</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="searchDocuments">
<property name="text">
<string>Documents</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="searchFolders">
<property name="text">
<string>Folders</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3">
<attribute name="title">
<string>Content</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_9">
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>File contains:</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_8">
<item>
<widget class="QLineEdit" name="contentPattern"/>
</item>
<item>
<widget class="QCheckBox" name="contentCaseInsensitive">
<property name="text">
<string>Case insensiti&amp;ve</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="contentRegExp">
<property name="text">
<string>&amp;Use regular expression</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>186</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="title">
<string>Properties</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_10">
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
<string>File Size:</string>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QCheckBox" name="largerThan">
<property name="text">
<string>Larger than:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QSpinBox" name="minSize"/>
</item>
<item>
<widget class="QComboBox" name="minSizeUnit">
<property name="currentIndex">
<number>2</number>
</property>
<item>
<property name="text">
<string>Bytes</string>
</property>
</item>
<item>
<property name="text">
<string>KiB</string>
</property>
</item>
<item>
<property name="text">
<string>MiB</string>
</property>
</item>
<item>
<property name="text">
<string>GiB</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="smallerThan">
<property name="text">
<string>Smaller than:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QSpinBox" name="maxSize"/>
</item>
<item>
<widget class="QComboBox" name="maxSizeUnit">
<property name="currentIndex">
<number>2</number>
</property>
<item>
<property name="text">
<string>Bytes</string>
</property>
</item>
<item>
<property name="text">
<string>KiB</string>
</property>
</item>
<item>
<property name="text">
<string>MiB</string>
</property>
</item>
<item>
<property name="text">
<string>GiB</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_6">
<property name="title">
<string>Last Modified Time:</string>
</property>
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QCheckBox" name="earlierThan">
<property name="text">
<string>Earlier than:</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="laterThan">
<property name="text">
<string>Later than:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QDateEdit" name="maxTime">
<property name="calendarPopup">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDateEdit" name="minTime">
<property name="calendarPopup">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>SearchDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>SearchDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

@ -0,0 +1,143 @@
/*
* Copyright (C) 2015 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include "filesearchdialog.h"
#include <QMessageBox>
#include "fm-search.h"
#include "ui_filesearch.h"
#include <limits>
#include <QFileDialog>
namespace Fm {
FileSearchDialog::FileSearchDialog(QStringList paths, QWidget* parent, Qt::WindowFlags f):
QDialog(parent, f),
ui(new Ui::SearchDialog()) {
ui->setupUi(this);
ui->minSize->setMaximum(std::numeric_limits<int>().max());
ui->maxSize->setMaximum(std::numeric_limits<int>().max());
Q_FOREACH(const QString& path, paths) {
ui->listView->addItem(path);
}
ui->maxTime->setDate(QDate::currentDate());
ui->minTime->setDate(QDate::currentDate());
connect(ui->addPath, &QPushButton::clicked, this, &FileSearchDialog::onAddPath);
connect(ui->removePath, &QPushButton::clicked, this, &FileSearchDialog::onRemovePath);
}
FileSearchDialog::~FileSearchDialog() {
delete ui;
}
void FileSearchDialog::accept() {
// build the search:/// uri
int n = ui->listView->count();
if(n > 0) {
FmSearch* search = fm_search_new();
int i;
for(i = 0; i < n; ++i) { // add directories
QListWidgetItem* item = ui->listView->item(i);
fm_search_add_dir(search, item->text().toLocal8Bit().constData());
}
fm_search_set_recursive(search, ui->recursiveSearch->isChecked());
fm_search_set_show_hidden(search, ui->searchHidden->isChecked());
fm_search_set_name_patterns(search, ui->namePatterns->text().toUtf8().constData());
fm_search_set_name_ci(search, ui->nameCaseInsensitive->isChecked());
fm_search_set_name_regex(search, ui->nameRegExp->isChecked());
fm_search_set_content_pattern(search, ui->contentPattern->text().toUtf8().constData());
fm_search_set_content_ci(search, ui->contentCaseInsensitive->isChecked());
fm_search_set_content_regex(search, ui->contentRegExp->isChecked());
// search for the files of specific mime-types
if(ui->searchTextFiles->isChecked())
fm_search_add_mime_type(search, "text/plain");
if(ui->searchImages->isChecked())
fm_search_add_mime_type(search, "image/*");
if(ui->searchAudio->isChecked())
fm_search_add_mime_type(search, "audio/*");
if(ui->searchVideo->isChecked())
fm_search_add_mime_type(search, "video/*");
if(ui->searchFolders->isChecked())
fm_search_add_mime_type(search, "inode/directory");
if(ui->searchDocuments->isChecked()) {
const char* doc_types[] = {
"application/pdf",
/* "text/html;" */
"application/vnd.oasis.opendocument.*",
"application/vnd.openxmlformats-officedocument.*",
"application/msword;application/vnd.ms-word",
"application/msexcel;application/vnd.ms-excel"
};
for(i = 0; i < sizeof(doc_types)/sizeof(char*); ++i)
fm_search_add_mime_type(search, doc_types[i]);
}
// search based on file size
const unsigned int unit_bytes[] = {1, (1024), (1024*1024), (1024*1024*1024)};
if(ui->largerThan->isChecked()) {
guint64 size = ui->minSize->value() * unit_bytes[ui->minSizeUnit->currentIndex()];
fm_search_set_min_size(search, size);
}
if(ui->smallerThan->isChecked()) {
guint64 size = ui->maxSize->value() * unit_bytes[ui->maxSizeUnit->currentIndex()];
fm_search_set_min_size(search, size);
}
// search based on file mtime (we only support date in YYYY-MM-DD format)
if(ui->earlierThan->isChecked()) {
fm_search_set_max_mtime(search, ui->maxTime->date().toString(QStringLiteral("yyyy-MM-dd")).toUtf8().constData());
}
if(ui->laterThan->isChecked()) {
fm_search_set_min_mtime(search, ui->minTime->date().toString(QStringLiteral("yyyy-MM-dd")).toUtf8().constData());
}
searchUri_.take(fm_search_dup_path(search));
fm_search_free(search);
}
else {
QMessageBox::critical(this, tr("Error"), tr("You should add at least add one directory to search."));
return;
}
QDialog::accept();
}
void FileSearchDialog::onAddPath() {
QString dir = QFileDialog::getExistingDirectory(this, tr("Select a folder"));
if(dir.isEmpty())
return;
// avoid adding duplicated items
if(ui->listView->findItems(dir, Qt::MatchFixedString|Qt::MatchCaseSensitive).isEmpty()) {
ui->listView->addItem(dir);
}
}
void FileSearchDialog::onRemovePath() {
// remove selected items
Q_FOREACH(QListWidgetItem* item, ui->listView->selectedItems()) {
delete item;
}
}
}

@ -0,0 +1,56 @@
/*
* Copyright (C) 2015 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#ifndef FM_FILESEARCHDIALOG_H
#define FM_FILESEARCHDIALOG_H
#include "libfmqtglobals.h"
#include <QDialog>
#include "path.h"
namespace Ui {
class SearchDialog;
}
namespace Fm {
class LIBFM_QT_API FileSearchDialog : public QDialog
{
public:
FileSearchDialog(QStringList paths = QStringList(), QWidget * parent = 0, Qt::WindowFlags f = 0);
~FileSearchDialog();
Path searchUri() const {
return searchUri_;
}
virtual void accept();
private Q_SLOTS:
void onAddPath();
void onRemovePath();
private:
Ui::SearchDialog* ui;
Path searchUri_;
};
}
#endif // FM_FILESEARCHDIALOG_H

@ -0,0 +1,317 @@
/*
* fm-search-uri.c
*
* Copyright 2015 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
* Copyright 2012-2014 Andriy Grytsenko (LStranger) <andrej@rep.kiev.ua>
*
* 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
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#include "fm-search.h"
#include <string.h>
struct _FmSearch
{
gboolean recursive;
gboolean show_hidden;
char* name_patterns;
gboolean name_ci;
gboolean name_regex;
char* content_pattern;
gboolean content_ci;
gboolean content_regex;
GList* mime_types;
GList* search_path_list;
guint64 max_size;
guint64 min_size;
char* max_mtime;
char* min_mtime;
};
FmSearch* fm_search_new (void)
{
FmSearch* search = (FmSearch*)g_slice_new0(FmSearch);
return search;
}
void fm_search_free(FmSearch* search)
{
g_list_free_full(search->mime_types, (GDestroyNotify)g_free);
g_list_free_full(search->search_path_list, (GDestroyNotify)g_free);
g_free(search->name_patterns);
g_free(search->content_pattern);
g_free(search->max_mtime);
g_free(search->min_mtime);
g_slice_free(FmSearch, search);
}
gboolean fm_search_get_recursive(FmSearch* search)
{
return search->recursive;
}
void fm_search_set_recursive(FmSearch* search, gboolean recursive)
{
search->recursive = recursive;
}
gboolean fm_search_get_show_hidden(FmSearch* search)
{
return search->show_hidden;
}
void fm_search_set_show_hidden(FmSearch* search, gboolean show_hidden)
{
search->show_hidden = show_hidden;
}
const char* fm_search_get_name_patterns(FmSearch* search)
{
return search->name_patterns;
}
void fm_search_set_name_patterns(FmSearch* search, const char* name_patterns)
{
g_free(search->name_patterns);
search->name_patterns = g_strdup(name_patterns);
}
gboolean fm_search_get_name_ci(FmSearch* search)
{
return search->name_ci;
}
void fm_search_set_name_ci(FmSearch* search, gboolean name_ci)
{
search->name_ci = name_ci;
}
gboolean fm_search_get_name_regex(FmSearch* search)
{
return search->name_regex;
}
void fm_search_set_name_regex(FmSearch* search, gboolean name_regex)
{
search->name_regex = name_regex;
}
const char* fm_search_get_content_pattern(FmSearch* search)
{
return search->content_pattern;
}
void fm_search_set_content_pattern(FmSearch* search, const char* content_pattern)
{
g_free(search->content_pattern);
search->content_pattern = g_strdup(content_pattern);
}
gboolean fm_search_get_content_ci(FmSearch* search)
{
return search->content_ci;
}
void fm_search_set_content_ci(FmSearch* search, gboolean content_ci)
{
search->content_ci = content_ci;
}
gboolean fm_search_get_content_regex(FmSearch* search)
{
return search->content_regex;
}
void fm_search_set_content_regex(FmSearch* search, gboolean content_regex)
{
search->content_regex = content_regex;
}
void fm_search_add_dir(FmSearch* search, const char* dir)
{
GList* l = g_list_find_custom(search->search_path_list, dir, (GCompareFunc)strcmp);
if(!l)
search->search_path_list = g_list_prepend(search->search_path_list, g_strdup(dir));
}
void fm_search_remove_dir(FmSearch* search, const char* dir)
{
GList* l = g_list_find_custom(search->search_path_list, dir, (GCompareFunc)strcmp);
if(G_LIKELY(l))
{
g_free(l->data);
search->search_path_list = g_list_delete_link(search->search_path_list, l);
}
}
GList* fm_search_get_dirs(FmSearch* search)
{
return search->search_path_list;
}
void fm_search_add_mime_type(FmSearch* search, const char* mime_type)
{
GList* l = g_list_find_custom(search->mime_types, mime_type, (GCompareFunc)strcmp);
if(!l)
search->mime_types = g_list_prepend(search->mime_types, g_strdup(mime_type));
}
void fm_search_remove_mime_type(FmSearch* search, const char* mime_type)
{
GList* l = g_list_find_custom(search->mime_types, mime_type, (GCompareFunc)strcmp);
if(G_LIKELY(l))
{
g_free(l->data);
search->mime_types = g_list_delete_link(search->mime_types, l);
}
}
GList* fm_search_get_mime_types(FmSearch* search)
{
return search->mime_types;
}
guint64 fm_search_get_max_size(FmSearch* search)
{
return search->max_size;
}
void fm_search_set_max_size(FmSearch* search, guint64 size)
{
search->max_size = size;
}
guint64 fm_search_get_min_size(FmSearch* search)
{
return search->min_size;
}
void fm_search_set_min_size(FmSearch* search, guint64 size)
{
search->min_size = size;
}
/* format of mtime: YYYY-MM-DD */
const char* fm_search_get_max_mtime(FmSearch* search)
{
return search->max_mtime;
}
void fm_search_set_max_mtime(FmSearch* search, const char* mtime)
{
g_free(search->max_mtime);
search->max_mtime = g_strdup(mtime);
}
/* format of mtime: YYYY-MM-DD */
const char* fm_search_get_min_mtime(FmSearch* search)
{
return search->min_mtime;
}
void fm_search_set_min_mtime(FmSearch* search, const char* mtime)
{
g_free(search->min_mtime);
search->min_mtime = g_strdup(mtime);
}
/* really build the path */
FmPath* fm_search_dup_path(FmSearch* search)
{
FmPath* search_path = NULL;
GString* search_str = g_string_sized_new(1024);
/* build the search:// URI to perform the search */
g_string_append(search_str, "search://");
if(search->search_path_list) /* we need to have at least one dir path */
{
char *escaped;
/* add paths */
GList* l;
for(l = search->search_path_list; ; )
{
char *path_str = (char*)l->data;
/* escape possible '?' and ',' */
escaped = g_uri_escape_string(path_str, "!$&'()*+:;=/@", TRUE);
g_string_append(search_str, escaped);
g_free(escaped);
l = l->next;
if(!l) /* no more items */
break;
g_string_append_c(search_str, ','); /* separator for paths */
}
g_string_append_c(search_str, '?');
g_string_append_printf(search_str, "recursive=%c", search->recursive ? '1' : '0');
g_string_append_printf(search_str, "&show_hidden=%c", search->show_hidden ? '1' : '0');
if(search->name_patterns && *search->name_patterns)
{
/* escape ampersands in pattern */
escaped = g_uri_escape_string(search->name_patterns, ":/?#[]@!$'()*+,;", TRUE);
if(search->name_regex)
g_string_append_printf(search_str, "&name_regex=%s", escaped);
else
g_string_append_printf(search_str, "&name=%s", escaped);
if(search->name_ci)
g_string_append_printf(search_str, "&name_ci=%c", search->name_ci ? '1' : '0');
g_free(escaped);
}
if(search->content_pattern && *search->content_pattern)
{
/* escape ampersands in pattern */
escaped = g_uri_escape_string(search->content_pattern, ":/?#[]@!$'()*+,;^<>{}", TRUE);
if(search->content_regex)
g_string_append_printf(search_str, "&content_regex=%s", escaped);
else
g_string_append_printf(search_str, "&content=%s", escaped);
g_free(escaped);
if(search->content_ci)
g_string_append_printf(search_str, "&content_ci=%c", search->content_ci ? '1' : '0');
}
/* search for the files of specific mime-types */
if(search->mime_types)
{
GList* l;
g_string_append(search_str, "&mime_types=");
for(l = search->mime_types; l; l=l->next)
{
const char* mime_type = (const char*)l->data;
g_string_append(search_str, mime_type);
if(l->next)
g_string_append_c(search_str, ';');
}
}
if(search->min_size)
g_string_append_printf(search_str, "&min_size=%llu", search->min_size);
if(search->max_size)
g_string_append_printf(search_str, "&max_size=%llu", search->max_size);
if(search->min_mtime)
g_string_append_printf(search_str, "&min_mtime=%s", search->min_mtime);
if(search->max_mtime)
g_string_append_printf(search_str, "&max_mtime=%s", search->max_mtime);
search_path = fm_path_new_for_uri(search_str->str);
g_string_free(search_str, TRUE);
}
return search_path;
}

@ -0,0 +1,88 @@
/*
* fm-search-uri.h
*
* Copyright 2015 Hong Jen Yee (PCMan) <pcman.tw@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
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
/* FmSearch implements a tool used to generate a search:// URI used by libfm to search for files.
* This API might become part of libfm in the future.
*/
#ifndef _FM_SEARCH_H_
#define _FM_SEARCH_H_
#include <libfm/fm.h>
G_BEGIN_DECLS
typedef struct _FmSearch FmSearch;
FmSearch* fm_search_new(void);
void fm_search_free(FmSearch* search);
FmPath* fm_search_dup_path(FmSearch* search);
gboolean fm_search_get_recursive(FmSearch* search);
void fm_search_set_recursive(FmSearch* search, gboolean recursive);
gboolean fm_search_get_show_hidden(FmSearch* search);
void fm_search_set_show_hidden(FmSearch* search, gboolean show_hidden);
const char* fm_search_get_name_patterns(FmSearch* search);
void fm_search_set_name_patterns(FmSearch* search, const char* name_patterns);
gboolean fm_search_get_name_ci(FmSearch* search);
void fm_search_set_name_ci(FmSearch* search, gboolean name_ci);
gboolean fm_search_get_name_regex(FmSearch* search);
void fm_search_set_name_regex(FmSearch* search, gboolean name_regex);
const char* fm_search_get_content_pattern(FmSearch* search);
void fm_search_set_content_pattern(FmSearch* search, const char* content_pattern);
gboolean fm_search_get_content_ci(FmSearch* search);
void fm_search_set_content_ci(FmSearch* search, gboolean content_ci);
gboolean fm_search_get_content_regex(FmSearch* search);
void fm_search_set_content_regex(FmSearch* search, gboolean content_regex);
void fm_search_add_dir(FmSearch* search, const char* dir);
void fm_search_remove_dir(FmSearch* search, const char* dir);
GList* fm_search_get_dirs(FmSearch* search);
void fm_search_add_mime_type(FmSearch* search, const char* mime_type);
void fm_search_remove_mime_type(FmSearch* search, const char* mime_type);
GList* fm_search_get_mime_types(FmSearch* search);
guint64 fm_search_get_max_size(FmSearch* search);
void fm_search_set_max_size(FmSearch* search, guint64 size);
guint64 fm_search_get_min_size(FmSearch* search);
void fm_search_set_min_size(FmSearch* search, guint64 size);
/* format of mtime: YYYY-MM-DD */
const char* fm_search_get_max_mtime(FmSearch* search);
void fm_search_set_max_mtime(FmSearch* search, const char* mtime);
/* format of mtime: YYYY-MM-DD */
const char* fm_search_get_min_mtime(FmSearch* search);
void fm_search_set_min_mtime(FmSearch* search, const char* mtime);
G_END_DECLS
#endif /* _FM_SEARCH_H_ */

@ -181,7 +181,7 @@ FolderViewTreeView::FolderViewTreeView(QWidget* parent):
doingLayout_(false), doingLayout_(false),
activationAllowed_(true) { activationAllowed_(true) {
header()->setStretchLastSection(false); header()->setStretchLastSection(true);
setIndentation(0); setIndentation(0);
connect(this, &QTreeView::activated, this, &FolderViewTreeView::activation); connect(this, &QTreeView::activated, this, &FolderViewTreeView::activation);
@ -242,44 +242,46 @@ void FolderViewTreeView::layoutColumns() {
// get the width that every column want // get the width that every column want
int numCols = headerView->count(); int numCols = headerView->count();
if(numCols > 0) {
int* widths = new int[numCols]; // array to store the widths every column needs int* widths = new int[numCols]; // array to store the widths every column needs
int column; int column;
for(column = 0; column < numCols; ++column) { for(column = 0; column < numCols; ++column) {
int columnId = headerView->logicalIndex(column); int columnId = headerView->logicalIndex(column);
// get the size that the column needs // get the size that the column needs
widths[column] = sizeHintForColumn(columnId); widths[column] = sizeHintForColumn(columnId);
} // compute the total width needed
// the best case is every column can get its full width
for(column = 0; column < numCols; ++column) {
desiredWidth += widths[column]; desiredWidth += widths[column];
} }
int filenameColumn = headerView->visualIndex(FolderModel::ColumnFileName);
// if the total witdh we want exceeds the available space // if the total witdh we want exceeds the available space
if(desiredWidth > availWidth) { if(desiredWidth > availWidth) {
// we don't have that much space for every column // Compute the width available for the filename column
int filenameColumn = headerView->visualIndex(FolderModel::ColumnFileName); int filenameAvailWidth = availWidth - desiredWidth + widths[filenameColumn];
// shrink the filename column first
desiredWidth -= widths[filenameColumn]; // total width of all other columns // Compute the minimum acceptable width for the filename column
int filenameMinWidth = qMin(200, sizeHintForColumn(filenameColumn));
// see if setting the width of the filename column to 200 solve the problem if (filenameAvailWidth > filenameMinWidth) {
if(desiredWidth + 200 > availWidth) { // Shrink the filename column to the available width
// even when we reduce the width of the filename column to 200, widths[filenameColumn] = filenameAvailWidth;
// the available space is not enough. So we give up trying. }
widths[filenameColumn] = 200; else {
// Set the filename column to its minimum width
widths[filenameColumn] = filenameMinWidth;
} }
else { // we still have more space, so the width of filename column can be increased
// expand the filename column to fill all available space.
widths[filenameColumn] = availWidth - desiredWidth;
} }
else {
// Fill the extra available space with the filename column
widths[filenameColumn] += availWidth - desiredWidth;
} }
// really do the resizing for every column // really do the resizing for every column
for(int column = 0; column < numCols; ++column) { for(int column = 0; column < numCols; ++column) {
headerView->resizeSection(column, widths[column]); headerView->resizeSection(column, widths[column]);
} }
delete []widths; delete []widths;
}
doingLayout_ = false; doingLayout_ = false;
if(layoutTimer_) { if(layoutTimer_) {
@ -405,7 +407,6 @@ FolderView::FolderView(ViewMode _mode, QWidget* parent):
} }
FolderView::~FolderView() { FolderView::~FolderView() {
// qDebug("delete FolderView");
} }
void FolderView::onItemActivated(QModelIndex index) { void FolderView::onItemActivated(QModelIndex index) {

@ -188,6 +188,12 @@ public:
return fm_path_hash(data_); return fm_path_hash(data_);
} }
void take(FmPath* path) { // take the ownership of the "path"
if(data_)
fm_path_unref(data_);
data_ = path;
}
Path& operator = (const Path& other) { Path& operator = (const Path& other) {
if(data_) if(data_)
fm_path_unref(data_); fm_path_unref(data_);

@ -49,7 +49,7 @@ PlacesView::PlacesView(QWidget* parent):
QHeaderView* headerView = header(); QHeaderView* headerView = header();
headerView->setSectionResizeMode(0, QHeaderView::Stretch); headerView->setSectionResizeMode(0, QHeaderView::Stretch);
headerView->setSectionResizeMode(1, QHeaderView::ResizeToContents); headerView->setSectionResizeMode(1, QHeaderView::Fixed);
headerView->setStretchLastSection(false); headerView->setStretchLastSection(false);
expandAll(); expandAll();
@ -64,6 +64,12 @@ PlacesView::PlacesView(QWidget* parent):
setAcceptDrops(true); setAcceptDrops(true);
setDragEnabled(true); setDragEnabled(true);
// update the umount button's column width based on icon size
onIconSizeChanged(iconSize());
#if QT_VERSION >= QT_VERSION_CHECK(5, 5, 0) // this signal requires Qt >= 5.5
connect(this, &QAbstractItemView::iconSizeChanged, this, &PlacesView::onIconSizeChanged);
#endif
} }
PlacesView::~PlacesView() { PlacesView::~PlacesView() {
@ -112,6 +118,10 @@ void PlacesView::onPressed(const QModelIndex& index) {
} }
} }
void PlacesView::onIconSizeChanged(const QSize& size) {
setColumnWidth(1, size.width() + 5);
}
void PlacesView::onEjectButtonClicked(PlacesModelItem* item) { void PlacesView::onEjectButtonClicked(PlacesModelItem* item) {
// The eject button is clicked for a device item (volume or mount) // The eject button is clicked for a device item (volume or mount)
if(item->type() == PlacesModelItem::Volume) { if(item->type() == PlacesModelItem::Volume) {
@ -147,6 +157,8 @@ void PlacesView::onClicked(const QModelIndex& index) {
onEjectButtonClicked(item); onEjectButtonClicked(item);
} }
} }
else
activateRow(0, index.sibling(index.row(), 0));
} }
} }
@ -322,6 +334,8 @@ void PlacesView::onEjectVolume() {
void PlacesView::contextMenuEvent(QContextMenuEvent* event) { void PlacesView::contextMenuEvent(QContextMenuEvent* event) {
QModelIndex index = indexAt(event->pos()); QModelIndex index = indexAt(event->pos());
if(index.isValid() && index.parent().isValid()) { if(index.isValid() && index.parent().isValid()) {
if(index.column() != 0) // the real item is at column 0
index = index.sibling(index.row(), 0);
QMenu* menu = new QMenu(this); QMenu* menu = new QMenu(this);
QAction* action; QAction* action;
PlacesModelItem* item = static_cast<PlacesModelItem*>(model_->itemFromIndex(index)); PlacesModelItem* item = static_cast<PlacesModelItem*>(model_->itemFromIndex(index));

@ -51,12 +51,22 @@ public:
setCurrentPath(path); setCurrentPath(path);
} }
#if QT_VERSION < QT_VERSION_CHECK(5, 5, 0)
void setIconSize(const QSize &size) {
// The signal QAbstractItemView::iconSizeChanged is only available after Qt 5.5.
// To simulate the effect for older Qt versions, we override setIconSize().
QAbstractItemView::setIconSize(size);
onIconSizeChanged(size);
}
#endif
Q_SIGNALS: Q_SIGNALS:
void chdirRequested(int type, FmPath* path); void chdirRequested(int type, FmPath* path);
protected Q_SLOTS: protected Q_SLOTS:
void onClicked(const QModelIndex & index); void onClicked(const QModelIndex & index);
void onPressed(const QModelIndex & index); void onPressed(const QModelIndex & index);
void onIconSizeChanged(const QSize & size);
// void onMountOperationFinished(GError* error); // void onMountOperationFinished(GError* error);
void onOpenNewTab(); void onOpenNewTab();

@ -118,6 +118,12 @@ bool ProxyFolderModel::lessThan(const QModelIndex& left, const QModelIndex& righ
FmFileInfo* leftInfo = srcModel->fileInfoFromIndex(left); FmFileInfo* leftInfo = srcModel->fileInfoFromIndex(left);
FmFileInfo* rightInfo = srcModel->fileInfoFromIndex(right); FmFileInfo* rightInfo = srcModel->fileInfoFromIndex(right);
if(Q_UNLIKELY(!leftInfo || !rightInfo)) {
// In theory, this should not happen, but it's safer to add the null check.
// This is reported in https://github.com/lxde/pcmanfm-qt/issues/205
return false;
}
if(folderFirst_) { if(folderFirst_) {
bool leftIsFolder = (bool)fm_file_info_is_dir(leftInfo); bool leftIsFolder = (bool)fm_file_info_is_dir(leftInfo);
bool rightIsFolder = (bool)fm_file_info_is_dir(rightInfo); bool rightIsFolder = (bool)fm_file_info_is_dir(rightInfo);
@ -248,6 +254,10 @@ void ProxyFolderModel::removeFilter(ProxyFolderModelFilter* filter) {
Q_EMIT sortFilterChanged(); Q_EMIT sortFilterChanged();
} }
void ProxyFolderModel::updateFilters() {
invalidate();
Q_EMIT sortFilterChanged();
}
#if 0 #if 0
void ProxyFolderModel::reloadAllThumbnails() { void ProxyFolderModel::reloadAllThumbnails() {

@ -50,7 +50,7 @@ public:
virtual void setSourceModel(QAbstractItemModel* model); virtual void setSourceModel(QAbstractItemModel* model);
void setShowHidden(bool show); void setShowHidden(bool show);
bool showHidden() { bool showHidden() const {
return showHidden_; return showHidden_;
} }
@ -81,6 +81,7 @@ public:
void addFilter(ProxyFolderModelFilter* filter); void addFilter(ProxyFolderModelFilter* filter);
void removeFilter(ProxyFolderModelFilter* filter); void removeFilter(ProxyFolderModelFilter* filter);
void updateFilters();
Q_SIGNALS: Q_SIGNALS:
void sortFilterChanged(); void sortFilterChanged();

@ -74,6 +74,7 @@ void SidePane::setIconSize(QSize size) {
iconSize_ = size; iconSize_ = size;
switch(mode_) { switch(mode_) {
case ModePlaces: case ModePlaces:
static_cast<PlacesView*>(view_)->setIconSize(size);
case ModeDirTree: case ModeDirTree:
static_cast<QTreeView*>(view_)->setIconSize(size); static_cast<QTreeView*>(view_)->setIconSize(size);
break; break;

@ -135,7 +135,7 @@ GObject* ThumbnailLoader::readImageFromStream(GInputStream* stream, guint64 len,
gboolean ThumbnailLoader::writeImage(GObject* image, const char* filename) { gboolean ThumbnailLoader::writeImage(GObject* image, const char* filename) {
FmQImageWrapper* wrapper = FM_QIMAGE_WRAPPER(image); FmQImageWrapper* wrapper = FM_QIMAGE_WRAPPER(image);
if(wrapper->image.isNull()) if(wrapper == NULL || wrapper->image.isNull())
return FALSE; return FALSE;
return (gboolean)wrapper->image.save(filename, "PNG"); return (gboolean)wrapper->image.save(filename, "PNG");
} }
@ -180,7 +180,10 @@ char* ThumbnailLoader::getImageText(GObject* image, const char* key) {
gboolean ThumbnailLoader::setImageText(GObject* image, const char* key, const char* val) { gboolean ThumbnailLoader::setImageText(GObject* image, const char* key, const char* val) {
FmQImageWrapper* wrapper = FM_QIMAGE_WRAPPER(image); FmQImageWrapper* wrapper = FM_QIMAGE_WRAPPER(image);
// NOTE: we might receive image=NULL sometimes with older versions of libfm.
if(Q_LIKELY(wrapper != NULL)) {
wrapper->image.setText(key, val); wrapper->image.setText(key, val);
}
return TRUE; return TRUE;
} }

@ -391,83 +391,83 @@ What do you want to do with it?</source>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -628,6 +628,24 @@ Do you want to delete them instead?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -806,53 +824,53 @@ Do you want to delete them instead?</source>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -894,23 +912,23 @@ Modified: %3</source>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -976,10 +994,10 @@ Modified: %3</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1067,4 +1085,181 @@ Modified: %3</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -391,83 +391,83 @@ What do you want to do with it?</source>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -628,6 +628,24 @@ Do you want to delete them instead?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -806,53 +824,53 @@ Do you want to delete them instead?</source>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -894,23 +912,23 @@ Modified: %3</source>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -966,10 +984,10 @@ Modified: %3</source>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1067,4 +1085,181 @@ Modified: %3</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

File diff suppressed because it is too large Load Diff

@ -398,83 +398,83 @@ Was möchten Sie damit tun?</translation>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Öffnen</translation> <translation>Öffnen</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation>&amp;Neu erstellen</translation> <translation>&amp;Neu erstellen</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation>Wiede&amp;rherstellen</translation> <translation>Wiede&amp;rherstellen</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Ausschneiden</translation> <translation>Ausschneiden</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Kopieren</translation> <translation>Kopieren</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Einfügen</translation> <translation>Einfügen</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>In den &amp;Papierkorb verschieben</translation> <translation>In den &amp;Papierkorb verschieben</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation>Ausgabe</translation> <translation>Ausgabe</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Löschen</translation> <translation>&amp;Löschen</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Umbenennen</translation> <translation>Umbenennen</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation>Öffnen mit...</translation> <translation>Öffnen mit...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation>Andere Anwendungen</translation> <translation>Andere Anwendungen</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Entpacken nach...</translation> <translation>Entpacken nach...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Hier entpacken</translation> <translation>Hier entpacken</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Komprimieren</translation> <translation>Komprimieren</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Eigenschaften</translation> <translation>Eigenschaften</translation>
</message> </message>
@ -636,6 +636,24 @@ Sollen die Dateien stattdessen gelöscht werden?</translation>
<translation>Möchten Sie die Änderungen auf alle Dateien und Unterverzeichnisse anwenden?</translation> <translation>Möchten Sie die Änderungen auf alle Dateien und Unterverzeichnisse anwenden?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished">Fehler</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -822,7 +840,7 @@ Sollen die Dateien stattdessen gelöscht werden?</translation>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Papierkorb leeren</translation> <translation>Papierkorb leeren</translation>
</message> </message>
@ -835,48 +853,48 @@ Sollen die Dateien stattdessen gelöscht werden?</translation>
<translation type="vanished">Löschen</translation> <translation type="vanished">Löschen</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation>Öffnen in neuem Tab</translation> <translation>Öffnen in neuem Tab</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation>Öffnen in neuem Fenster</translation> <translation>Öffnen in neuem Fenster</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation>Nach oben verschieben</translation> <translation>Nach oben verschieben</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation>Nach unten verschieben</translation> <translation>Nach unten verschieben</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation>Lesezeichen umbenennen</translation> <translation>Lesezeichen umbenennen</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation>Lesezeichen entfernen</translation> <translation>Lesezeichen entfernen</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Aushängen</translation> <translation>Aushängen</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Einhängen</translation> <translation>Einhängen</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Auswerfen</translation> <translation>Auswerfen</translation>
</message> </message>
@ -922,23 +940,23 @@ Geändert: %3</translation>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation>Orte</translation> <translation>Orte</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation>Verzeichnisbaum</translation> <translation>Verzeichnisbaum</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation>Zeigt eine Liste diverser Orte, Geräte und Lesezeichen in der Seitenleiste</translation> <translation>Zeigt eine Liste diverser Orte, Geräte und Lesezeichen in der Seitenleiste</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation>Zeigt einen Verzeichnisbaum in der Seitenleiste</translation> <translation>Zeigt einen Verzeichnisbaum in der Seitenleiste</translation>
</message> </message>
@ -994,10 +1012,10 @@ Geändert: %3</translation>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
@ -1095,4 +1113,181 @@ Geändert: %3</translation>
<translation>Diese Aktion auf alle existierenden Dateien anwenden</translation> <translation>Diese Aktion auf alle existierenden Dateien anwenden</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished">Eigenschaften</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -305,6 +305,19 @@
<translation>Επιλέξτε μια εφαρμογή για το άνοιγμα των αρχείων «%1»</translation> <translation>Επιλέξτε μια εφαρμογή για το άνοιγμα των αρχείων «%1»</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::CreateNewMenu</name>
<message>
<location filename="../createnewmenu.cpp" line="29"/>
<source>Folder</source>
<translation type="unfinished">Φάκελος</translation>
</message>
<message>
<location filename="../createnewmenu.cpp" line="33"/>
<source>Blank File</source>
<translation type="unfinished">Κενό αρχείο</translation>
</message>
</context>
<context> <context>
<name>Fm::DirTreeModel</name> <name>Fm::DirTreeModel</name>
<message> <message>
@ -318,6 +331,24 @@
<translation>&lt;No sub folders&gt;</translation> <translation>&lt;No sub folders&gt;</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::DirTreeView</name>
<message>
<location filename="../dirtreeview.cpp" line="208"/>
<source>Open in New T&amp;ab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dirtreeview.cpp" line="212"/>
<source>Open in New Win&amp;dow</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dirtreeview.cpp" line="217"/>
<source>Open in Termina&amp;l</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::DndActionMenu</name> <name>Fm::DndActionMenu</name>
<message> <message>
@ -367,78 +398,83 @@ What do you want to do with it?</source>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="78"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Άνοιγμα</translation> <translation>Άνοιγμα</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="82"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation>Άνοιγμα με...</translation> <translation>Άνοιγμα με...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="110"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation>Άλλες εφαρμογές</translation> <translation>Άλλες εφαρμογές</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="128"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished">Δημιουργία &amp;νέου</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation>&amp;Επαναφορά</translation> <translation>&amp;Επαναφορά</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="134"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Αποκοπή</translation> <translation>Αποκοπή</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Αντιγραφή</translation> <translation>Αντιγραφή</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="142"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Επικόλληση</translation> <translation>Επικόλληση</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="146"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="339"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>&amp;Μετακίνηση στα απορρίμματα</translation> <translation>&amp;Μετακίνηση στα απορρίμματα</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="150"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Μετονομασία</translation> <translation>Μετονομασία</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="177"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Εξαγωγή σε...</translation> <translation>Εξαγωγή σε...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="182"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Εξαγωγή εδώ</translation> <translation>Εξαγωγή εδώ</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="188"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Συμπίεση</translation> <translation>Συμπίεση</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Ιδιότητες</translation> <translation>Ιδιότητες</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="289"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation>Έξοδος</translation> <translation>Έξοδος</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="339"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Διαγραφή</translation> <translation>&amp;Διαγραφή</translation>
</message> </message>
@ -600,10 +636,28 @@ Do you want to delete them instead?</source>
<translation>Θέλετε να εφαρμόσετε αναδρομικά αυτές τις αλλαγές σε όλα τα αρχεία και υποφακέλους;</translation> <translation>Θέλετε να εφαρμόσετε αναδρομικά αυτές τις αλλαγές σε όλα τα αρχεία και υποφακέλους;</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished">Σφάλμα</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
<location filename="../foldermenu.cpp" line="36"/> <location filename="../foldermenu.cpp" line="37"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation>Δημιουργία &amp;νέου</translation> <translation>Δημιουργία &amp;νέου</translation>
</message> </message>
@ -638,57 +692,55 @@ Do you want to delete them instead?</source>
<translation>Ι&amp;διότητες του φακέλου</translation> <translation>Ι&amp;διότητες του φακέλου</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="85"/>
<source>Folder</source> <source>Folder</source>
<translation>Φάκελος</translation> <translation type="vanished">Φάκελος</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="89"/>
<source>Blank File</source> <source>Blank File</source>
<translation>Κενό αρχείο</translation> <translation type="vanished">Κενό αρχείο</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="133"/> <location filename="../foldermenu.cpp" line="99"/>
<source>By File Name</source> <source>By File Name</source>
<translation>Ανά όνομα αρχείου</translation> <translation>Ανά όνομα αρχείου</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="134"/> <location filename="../foldermenu.cpp" line="100"/>
<source>By Modification Time</source> <source>By Modification Time</source>
<translation>Ανά χρόνο τροποποίησης</translation> <translation>Ανά χρόνο τροποποίησης</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="135"/> <location filename="../foldermenu.cpp" line="101"/>
<source>By File Size</source> <source>By File Size</source>
<translation>Ανά μέγεθος αρχείου</translation> <translation>Ανά μέγεθος αρχείου</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="136"/> <location filename="../foldermenu.cpp" line="102"/>
<source>By File Type</source> <source>By File Type</source>
<translation>Ανά τύπο αρχείου</translation> <translation>Ανά τύπο αρχείου</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="137"/> <location filename="../foldermenu.cpp" line="103"/>
<source>By File Owner</source> <source>By File Owner</source>
<translation>Ανά ιδιοκτήτη αρχείου</translation> <translation>Ανά ιδιοκτήτη αρχείου</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="149"/> <location filename="../foldermenu.cpp" line="115"/>
<source>Ascending</source> <source>Ascending</source>
<translation>Αύξουσα</translation> <translation>Αύξουσα</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="154"/> <location filename="../foldermenu.cpp" line="120"/>
<source>Descending</source> <source>Descending</source>
<translation>Φθίνουσα</translation> <translation>Φθίνουσα</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="169"/> <location filename="../foldermenu.cpp" line="135"/>
<source>Folder First</source> <source>Folder First</source>
<translation>Οι φάκελοι πρώτα</translation> <translation>Οι φάκελοι πρώτα</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="178"/> <location filename="../foldermenu.cpp" line="144"/>
<source>Case Sensitive</source> <source>Case Sensitive</source>
<translation>Διάκριση πεζών/κεφαλαίων</translation> <translation>Διάκριση πεζών/κεφαλαίων</translation>
</message> </message>
@ -788,53 +840,53 @@ Do you want to delete them instead?</source>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation>Άνοιγμα σε νέα καρτέλα</translation> <translation>Άνοιγμα σε νέα καρτέλα</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation>Άνοιγμα σε νέο παράθυρο</translation> <translation>Άνοιγμα σε νέο παράθυρο</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Άδειασμα των απορριμμάτων</translation> <translation>Άδειασμα των απορριμμάτων</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation>Μετακίνηση του σελιδοδείκτη προς τα πάνω</translation> <translation>Μετακίνηση του σελιδοδείκτη προς τα πάνω</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation>Μετακίνηση του σελιδοδείκτη προς τα κάτω</translation> <translation>Μετακίνηση του σελιδοδείκτη προς τα κάτω</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation>Μετονομασία σελιδοδείκτη</translation> <translation>Μετονομασία σελιδοδείκτη</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation>Αφαίρεση σελιδοδείκτη</translation> <translation>Αφαίρεση σελιδοδείκτη</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Αποπροσάρτηση</translation> <translation>Αποπροσάρτηση</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Προσάρτηση</translation> <translation>Προσάρτηση</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Εξαγωγή</translation> <translation>Εξαγωγή</translation>
</message> </message>
@ -879,24 +931,24 @@ Modified: %3</source>
<context> <context>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="46"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="125"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation>Τοποθεσίες</translation> <translation>Τοποθεσίες</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="127"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation>Δέντρο καταλόγων</translation> <translation>Δέντρο καταλόγων</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="135"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation>Εμφανίζει τη λίστα με τις κοινές τοποθεσίες, συσκευές, και σελιδοδείκτες στην πλευρική στήλη</translation> <translation>Εμφανίζει τη λίστα με τις κοινές τοποθεσίες, συσκευές, και σελιδοδείκτες στην πλευρική στήλη</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="137"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation>Εμφανίζει ένα δέντρο των καταλόγων στην πλευρική στήλη</translation> <translation>Εμφανίζει ένα δέντρο των καταλόγων στην πλευρική στήλη</translation>
</message> </message>
@ -965,7 +1017,7 @@ Modified: %3</source>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/> <location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="109"/> <location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Σφάλμα</translation> <translation>Σφάλμα</translation>
</message> </message>
@ -1053,4 +1105,181 @@ Modified: %3</source>
<translation>Εφαρμογή της επιλογής σε όλα τα υπάρχοντα αρχεία</translation> <translation>Εφαρμογή της επιλογής σε όλα τα υπάρχοντα αρχεία</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished">Ιδιότητες</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -398,83 +398,83 @@ What do you want to do with it?</source>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Abrir</translation> <translation>Abrir</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation>Abrir con...</translation> <translation>Abrir con...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation>Otras Aplicaciones</translation> <translation>Otras Aplicaciones</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation type="unfinished">Crear &amp;Nuevo</translation> <translation type="unfinished">Crear &amp;Nuevo</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation>&amp;Restaurar</translation> <translation>&amp;Restaurar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Cortar</translation> <translation>Cortar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Copiar</translation> <translation>Copiar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Pegar</translation> <translation>Pegar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>&amp;Mover a la Papelera</translation> <translation>&amp;Mover a la Papelera</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Renombrar</translation> <translation>Renombrar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Extraer en...</translation> <translation>Extraer en...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Extraer aquí</translation> <translation>Extraer aquí</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Comprimir</translation> <translation>Comprimir</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Propiedades</translation> <translation>Propiedades</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation>Salida</translation> <translation>Salida</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Borrar</translation> <translation>&amp;Borrar</translation>
</message> </message>
@ -636,6 +636,24 @@ Do you want to delete them instead?</source>
<translation>¿Quiere aplicar los cambios a todos los archivos y subdirectorios?</translation> <translation>¿Quiere aplicar los cambios a todos los archivos y subdirectorios?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished">Error</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -822,7 +840,7 @@ Do you want to delete them instead?</source>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Vaciar Papelera</translation> <translation>Vaciar Papelera</translation>
</message> </message>
@ -835,48 +853,48 @@ Do you want to delete them instead?</source>
<translation type="vanished">Borrar</translation> <translation type="vanished">Borrar</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Desmontar</translation> <translation>Desmontar</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Montar</translation> <translation>Montar</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Expulsar</translation> <translation>Expulsar</translation>
</message> </message>
@ -922,23 +940,23 @@ Modificado: %3</translation>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation>Lugares</translation> <translation>Lugares</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation>Árbol de Directorios</translation> <translation>Árbol de Directorios</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation>Muestra lista de lugares comunes, dispositivos y marcadores en la barra lateral</translation> <translation>Muestra lista de lugares comunes, dispositivos y marcadores en la barra lateral</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation>Muestra árbol de directorios en barra lateral</translation> <translation>Muestra árbol de directorios en barra lateral</translation>
</message> </message>
@ -994,10 +1012,10 @@ Modificado: %3</translation>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
@ -1095,4 +1113,181 @@ Modificado: %3</translation>
<translation>Aplicar esta opción a todos los archivos</translation> <translation>Aplicar esta opción a todos los archivos</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished">Propiedades</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -391,7 +391,7 @@ What do you want to do with it?</source>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Ouvrir</translation> <translation>Ouvrir</translation>
</message> </message>
@ -400,78 +400,78 @@ What do you want to do with it?</source>
<translation type="vanished">OpenWith</translation> <translation type="vanished">OpenWith</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Couper</translation> <translation>Couper</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Copier</translation> <translation>Copier</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Coller</translation> <translation>Coller</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>&amp;Mettre à la corbeille</translation> <translation>&amp;Mettre à la corbeille</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Supprimer</translation> <translation>&amp;Supprimer</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Renommer</translation> <translation>Renommer</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation type="unfinished">Créer un &amp;nouveau</translation> <translation type="unfinished">Créer un &amp;nouveau</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Extraire vers...</translation> <translation>Extraire vers...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Extraire ici</translation> <translation>Extraire ici</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Compresser</translation> <translation>Compresser</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Propriétés</translation> <translation>Propriétés</translation>
</message> </message>
@ -633,6 +633,24 @@ Voulez-vous plutôt les supprimer ?</translation>
<translation>Voulez-vous appliquer ces changements récursivement à tous les fichiers et sous-dossiers ?</translation> <translation>Voulez-vous appliquer ces changements récursivement à tous les fichiers et sous-dossiers ?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished">Erreur</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -819,7 +837,7 @@ Voulez-vous plutôt les supprimer ?</translation>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -832,48 +850,48 @@ Voulez-vous plutôt les supprimer ?</translation>
<translation type="vanished">Supprimer</translation> <translation type="vanished">Supprimer</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Démonter</translation> <translation>Démonter</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Monter</translation> <translation>Monter</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Éjecter</translation> <translation>Éjecter</translation>
</message> </message>
@ -919,23 +937,23 @@ Modification : %3</translation>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation type="unfinished">Emplacements</translation> <translation type="unfinished">Emplacements</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -991,10 +1009,10 @@ Modification : %3</translation>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Erreur</translation> <translation>Erreur</translation>
</message> </message>
@ -1092,4 +1110,181 @@ Modification : %3</translation>
<translation>Appliquer cette option à tous les fichiers existants</translation> <translation>Appliquer cette option à tous les fichiers existants</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished">Propriétés</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -391,7 +391,7 @@ What do you want to do with it?</source>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Abrir</translation> <translation>Abrir</translation>
</message> </message>
@ -400,78 +400,78 @@ What do you want to do with it?</source>
<translation type="vanished">Abrir con</translation> <translation type="vanished">Abrir con</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Cortar</translation> <translation>Cortar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Copiar</translation> <translation>Copiar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Pegar</translation> <translation>Pegar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>Deitar no lixo</translation> <translation>Deitar no lixo</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Eliminar</translation> <translation>&amp;Eliminar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Renomear</translation> <translation>Renomear</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation type="unfinished">Crear &amp;novo</translation> <translation type="unfinished">Crear &amp;novo</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Extraer en</translation> <translation>Extraer en</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Extraer aquí</translation> <translation>Extraer aquí</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Comprimir</translation> <translation>Comprimir</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Propiedades</translation> <translation>Propiedades</translation>
</message> </message>
@ -633,6 +633,24 @@ Desexa eliminalos no seu canto?</translation>
<translation>Quere aplicar recursivamente estes cambios a todos os ficheiros e subcartafoles?</translation> <translation>Quere aplicar recursivamente estes cambios a todos os ficheiros e subcartafoles?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished">Erro</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -819,7 +837,7 @@ Desexa eliminalos no seu canto?</translation>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -832,48 +850,48 @@ Desexa eliminalos no seu canto?</translation>
<translation type="vanished">Eliminar</translation> <translation type="vanished">Eliminar</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Desmontar</translation> <translation>Desmontar</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Montar</translation> <translation>Montar</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Expulsar</translation> <translation>Expulsar</translation>
</message> </message>
@ -919,23 +937,23 @@ Modificado: %3</translation>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation type="unfinished">Lugares</translation> <translation type="unfinished">Lugares</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -991,10 +1009,10 @@ Modificado: %3</translation>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Erro</translation> <translation>Erro</translation>
</message> </message>
@ -1092,4 +1110,181 @@ Modificado: %3</translation>
<translation>Aplicar esta opción a todos os ficheiros existentes</translation> <translation>Aplicar esta opción a todos os ficheiros existentes</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished">Propiedades</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -398,83 +398,83 @@ Mi legyen vele?</translation>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Nyit</translation> <translation>Nyit</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation type="unfinished">&amp;Új létrehozása</translation> <translation type="unfinished">&amp;Új létrehozása</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation>&amp;Visszavon</translation> <translation>&amp;Visszavon</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Kivág</translation> <translation>Kivág</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Másol</translation> <translation>Másol</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Beilleszt</translation> <translation>Beilleszt</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>Kukába &amp;mozgat</translation> <translation>Kukába &amp;mozgat</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation>Kimenet</translation> <translation>Kimenet</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Töröl</translation> <translation>&amp;Töröl</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Átnevez</translation> <translation>Átnevez</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation>Megnyitás ezzel...</translation> <translation>Megnyitás ezzel...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation>Más alkalmazások</translation> <translation>Más alkalmazások</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Kibontás...</translation> <translation>Kibontás...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Kibontás ide</translation> <translation>Kibontás ide</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Csomagolás</translation> <translation>Csomagolás</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Tulajdonságok</translation> <translation>Tulajdonságok</translation>
</message> </message>
@ -636,6 +636,24 @@ Töröljük őket véglegesen?</translation>
<translation>Minden mappára és fájlra alkalmazzuk a változtatásokat?</translation> <translation>Minden mappára és fájlra alkalmazzuk a változtatásokat?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished">Hiba</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -823,7 +841,7 @@ Töröljük őket véglegesen?</translation>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Kukaürítés</translation> <translation>Kukaürítés</translation>
</message> </message>
@ -836,48 +854,48 @@ Töröljük őket véglegesen?</translation>
<translation type="vanished">Töröl</translation> <translation type="vanished">Töröl</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Lecsatol</translation> <translation>Lecsatol</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Csatol</translation> <translation>Csatol</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Kidobat</translation> <translation>Kidobat</translation>
</message> </message>
@ -923,23 +941,23 @@ Módosítva: %3</translation>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation>Helyek</translation> <translation>Helyek</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation>Könyvtárfa</translation> <translation>Könyvtárfa</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation>Általános helyek, eszközök és könyvjelzők listája az oldalsávban</translation> <translation>Általános helyek, eszközök és könyvjelzők listája az oldalsávban</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation>Könyvtárfa az oldalsávban</translation> <translation>Könyvtárfa az oldalsávban</translation>
</message> </message>
@ -995,10 +1013,10 @@ Módosítva: %3</translation>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Hiba</translation> <translation>Hiba</translation>
</message> </message>
@ -1096,4 +1114,181 @@ Módosítva: %3</translation>
<translation>Az összes fájlra vonatkozzon mindez</translation> <translation>Az összes fájlra vonatkozzon mindez</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished">Tulajdonságok</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -398,87 +398,87 @@ Cosa vuoi fare?</translation>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Apri</translation> <translation>Apri</translation>
</message> </message>
<message> <message>
<source>OpenWith</source> <source>OpenWith</source>
<translation>ApriCon</translation> <translation type="vanished">ApriCon</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Taglia</translation> <translation>Taglia</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Copia</translation> <translation>Copia</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Incolla</translation> <translation>Incolla</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>Cestin&amp;a</translation> <translation>Cestin&amp;a</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation>Risultato</translation> <translation>Risultato</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Rimuovi</translation> <translation>&amp;Rimuovi</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Rinomina</translation> <translation>Rinomina</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation>Apri con...</translation> <translation>Apri con...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation>Altre applicazioni</translation> <translation>Altre applicazioni</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation>Crea &amp;nuovo</translation> <translation>Crea &amp;nuovo</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation>&amp;Ripristina</translation> <translation>&amp;Ripristina</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Estrai in...</translation> <translation>Estrai in...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Estrai qui</translation> <translation>Estrai qui</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Comprimi</translation> <translation>Comprimi</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Proprietà</translation> <translation>Proprietà</translation>
</message> </message>
@ -640,6 +640,24 @@ Vuoi invece eliminarli?</translation>
<translation>Applicare ricorsivamente queste modifiche a tutti i file e a tutte le sotto-cartelle?</translation> <translation>Applicare ricorsivamente queste modifiche a tutti i file e a tutte le sotto-cartelle?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -679,11 +697,11 @@ Vuoi invece eliminarli?</translation>
</message> </message>
<message> <message>
<source>Folder</source> <source>Folder</source>
<translation>Cartella</translation> <translation type="vanished">Cartella</translation>
</message> </message>
<message> <message>
<source>File</source> <source>File</source>
<translation>File</translation> <translation type="vanished">File</translation>
</message> </message>
<message> <message>
<location filename="../foldermenu.cpp" line="99"/> <location filename="../foldermenu.cpp" line="99"/>
@ -826,61 +844,61 @@ Vuoi invece eliminarli?</translation>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Svuota cestino</translation> <translation>Svuota cestino</translation>
</message> </message>
<message> <message>
<source>Rename</source> <source>Rename</source>
<translation>Rinomina</translation> <translation type="vanished">Rinomina</translation>
</message> </message>
<message> <message>
<source>Delete</source> <source>Delete</source>
<translation>Rimuovi</translation> <translation type="vanished">Rimuovi</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation>Apri in una nuova scheda</translation> <translation>Apri in una nuova scheda</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation>Apri in una nuova finestra</translation> <translation>Apri in una nuova finestra</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation>Sposta segnalibro insù</translation> <translation>Sposta segnalibro insù</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation>Sposta segnalibro giù</translation> <translation>Sposta segnalibro giù</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation>Rinomina segnalibro</translation> <translation>Rinomina segnalibro</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation>Rimuovi segnalibro</translation> <translation>Rimuovi segnalibro</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Smonta</translation> <translation>Smonta</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Monta</translation> <translation>Monta</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Espelli</translation> <translation>Espelli</translation>
</message> </message>
@ -926,23 +944,23 @@ Ultima modifica: %3</translation>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation>Luoghi</translation> <translation>Luoghi</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation>Albero cartelle</translation> <translation>Albero cartelle</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation>Mostra lista di luoghi, dispositivi e segnalibri nel panello laterale</translation> <translation>Mostra lista di luoghi, dispositivi e segnalibri nel panello laterale</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation>Mostra albero delle cartelle nel panello laterale</translation> <translation>Mostra albero delle cartelle nel panello laterale</translation>
</message> </message>
@ -998,10 +1016,10 @@ Ultima modifica: %3</translation>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Errore</translation> <translation>Errore</translation>
</message> </message>
@ -1099,4 +1117,181 @@ Ultima modifica: %3</translation>
<translation>Applica questa opzione a tutti i file esistenti</translation> <translation>Applica questa opzione a tutti i file esistenti</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished">Proprietà</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -399,7 +399,7 @@ What do you want to do with it?</source>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation></translation> <translation></translation>
</message> </message>
@ -408,78 +408,78 @@ What do you want to do with it?</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>(&amp;M)</translation> <translation>(&amp;M)</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>(&amp;D)</translation> <translation>(&amp;D)</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation type="unfinished"> (&amp;N)</translation> <translation type="unfinished"> (&amp;N)</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation></translation> <translation></translation>
</message> </message>
@ -641,6 +641,24 @@ Do you want to delete them instead?</source>
<translation></translation> <translation></translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -831,7 +849,7 @@ Do you want to delete them instead?</source>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation></translation> <translation></translation>
</message> </message>
@ -844,48 +862,48 @@ Do you want to delete them instead?</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation></translation> <translation></translation>
</message> </message>
@ -931,23 +949,23 @@ Modified: %3</source>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1003,10 +1021,10 @@ Modified: %3</source>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1104,4 +1122,181 @@ Modified: %3</source>
<translation></translation> <translation></translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -396,7 +396,7 @@ What do you want to do with it?</source>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Atverti</translation> <translation>Atverti</translation>
</message> </message>
@ -405,78 +405,78 @@ What do you want to do with it?</source>
<translation type="obsolete">Atverti su</translation> <translation type="obsolete">Atverti su</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Iškirpti</translation> <translation>Iškirpti</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Kopijuoti</translation> <translation>Kopijuoti</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Įklijuoti</translation> <translation>Įklijuoti</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>&amp;Perkelti į šiukšlinę</translation> <translation>&amp;Perkelti į šiukšlinę</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Pašalinti</translation> <translation>&amp;Pašalinti</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Pervadinti</translation> <translation>Pervadinti</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation type="unfinished">&amp;Kurti naują</translation> <translation type="unfinished">&amp;Kurti naują</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Išskleisti į...</translation> <translation>Išskleisti į...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Išskleisti čia</translation> <translation>Išskleisti čia</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Archyvuoti</translation> <translation>Archyvuoti</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Savybės</translation> <translation>Savybės</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -643,6 +643,24 @@ Ar norite vietoje to juos pašalinti visam laikui?</translation>
<translation>Ar norite rekursyviai pritaikyti šiuos pakeitimus visiems failams ir poaplankiams?</translation> <translation>Ar norite rekursyviai pritaikyti šiuos pakeitimus visiems failams ir poaplankiams?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished">Klaida</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -837,53 +855,53 @@ Ar norite vietoje to juos pašalinti visam laikui?</translation>
<translation type="vanished">Šalinami failai</translation> <translation type="vanished">Šalinami failai</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Atjungti</translation> <translation>Atjungti</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Prijungti</translation> <translation>Prijungti</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Išstumti</translation> <translation>Išstumti</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -930,23 +948,23 @@ Keista: %2 {1
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1002,10 +1020,10 @@ Keista: %2 {1
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Klaida</translation> <translation>Klaida</translation>
</message> </message>
@ -1103,4 +1121,181 @@ Keista: %2 {1
<translation>Pritaikyti šią nuostatą visiems failams</translation> <translation>Pritaikyti šią nuostatą visiems failams</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished">Savybės</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -398,83 +398,83 @@ Co chcesz zrobić z tym plikiem?</translation>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Otwórz</translation> <translation>Otwórz</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation type="unfinished">Utwórz &amp;nowy</translation> <translation type="unfinished">Utwórz &amp;nowy</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation>&amp;Przywróć</translation> <translation>&amp;Przywróć</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Wytnij</translation> <translation>Wytnij</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Kopiuj</translation> <translation>Kopiuj</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Wklej</translation> <translation>Wklej</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>Przenieś do &amp;kosza</translation> <translation>Przenieś do &amp;kosza</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation>Wyjście</translation> <translation>Wyjście</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Usuń</translation> <translation>&amp;Usuń</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Zmień nazwę</translation> <translation>Zmień nazwę</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation>Otwórz za pomocą...</translation> <translation>Otwórz za pomocą...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation>Inny program</translation> <translation>Inny program</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Rozpakuj do...</translation> <translation>Rozpakuj do...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Rozpakuj tutaj</translation> <translation>Rozpakuj tutaj</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Skompresuj</translation> <translation>Skompresuj</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Właściwości</translation> <translation>Właściwości</translation>
</message> </message>
@ -636,6 +636,24 @@ Czy zamiast tego usunąć te pliki?</translation>
<translation>Czy chcesz rekursywnie zastosować zmiany do wszystkich plików i podkatalogów?</translation> <translation>Czy chcesz rekursywnie zastosować zmiany do wszystkich plików i podkatalogów?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished">Błąd</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -822,7 +840,7 @@ Czy zamiast tego usunąć te pliki?</translation>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Opróżnij kosz</translation> <translation>Opróżnij kosz</translation>
</message> </message>
@ -835,48 +853,48 @@ Czy zamiast tego usunąć te pliki?</translation>
<translation type="vanished">Usuń</translation> <translation type="vanished">Usuń</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Odmontuj</translation> <translation>Odmontuj</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Montuj</translation> <translation>Montuj</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Wysuń</translation> <translation>Wysuń</translation>
</message> </message>
@ -922,23 +940,23 @@ Zmodyfikowany: %3</translation>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation>Położenia</translation> <translation>Położenia</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation>Drzewo katalogów</translation> <translation>Drzewo katalogów</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation>Pokazuje listę miejsc, urządzeń oraz zakładek w panelu bocznym</translation> <translation>Pokazuje listę miejsc, urządzeń oraz zakładek w panelu bocznym</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation>Pokazuje drzewo katalogów w panelu bocznym</translation> <translation>Pokazuje drzewo katalogów w panelu bocznym</translation>
</message> </message>
@ -994,10 +1012,10 @@ Zmodyfikowany: %3</translation>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Błąd</translation> <translation>Błąd</translation>
</message> </message>
@ -1095,4 +1113,181 @@ Zmodyfikowany: %3</translation>
<translation>Zastosuj do wszystkich plików</translation> <translation>Zastosuj do wszystkich plików</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished">Właściwości</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -398,7 +398,7 @@ O que pretende fazer com o ficheiro?</translation>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Abrir</translation> <translation>Abrir</translation>
</message> </message>
@ -407,78 +407,78 @@ O que pretende fazer com o ficheiro?</translation>
<translation type="obsolete">Abrir com</translation> <translation type="obsolete">Abrir com</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Cortar</translation> <translation>Cortar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Copiar</translation> <translation>Copiar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Colar</translation> <translation>Colar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>&amp;Mover para o lixo</translation> <translation>&amp;Mover para o lixo</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation>Destino</translation> <translation>Destino</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Eliminar</translation> <translation>&amp;Eliminar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Mudar nome</translation> <translation>Mudar nome</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation>Abrir com...</translation> <translation>Abrir com...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation>Outras aplicações</translation> <translation>Outras aplicações</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation type="unfinished">Criar &amp;novo(a)</translation> <translation type="unfinished">Criar &amp;novo(a)</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation>&amp;Restaurar</translation> <translation>&amp;Restaurar</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Extrair para...</translation> <translation>Extrair para...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Extrair aqui</translation> <translation>Extrair aqui</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Comprimir</translation> <translation>Comprimir</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Propriedades</translation> <translation>Propriedades</translation>
</message> </message>
@ -640,6 +640,24 @@ Eliminar permanentemente?</translation>
<translation>Pretende aplicar as alterações a todos os ficheiros e subpastas?</translation> <translation>Pretende aplicar as alterações a todos os ficheiros e subpastas?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished">Erro</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -830,7 +848,7 @@ Eliminar permanentemente?</translation>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Esvaziar lixo</translation> <translation>Esvaziar lixo</translation>
</message> </message>
@ -843,48 +861,48 @@ Eliminar permanentemente?</translation>
<translation type="vanished">Eliminar</translation> <translation type="vanished">Eliminar</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Desmontar</translation> <translation>Desmontar</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Montar</translation> <translation>Montar</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Ejetar</translation> <translation>Ejetar</translation>
</message> </message>
@ -930,23 +948,23 @@ Modificado: %3</translation>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation>Locais</translation> <translation>Locais</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation>Árvore de diretórios</translation> <translation>Árvore de diretórios</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation>Mostra a lista de locais, dispositivos e marcadores na barra lateral</translation> <translation>Mostra a lista de locais, dispositivos e marcadores na barra lateral</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation>Mostra a árvore de diretórios na barra lateral</translation> <translation>Mostra a árvore de diretórios na barra lateral</translation>
</message> </message>
@ -1002,10 +1020,10 @@ Modificado: %3</translation>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Erro</translation> <translation>Erro</translation>
</message> </message>
@ -1103,4 +1121,181 @@ Modificado: %3</translation>
<translation>Aplicar opção a todos os ficheiros existentes</translation> <translation>Aplicar opção a todos os ficheiros existentes</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished">Propriedades</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -398,83 +398,83 @@ What do you want to do with it?</source>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Открыть</translation> <translation>Открыть</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation>Открыть с помощью...</translation> <translation>Открыть с помощью...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation>Другие приложения</translation> <translation>Другие приложения</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation>&amp;Создать</translation> <translation>&amp;Создать</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation>&amp;Восстановить</translation> <translation>&amp;Восстановить</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Вырезать</translation> <translation>Вырезать</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Копировать</translation> <translation>Копировать</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Вставить</translation> <translation>Вставить</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>&amp;Переместить в корзину</translation> <translation>&amp;Переместить в корзину</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Переименовать</translation> <translation>Переименовать</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Распаковать в ...</translation> <translation>Распаковать в ...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Распаковать здесь</translation> <translation>Распаковать здесь</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Сжать</translation> <translation>Сжать</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Свойства</translation> <translation>Свойства</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation>Вывод</translation> <translation>Вывод</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Удалить</translation> <translation>&amp;Удалить</translation>
</message> </message>
@ -636,6 +636,24 @@ Do you want to delete them instead?</source>
<translation>Применить изменения рекурсивно ко всем файлам и подпапкам?</translation> <translation>Применить изменения рекурсивно ко всем файлам и подпапкам?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation>Вы должны добавить не менее одного места для поиска.</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation>Выберите папку</translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -814,53 +832,53 @@ Do you want to delete them instead?</source>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Очистить корзину</translation> <translation>Очистить корзину</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation>Открыть в новой вкладке</translation> <translation>Открыть в новой вкладке</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation>Открыть в новом окне</translation> <translation>Открыть в новом окне</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation>Сдвинуть закладку вверх</translation> <translation>Сдвинуть закладку вверх</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation>Сдвинуть закладку вниз</translation> <translation>Сдвинуть закладку вниз</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation>Переименовать закладку</translation> <translation>Переименовать закладку</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation>Удалить закладку</translation> <translation>Удалить закладку</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Отключить</translation> <translation>Отключить</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Подключить</translation> <translation>Подключить</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Извлечь</translation> <translation>Извлечь</translation>
</message> </message>
@ -906,23 +924,23 @@ Modified: %3</source>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation>Места</translation> <translation>Места</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation>Дерево папок</translation> <translation>Дерево папок</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation>Показывает список обычных мест, устройств и закладок в боковой панели</translation> <translation>Показывает список обычных мест, устройств и закладок в боковой панели</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation>Показывает дерево папок в боковой панели</translation> <translation>Показывает дерево папок в боковой панели</translation>
</message> </message>
@ -978,10 +996,10 @@ Modified: %3</source>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Ошибка</translation> <translation>Ошибка</translation>
</message> </message>
@ -1079,4 +1097,181 @@ Modified: %3</source>
<translation>Запомнить выбор для всех уже существующих файлов</translation> <translation>Запомнить выбор для всех уже существующих файлов</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation>Искать файлы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation>Имя/Расположение</translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation>Шаблоны имени файла:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation>Нечувствительный к регистру поиск</translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation>Использовать регулярные выражения</translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation>Места для поиска:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation>&amp;Добавить</translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation>&amp;Удалить</translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation>Искать в подпапках</translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation>Искать скрытые файлы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation>Тип файла</translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation>Искать файлы только следующих типов:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation>Текстовые файлы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation>Изображения</translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation>Аудиофайлы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation>Видеофайлы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation>Документы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation>Папки</translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation>Содержание</translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation>Файл содержит:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation>Нечувствительн&amp;ый к регистру поиск</translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation>&amp;Использовать регулярные выражения</translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation>Свойства</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation>Размер файла:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation>Больше, чем:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation>Байт</translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation>КиБ</translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation>МиБ</translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation>ГиБ</translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation>Меньше, чем:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation>Время последнего изменения:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation>Раньше, чем:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation>Позже, чем:</translation>
</message>
</context>
</TS> </TS>

@ -398,83 +398,83 @@ What do you want to do with it?</source>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation>Открыть</translation> <translation>Открыть</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation>Открыть с помощью...</translation> <translation>Открыть с помощью...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation>Другие приложения</translation> <translation>Другие приложения</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation>&amp;Создать</translation> <translation>&amp;Создать</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation>&amp;Восстановить</translation> <translation>&amp;Восстановить</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation>Вырезать</translation> <translation>Вырезать</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation>Копировать</translation> <translation>Копировать</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation>Вставить</translation> <translation>Вставить</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>&amp;Переместить в корзину</translation> <translation>&amp;Переместить в корзину</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation>Переименовать</translation> <translation>Переименовать</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>Распаковать в ...</translation> <translation>Распаковать в ...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation>Распаковать здесь</translation> <translation>Распаковать здесь</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation>Сжать</translation> <translation>Сжать</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation>Свойства</translation> <translation>Свойства</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation>Вывод</translation> <translation>Вывод</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>&amp;Удалить</translation> <translation>&amp;Удалить</translation>
</message> </message>
@ -636,6 +636,24 @@ Do you want to delete them instead?</source>
<translation>Применить изменения рекурсивно ко всем файлам и подпапкам?</translation> <translation>Применить изменения рекурсивно ко всем файлам и подпапкам?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation>Вы должны добавить не менее одного места для поиска.</translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation>Выберите папку</translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -814,53 +832,53 @@ Do you want to delete them instead?</source>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Очистить корзину</translation> <translation>Очистить корзину</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation>Открыть в новой вкладке</translation> <translation>Открыть в новой вкладке</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation>Открыть в новом окне</translation> <translation>Открыть в новом окне</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation>Сдвинуть закладку вверх</translation> <translation>Сдвинуть закладку вверх</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation>Сдвинуть закладку вниз</translation> <translation>Сдвинуть закладку вниз</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation>Переименовать закладку</translation> <translation>Переименовать закладку</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation>Удалить закладку</translation> <translation>Удалить закладку</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation>Отключить</translation> <translation>Отключить</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation>Подключить</translation> <translation>Подключить</translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>Извлечь</translation> <translation>Извлечь</translation>
</message> </message>
@ -906,23 +924,23 @@ Modified: %3</source>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation>Места</translation> <translation>Места</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation>Дерево папок</translation> <translation>Дерево папок</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation>Показывает список обычных мест, устройств и закладок в боковой панели</translation> <translation>Показывает список обычных мест, устройств и закладок в боковой панели</translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation>Показывает дерево папок в боковой панели</translation> <translation>Показывает дерево папок в боковой панели</translation>
</message> </message>
@ -978,10 +996,10 @@ Modified: %3</source>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation>Ошибка</translation> <translation>Ошибка</translation>
</message> </message>
@ -1079,4 +1097,181 @@ Modified: %3</source>
<translation>Запомнить выбор для всех уже существующих файлов</translation> <translation>Запомнить выбор для всех уже существующих файлов</translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation>Искать файлы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation>Имя/Расположение</translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation>Шаблоны имени файла:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation>Нечувствительный к регистру поиск</translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation>Использовать регулярные выражения</translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation>Места для поиска:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation>&amp;Добавить</translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation>&amp;Удалить</translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation>Искать в подпапках</translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation>Искать скрытые файлы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation>Тип файла</translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation>Искать файлы только следующих типов:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation>Текстовые файлы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation>Изображения</translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation>Аудиофайлы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation>Видеофайлы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation>Документы</translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation>Папки</translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation>Содержание</translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation>Файл содержит:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation>Нечувствительн&amp;ый к регистру поиск</translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation>&amp;Использовать регулярные выражения</translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation>Свойства</translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation>Размер файла:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation>Больше, чем:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation>Байт</translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation>КиБ</translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation>МиБ</translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation>ГиБ</translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation>Меньше, чем:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation>Время последнего изменения:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation>Раньше, чем:</translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation>Позже, чем:</translation>
</message>
</context>
</TS> </TS>

@ -398,7 +398,7 @@ What do you want to do with it?</source>
<context> <context>
<name>Fm::FileMenu</name> <name>Fm::FileMenu</name>
<message> <message>
<location filename="../filemenu.cpp" line="81"/> <location filename="../filemenu.cpp" line="94"/>
<source>Open</source> <source>Open</source>
<translation></translation> <translation></translation>
</message> </message>
@ -407,53 +407,53 @@ What do you want to do with it?</source>
<translation type="obsolete"></translation> <translation type="obsolete"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="85"/> <location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source> <source>Open With...</source>
<translation>...</translation> <translation>...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="113"/> <location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source> <source>Other Applications</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="119"/> <location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source> <source>Create &amp;New</source>
<translation type="unfinished">(&amp;N)</translation> <translation type="unfinished">(&amp;N)</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="138"/> <location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source> <source>&amp;Restore</source>
<translation>(&amp;R)</translation> <translation>(&amp;R)</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="144"/> <location filename="../filemenu.cpp" line="157"/>
<source>Cut</source> <source>Cut</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="148"/> <location filename="../filemenu.cpp" line="161"/>
<source>Copy</source> <source>Copy</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="152"/> <location filename="../filemenu.cpp" line="165"/>
<source>Paste</source> <source>Paste</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="156"/> <location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source> <source>&amp;Move to Trash</source>
<translation>(&amp;M)</translation> <translation>(&amp;M)</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="299"/> <location filename="../filemenu.cpp" line="312"/>
<source>Output</source> <source>Output</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="349"/> <location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source> <source>&amp;Delete</source>
<translation>(&amp;D)</translation> <translation>(&amp;D)</translation>
</message> </message>
@ -462,27 +462,27 @@ What do you want to do with it?</source>
<translation type="obsolete"></translation> <translation type="obsolete"></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="160"/> <location filename="../filemenu.cpp" line="173"/>
<source>Rename</source> <source>Rename</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="187"/> <location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source> <source>Extract to...</source>
<translation>...</translation> <translation>...</translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="192"/> <location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source> <source>Extract Here</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="198"/> <location filename="../filemenu.cpp" line="211"/>
<source>Compress</source> <source>Compress</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../filemenu.cpp" line="208"/> <location filename="../filemenu.cpp" line="221"/>
<source>Properties</source> <source>Properties</source>
<translation></translation> <translation></translation>
</message> </message>
@ -644,6 +644,24 @@ Do you want to delete them instead?</source>
<translation>?</translation> <translation>?</translation>
</message> </message>
</context> </context>
<context>
<name>Fm::FileSearchDialog</name>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="120"/>
<source>You should add at least add one directory to search.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearchdialog.cpp" line="127"/>
<source>Select a folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>Fm::FolderMenu</name> <name>Fm::FolderMenu</name>
<message> <message>
@ -834,7 +852,7 @@ Do you want to delete them instead?</source>
<context> <context>
<name>Fm::PlacesView</name> <name>Fm::PlacesView</name>
<message> <message>
<location filename="../placesview.cpp" line="343"/> <location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source> <source>Empty Trash</source>
<translation></translation> <translation></translation>
</message> </message>
@ -847,48 +865,48 @@ Do you want to delete them instead?</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="331"/> <location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source> <source>Open in New Tab</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="334"/> <location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source> <source>Open in New Window</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="352"/> <location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source> <source>Move Bookmark Up</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="357"/> <location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source> <source>Move Bookmark Down</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="361"/> <location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source> <source>Rename Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="364"/> <location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source> <source>Remove Bookmark</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="373"/> <location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="390"/> <location filename="../placesview.cpp" line="405"/>
<source>Unmount</source> <source>Unmount</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="377"/> <location filename="../placesview.cpp" line="392"/>
<source>Mount</source> <source>Mount</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../placesview.cpp" line="383"/> <location filename="../placesview.cpp" line="398"/>
<source>Eject</source> <source>Eject</source>
<translation>退</translation> <translation>退</translation>
</message> </message>
@ -934,23 +952,23 @@ Modified: %3</source>
<name>Fm::SidePane</name> <name>Fm::SidePane</name>
<message> <message>
<location filename="../sidepane.cpp" line="47"/> <location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/> <location filename="../sidepane.cpp" line="127"/>
<source>Places</source> <source>Places</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="48"/> <location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/> <location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source> <source>Directory Tree</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="136"/> <location filename="../sidepane.cpp" line="137"/>
<source>Shows list of common places, devices, and bookmarks in sidebar</source> <source>Shows list of common places, devices, and bookmarks in sidebar</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../sidepane.cpp" line="138"/> <location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source> <source>Shows tree of directories in sidebar</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1006,10 +1024,10 @@ Modified: %3</source>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/> <location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/> <location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source> <source>Error</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1107,4 +1125,181 @@ Modified: %3</source>
<translation></translation> <translation></translation>
</message> </message>
</context> </context>
<context>
<name>SearchDialog</name>
<message>
<location filename="../filesearch.ui" line="14"/>
<source>Search Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="29"/>
<source>Name/Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="35"/>
<source>File Name Patterns:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="41"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="48"/>
<source>Case insensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="55"/>
<source>Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="65"/>
<source>Places to Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="78"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="90"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="119"/>
<source>Search in sub directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="126"/>
<source>Search for hidden files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="137"/>
<source>File Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="143"/>
<source>Only search for files of following types:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="149"/>
<source>Text files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="156"/>
<source>Image files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="163"/>
<source>Audio files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="170"/>
<source>Video files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="177"/>
<source>Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="184"/>
<source>Folders</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="208"/>
<source>Content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="214"/>
<source>File contains:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="223"/>
<source>Case insensiti&amp;ve</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="230"/>
<source>&amp;Use regular expression</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="254"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="260"/>
<source>File Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="266"/>
<source>Larger than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="282"/>
<location filename="../filesearch.ui" line="323"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="287"/>
<location filename="../filesearch.ui" line="328"/>
<source>KiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="292"/>
<location filename="../filesearch.ui" line="333"/>
<source>MiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="297"/>
<location filename="../filesearch.ui" line="338"/>
<source>GiB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="307"/>
<source>Smaller than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="351"/>
<source>Last Modified Time:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="357"/>
<source>Earlier than:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filesearch.ui" line="364"/>
<source>Later than:</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

@ -1,4 +0,0 @@
[Project]
Manager=KDevCMakeManager
Name=pcmanfm-qt
VersionControl=

@ -47,6 +47,7 @@ set(pcmanfm_UIS
about.ui about.ui
preferences.ui preferences.ui
desktop-preferences.ui desktop-preferences.ui
desktop-folder.ui
autorun.ui autorun.ui
) )

@ -42,12 +42,16 @@
#include "mountoperation.h" #include "mountoperation.h"
#include "autorundialog.h" #include "autorundialog.h"
#include "launcher.h" #include "launcher.h"
#include "filesearchdialog.h"
#include <QScreen> #include <QScreen>
#include <QWindow> #include <QWindow>
#include <X11/Xlib.h> #include <X11/Xlib.h>
#include "xdgdir.h"
#include <QFileSystemWatcher>
using namespace PCManFM; using namespace PCManFM;
static const char* serviceName = "org.pcmanfm.PCManFM"; static const char* serviceName = "org.pcmanfm.PCManFM";
static const char* ifaceName = "org.pcmanfm.Application"; static const char* ifaceName = "org.pcmanfm.Application";
@ -69,6 +73,8 @@ Application::Application(int& argc, char** argv):
enableDesktopManager_(false), enableDesktopManager_(false),
preferencesDialog_(), preferencesDialog_(),
volumeMonitor_(NULL), volumeMonitor_(NULL),
userDirsWatcher_(NULL),
lxqtRunning_(false),
editBookmarksialog_() { editBookmarksialog_() {
argc_ = argc; argc_ = argc;
@ -97,6 +103,21 @@ Application::Application(int& argc, char** argv):
QIcon::setThemeName(settings_.fallbackIconThemeName()); QIcon::setThemeName(settings_.fallbackIconThemeName());
Fm::IconTheme::checkChanged(); Fm::IconTheme::checkChanged();
} }
// Check if LXQt Session is running. LXQt has it's own Desktop Folder
// editor. We just hide our editor when LXQt is running.
QDBusInterface* lxqtSessionIface = new QDBusInterface(
QStringLiteral("org.lxqt.session"),
QStringLiteral("/LXQtSession"));
if (lxqtSessionIface) {
if (lxqtSessionIface->isValid()) {
lxqtRunning_ = true;
userDesktopFolder_ = XdgDir::readDesktopDir();
initWatch();
}
delete lxqtSessionIface;
lxqtSessionIface = 0;
}
} }
else { else {
// an service of the same name is already registered. // an service of the same name is already registered.
@ -113,8 +134,23 @@ Application::~Application() {
g_object_unref(volumeMonitor_); g_object_unref(volumeMonitor_);
} }
if(enableDesktopManager_) // if(enableDesktopManager_)
removeNativeEventFilter(this); // removeNativeEventFilter(this);
}
void Application::initWatch()
{
QFile file_ (QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + QStringLiteral("/user-dirs.dirs"));
if(! file_.open(QIODevice::ReadOnly | QIODevice::Text)) {
qDebug() << Q_FUNC_INFO << "Could not read: " << userDirsFile_;
userDirsFile_ = QString();
} else {
userDirsFile_ = file_.fileName();
}
userDirsWatcher_ = new QFileSystemWatcher(this);
userDirsWatcher_->addPath(userDirsFile_);
connect(userDirsWatcher_, &QFileSystemWatcher::fileChanged, this, &Application::onUserDirsChanged);
} }
bool Application::parseCommandLineArgs() { bool Application::parseCommandLineArgs() {
@ -281,6 +317,32 @@ int Application::exec() {
return QCoreApplication::exec(); return QCoreApplication::exec();
} }
void Application::onUserDirsChanged()
{
qDebug() << Q_FUNC_INFO;
bool file_deleted = !userDirsWatcher_->files().contains(userDirsFile_);
if(file_deleted) {
// if our config file is already deleted, reinstall a new watcher
userDirsWatcher_->addPath(userDirsFile_);
}
const QString d = XdgDir::readDesktopDir();
if (d != userDesktopFolder_) {
userDesktopFolder_ = d;
const QDir dir(d);
if (dir.exists()) {
const int N = desktopWindows_.size();
for(int i = 0; i < N; ++i) {
desktopWindows_.at(i)->setDesktopFolder();
}
} else {
qWarning("Application::onUserDirsChanged: %s doesn't exist",
qUtf8Printable(userDesktopFolder_));
}
}
}
void Application::onAboutToQuit() { void Application::onAboutToQuit() {
qDebug("aboutToQuit"); qDebug("aboutToQuit");
settings_.save(); settings_.save();
@ -311,7 +373,7 @@ void Application::desktopManager(bool enabled) {
QDesktopWidget* desktopWidget = desktop(); QDesktopWidget* desktopWidget = desktop();
if(enabled) { if(enabled) {
if(!enableDesktopManager_) { if(!enableDesktopManager_) {
installNativeEventFilter(this); // installNativeEventFilter(this);
Q_FOREACH(QScreen* screen, screens()) { Q_FOREACH(QScreen* screen, screens()) {
connect(screen, &QScreen::virtualGeometryChanged, this, &Application::onVirtualGeometryChanged); connect(screen, &QScreen::virtualGeometryChanged, this, &Application::onVirtualGeometryChanged);
connect(screen, &QObject::destroyed, this, &Application::onScreenDestroyed); connect(screen, &QObject::destroyed, this, &Application::onScreenDestroyed);
@ -352,7 +414,7 @@ void Application::desktopManager(bool enabled) {
disconnect(screen, &QObject::destroyed, this, &Application::onScreenDestroyed); disconnect(screen, &QObject::destroyed, this, &Application::onScreenDestroyed);
} }
disconnect(this, &QApplication::screenAdded, this, &Application::onScreenAdded); disconnect(this, &QApplication::screenAdded, this, &Application::onScreenAdded);
removeNativeEventFilter(this); // removeNativeEventFilter(this);
} }
} }
enableDesktopManager_ = enabled; enableDesktopManager_ = enabled;
@ -362,6 +424,9 @@ void Application::desktopPrefrences(QString page) {
// show desktop preference window // show desktop preference window
if(!desktopPreferencesDialog_) { if(!desktopPreferencesDialog_) {
desktopPreferencesDialog_ = new DesktopPreferencesDialog(); desktopPreferencesDialog_ = new DesktopPreferencesDialog();
// Should be used only one time
desktopPreferencesDialog_->setEditDesktopFolder(!lxqtRunning_);
} }
desktopPreferencesDialog_.data()->selectPage(page); desktopPreferencesDialog_.data()->selectPage(page);
desktopPreferencesDialog_.data()->show(); desktopPreferencesDialog_.data()->show();
@ -369,9 +434,22 @@ void Application::desktopPrefrences(QString page) {
desktopPreferencesDialog_.data()->activateWindow(); desktopPreferencesDialog_.data()->activateWindow();
} }
void Application::onFindFileAccepted() {
Fm::FileSearchDialog* dlg = static_cast<Fm::FileSearchDialog*>(sender());
Fm::Path uri = dlg->searchUri();
// FIXME: we should be able to open it in an existing window
FmPathList* paths = fm_path_list_new();
fm_path_list_push_tail(paths, uri.data());
Launcher(NULL).launchPaths(NULL, paths);
fm_path_list_unref(paths);
}
void Application::findFiles(QStringList paths) { void Application::findFiles(QStringList paths) {
// TODO: add a file searching utility here. // launch file searching utility.
qDebug("findFiles"); Fm::FileSearchDialog* dlg = new Fm::FileSearchDialog(paths);
connect(dlg, &QDialog::accepted, this, &Application::onFindFileAccepted);
dlg->setAttribute(Qt::WA_DeleteOnClose);
dlg->show();
} }
void Application::launchFiles(QString cwd, QStringList paths, bool inNewWindow) { void Application::launchFiles(QString cwd, QStringList paths, bool inNewWindow) {
@ -635,17 +713,18 @@ void Application::onVolumeAdded(GVolumeMonitor* monitor, GVolume* volume, Applic
pThis->autoMountVolume(volume, true); pThis->autoMountVolume(volume, true);
} }
#if 0
bool Application::nativeEventFilter(const QByteArray & eventType, void * message, long * result) { bool Application::nativeEventFilter(const QByteArray & eventType, void * message, long * result) {
if(eventType == "xcb_generic_event_t") { // XCB event if(eventType == "xcb_generic_event_t") { // XCB event
// filter all native X11 events (xcb) // filter all native X11 events (xcb)
xcb_generic_event_t* generic_event = reinterpret_cast<xcb_generic_event_t*>(message); xcb_generic_event_t* generic_event = reinterpret_cast<xcb_generic_event_t*>(message);
// qDebug("XCB event: %d", generic_event->response_type & ~0x80); // qDebug("XCB event: %d", generic_event->response_type & ~0x80);
Q_FOREACH(DesktopWindow * window, desktopWindows_) { Q_FOREACH(DesktopWindow * window, desktopWindows_) {
window->xcbEvent(generic_event);
} }
} }
return false; return false;
} }
#endif
void Application::onScreenAdded(QScreen* newScreen) { void Application::onScreenAdded(QScreen* newScreen) {
if(enableDesktopManager_) { if(enableDesktopManager_) {

@ -25,7 +25,6 @@
#include "settings.h" #include "settings.h"
#include "libfmqt.h" #include "libfmqt.h"
#include "editbookmarksdialog.h" #include "editbookmarksdialog.h"
#include <QAbstractNativeEventFilter>
#include <QVector> #include <QVector>
#include <QPointer> #include <QPointer>
#include <QProxyStyle> #include <QProxyStyle>
@ -35,6 +34,8 @@
class QScreen; class QScreen;
class QFileSystemWatcher;
namespace PCManFM { namespace PCManFM {
class DesktopWindow; class DesktopWindow;
@ -49,7 +50,7 @@ public:
virtual int styleHint(StyleHint hint, const QStyleOption * option = 0, const QWidget * widget = 0, QStyleHintReturn * returnData = 0) const; virtual int styleHint(StyleHint hint, const QStyleOption * option = 0, const QWidget * widget = 0, QStyleHintReturn * returnData = 0) const;
}; };
class Application : public QApplication, public QAbstractNativeEventFilter { class Application : public QApplication {
Q_OBJECT Q_OBJECT
Q_PROPERTY(bool desktopManagerEnabled READ desktopManagerEnabled) Q_PROPERTY(bool desktopManagerEnabled READ desktopManagerEnabled)
@ -75,7 +76,7 @@ public:
void desktopPrefrences(QString page); void desktopPrefrences(QString page);
void editBookmarks(); void editBookmarks();
void desktopManager(bool enabled); void desktopManager(bool enabled);
void findFiles(QStringList paths); void findFiles(QStringList paths = QStringList());
bool desktopManagerEnabled() { bool desktopManagerEnabled() {
return enableDesktopManager_; return enableDesktopManager_;
@ -91,8 +92,6 @@ public:
return profileName_; return profileName_;
} }
virtual bool nativeEventFilter(const QByteArray & eventType, void * message, long * result);
protected Q_SLOTS: protected Q_SLOTS:
void onAboutToQuit(); void onAboutToQuit();
void onSigtermNotified(); void onSigtermNotified();
@ -108,6 +107,8 @@ protected Q_SLOTS:
void onScreenAdded(QScreen* newScreen); void onScreenAdded(QScreen* newScreen);
void reloadDesktopsAsNeeded(); void reloadDesktopsAsNeeded();
void onFindFileAccepted();
protected: protected:
virtual bool eventFilter(QObject* watched, QEvent* event); virtual bool eventFilter(QObject* watched, QEvent* event);
bool parseCommandLineArgs(); bool parseCommandLineArgs();
@ -116,7 +117,11 @@ protected:
static void onVolumeAdded(GVolumeMonitor* monitor, GVolume* volume, Application* pThis); static void onVolumeAdded(GVolumeMonitor* monitor, GVolume* volume, Application* pThis);
private Q_SLOTS:
void onUserDirsChanged();
private: private:
void initWatch();
void installSigtermHandler(); void installSigtermHandler();
bool isPrimaryInstance; bool isPrimaryInstance;
@ -132,6 +137,12 @@ private:
QTranslator translator; QTranslator translator;
QTranslator qtTranslator; QTranslator qtTranslator;
GVolumeMonitor* volumeMonitor_; GVolumeMonitor* volumeMonitor_;
QFileSystemWatcher *userDirsWatcher_;
QString userDirsFile_;
QString userDesktopFolder_;
bool lxqtRunning_;
int argc_; int argc_;
char** argv_; char** argv_;
}; };

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DesktopFolder</class>
<widget class="QWidget" name="DesktopFolder">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>352</width>
<height>81</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="enabled">
<bool>true</bool>
</property>
<property name="title">
<string>Desktop</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_7">
<property name="text">
<string>Desktop folder:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="desktopFolder">
<property name="toolTip">
<string>Image file</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="placeholderText">
<string>Folder path</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="browseDesktopFolder">
<property name="text">
<string>&amp;Browse</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>473</width> <width>534</width>
<height>428</height> <height>434</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -200,13 +200,26 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="advancedPage"> <widget class="QWidget" name="advancedPage">
<attribute name="title"> <attribute name="title">
<string>Advanced</string> <string>Advanced</string>
</attribute> </attribute>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="advancedPageLayout">
<item> <item>
<widget class="QGroupBox" name="groupBox_4"> <widget class="QGroupBox" name="groupBox_4">
<property name="title"> <property name="title">
@ -223,42 +236,6 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Desktop</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_7">
<property name="text">
<string>Desktop folder:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="desktopFolder">
<property name="toolTip">
<string>Image file</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="placeholderText">
<string>Folder path</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="browseDesktopFolder">
<property name="text">
<string>&amp;Browse</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
@ -282,7 +259,7 @@
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="standardButtons"> <property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property> </property>
</widget> </widget>
</item> </item>

@ -34,7 +34,11 @@
using namespace PCManFM; using namespace PCManFM;
DesktopPreferencesDialog::DesktopPreferencesDialog(QWidget* parent, Qt::WindowFlags f): DesktopPreferencesDialog::DesktopPreferencesDialog(QWidget* parent, Qt::WindowFlags f):
QDialog(parent, f) { QDialog(parent, f),
editDesktopFolderEnabled(false),
desktopFolderWidget(0),
desktopFolder() {
setAttribute(Qt::WA_DeleteOnClose); setAttribute(Qt::WA_DeleteOnClose);
@ -74,26 +78,42 @@ DesktopPreferencesDialog::DesktopPreferencesDialog(QWidget* parent, Qt::WindowFl
qDebug("wallpaper: %s", settings.wallpaper().toUtf8().data()); qDebug("wallpaper: %s", settings.wallpaper().toUtf8().data());
ui.imageFile->setText(settings.wallpaper()); ui.imageFile->setText(settings.wallpaper());
connect(ui.browseDesktopFolder, &QPushButton::clicked, this, &DesktopPreferencesDialog::onBrowseDesktopFolderClicked);
QString desktopFolder = XdgDir::readDesktopDir();
qDebug("desktop folder: %s", desktopFolder.toStdString().c_str());
ui.desktopFolder->setText(desktopFolder);
ui.font->setFont(settings.desktopFont()); ui.font->setFont(settings.desktopFont());
ui.backgroundColor->setColor(settings.desktopBgColor()); ui.backgroundColor->setColor(settings.desktopBgColor());
ui.textColor->setColor(settings.desktopFgColor()); ui.textColor->setColor(settings.desktopFgColor());
ui.shadowColor->setColor(settings.desktopShadowColor()); ui.shadowColor->setColor(settings.desktopShadowColor());
ui.showWmMenu->setChecked(settings.showWmMenu()); ui.showWmMenu->setChecked(settings.showWmMenu());
connect(ui.buttonBox->button(QDialogButtonBox::Apply), &QPushButton::clicked,
this, &DesktopPreferencesDialog::onApplyClicked);
} }
DesktopPreferencesDialog::~DesktopPreferencesDialog() { DesktopPreferencesDialog::~DesktopPreferencesDialog() {
} }
void DesktopPreferencesDialog::accept() { void DesktopPreferencesDialog::setupDesktopFolderUi()
{
desktopFolderWidget = new QWidget();
uiDesktopFolder.setupUi(desktopFolderWidget);
ui.advancedPageLayout->insertWidget(1, desktopFolderWidget);
uiDesktopFolder.verticalLayout->setMargin(0);
desktopFolder = XdgDir::readDesktopDir();
qDebug("desktop folder: %s", desktopFolder.toStdString().c_str());
uiDesktopFolder.desktopFolder->setText(desktopFolder);
connect(uiDesktopFolder.browseDesktopFolder, &QPushButton::clicked,
this, &DesktopPreferencesDialog::onBrowseDesktopFolderClicked);
}
void DesktopPreferencesDialog::applySettings()
{
Settings& settings = static_cast<Application*>(qApp)->settings(); Settings& settings = static_cast<Application*>(qApp)->settings();
XdgDir::setDesktopDir(ui.desktopFolder->text()); if (editDesktopFolderEnabled)
XdgDir::setDesktopDir(uiDesktopFolder.desktopFolder->text());
settings.setWallpaper(ui.imageFile->text()); settings.setWallpaper(ui.imageFile->text());
int mode = ui.wallpaperMode->itemData(ui.wallpaperMode->currentIndex()).toInt(); int mode = ui.wallpaperMode->itemData(ui.wallpaperMode->currentIndex()).toInt();
@ -104,10 +124,19 @@ void DesktopPreferencesDialog::accept() {
settings.setDesktopShadowColor(ui.shadowColor->color()); settings.setDesktopShadowColor(ui.shadowColor->color());
settings.setShowWmMenu(ui.showWmMenu->isChecked()); settings.setShowWmMenu(ui.showWmMenu->isChecked());
QDialog::accept(); settings.save();
}
void DesktopPreferencesDialog::onApplyClicked()
{
applySettings();
static_cast<Application*>(qApp)->updateDesktopsFromSettings(); static_cast<Application*>(qApp)->updateDesktopsFromSettings();
settings.save(); }
void DesktopPreferencesDialog::accept() {
applySettings();
static_cast<Application*>(qApp)->updateDesktopsFromSettings();
QDialog::accept();
} }
void DesktopPreferencesDialog::onWallpaperModeChanged(int index) { void DesktopPreferencesDialog::onWallpaperModeChanged(int index) {
@ -147,11 +176,12 @@ void DesktopPreferencesDialog::onBrowseDesktopFolderClicked()
{ {
QFileDialog dlg; QFileDialog dlg;
dlg.setAcceptMode(QFileDialog::AcceptOpen); dlg.setAcceptMode(QFileDialog::AcceptOpen);
dlg.setAcceptMode(QFileDialog::AcceptOpen);
dlg.setFileMode(QFileDialog::DirectoryOnly); dlg.setFileMode(QFileDialog::DirectoryOnly);
if (dlg.exec() == QDialog::Accepted) { if (dlg.exec() == QDialog::Accepted) {
QString dir; QString dir;
dir = dlg.selectedFiles().first(); dir = dlg.selectedFiles().first();
ui.desktopFolder->setText(dir); uiDesktopFolder.desktopFolder->setText(dir);
} }
} }
@ -160,3 +190,10 @@ void DesktopPreferencesDialog::selectPage(QString name) {
if(page) if(page)
ui.tabWidget->setCurrentWidget(page); ui.tabWidget->setCurrentWidget(page);
} }
void DesktopPreferencesDialog::setEditDesktopFolder(const bool enabled)
{
editDesktopFolderEnabled = enabled;
if (editDesktopFolderEnabled)
setupDesktopFolderUi();
}

@ -24,6 +24,8 @@
#include <QDialog> #include <QDialog>
#include "ui_desktop-preferences.h" #include "ui_desktop-preferences.h"
#include "ui_desktop-folder.h"
namespace PCManFM { namespace PCManFM {
class DesktopPreferencesDialog : public QDialog { class DesktopPreferencesDialog : public QDialog {
@ -37,13 +39,26 @@ public:
void selectPage(QString name); void selectPage(QString name);
// Should only be used one time.
void setEditDesktopFolder(const bool enabled);
protected Q_SLOTS: protected Q_SLOTS:
void onApplyClicked();
void onWallpaperModeChanged(int index); void onWallpaperModeChanged(int index);
void onBrowseClicked(); void onBrowseClicked();
void onBrowseDesktopFolderClicked(); void onBrowseDesktopFolderClicked();
void applySettings();
private: private:
Ui::DesktopPreferencesDialog ui; Ui::DesktopPreferencesDialog ui;
Ui::DesktopFolder uiDesktopFolder;
bool editDesktopFolderEnabled;
QWidget* desktopFolderWidget;
QString desktopFolder;
void setupDesktopFolderUi();
}; };
} }

@ -389,49 +389,6 @@ void DesktopWindow::prepareFolderMenu(Fm::FolderMenu* menu) {
connect(action, &QAction::triggered, this, &DesktopWindow::onDesktopPreferences); connect(action, &QAction::triggered, this, &DesktopWindow::onDesktopPreferences);
} }
void DesktopWindow::xcbEvent(xcb_generic_event_t* generic_event) {
int event_type = generic_event->response_type & ~0x80;
if(showWmMenu_) {
// If we want to show the desktop menus provided by the window manager instead of ours,
// we have to forward the mouse events we received to the root window.
switch(event_type) {
case XCB_BUTTON_PRESS: {
xcb_button_press_event_t* event = reinterpret_cast<xcb_button_press_event_t*>(generic_event);
if(event->event == effectiveWinId()) {
// check if the user click on blank area
QModelIndex index = listView_->indexAt(QPoint(event->event_x, event->event_y));
if(!index.isValid()) {
xcb_ungrab_pointer(QX11Info::connection(), event->time);
// forward the event to the root window
xcb_button_press_event_t event2 = *event;
WId root = QX11Info::appRootWindow(QX11Info::appScreen());
event2.event = root;
xcb_send_event(QX11Info::connection(), 0, root, XCB_EVENT_MASK_BUTTON_PRESS, (char*)&event2);
}
}
break;
}
case XCB_BUTTON_RELEASE: {
xcb_button_release_event_t* event = reinterpret_cast<xcb_button_release_event_t*>(generic_event);
if(event->event == effectiveWinId()) {
// check if the user click on blank area
QModelIndex index = listView_->indexAt(QPoint(event->event_x, event->event_y));
if(!index.isValid()) {
// forward the event to the root window
xcb_button_release_event_t event2 = *event;
WId root = QX11Info::appRootWindow(QX11Info::appScreen());
event2.event = root;
xcb_send_event(QX11Info::connection(), 0, root, XCB_EVENT_MASK_BUTTON_RELEASE, (char*)&event2);
}
}
break;
}
default:
break;
}
}
}
void DesktopWindow::onDesktopPreferences() { void DesktopWindow::onDesktopPreferences() {
static_cast<Application* >(qApp)->desktopPrefrences(QString()); static_cast<Application* >(qApp)->desktopPrefrences(QString());
} }
@ -675,6 +632,69 @@ void DesktopWindow::onFilePropertiesActivated() {
} }
} }
static void forwardMouseEventToRoot(QMouseEvent* event) {
xcb_ungrab_pointer(QX11Info::connection(), event->timestamp());
// forward the event to the root window
xcb_button_press_event_t xcb_event;
uint32_t mask = 0;
xcb_event.state = 0;
switch(event->type()) {
case QEvent::MouseButtonPress:
xcb_event.response_type = XCB_BUTTON_PRESS;
mask = XCB_EVENT_MASK_BUTTON_PRESS;
break;
case QEvent::MouseButtonRelease:
xcb_event.response_type = XCB_BUTTON_RELEASE;
mask = XCB_EVENT_MASK_BUTTON_RELEASE;
break;
default:
return;
}
// convert Qt button to XCB button
switch(event->button()) {
case Qt::LeftButton:
xcb_event.detail = 1;
xcb_event.state |= XCB_BUTTON_MASK_1;
break;
case Qt::MiddleButton:
xcb_event.detail = 2;
xcb_event.state |= XCB_BUTTON_MASK_2;
break;
case Qt::RightButton:
xcb_event.detail = 3;
xcb_event.state |= XCB_BUTTON_MASK_3;
break;
default:
xcb_event.detail = 0;
}
// convert Qt modifiers to XCB states
if(event->modifiers() & Qt::ShiftModifier)
xcb_event.state |= XCB_MOD_MASK_SHIFT;
if(event->modifiers() & Qt::ControlModifier)
xcb_event.state |= XCB_MOD_MASK_SHIFT;
if(event->modifiers() & Qt::AltModifier)
xcb_event.state |= XCB_MOD_MASK_1;
xcb_event.sequence = 0;
xcb_event.time = event->timestamp();
WId root = QX11Info::appRootWindow(QX11Info::appScreen());
xcb_event.event = root;
xcb_event.root = root;
xcb_event.child = 0;
xcb_event.root_x = event->globalX();
xcb_event.root_y = event->globalY();
xcb_event.event_x = event->x();
xcb_event.event_y = event->y();
xcb_event.same_screen = 1;
xcb_send_event(QX11Info::connection(), 0, root, mask, (char*)&xcb_event);
xcb_flush(QX11Info::connection());
}
bool DesktopWindow::event(QEvent* event) bool DesktopWindow::event(QEvent* event)
{ {
switch(event->type()) { switch(event->type()) {
@ -721,6 +741,25 @@ bool DesktopWindow::eventFilter(QObject * watched, QEvent * event) {
break; break;
} }
} }
else if(watched == listView_->viewport()) {
switch(event->type()) {
case QEvent::MouseButtonPress:
case QEvent::MouseButtonRelease:
if(showWmMenu_) {
QMouseEvent* e = static_cast<QMouseEvent*>(event);
// If we want to show the desktop menus provided by the window manager instead of ours,
// we have to forward the mouse events we received to the root window.
// check if the user click on blank area
QModelIndex index = listView_->indexAt(e->pos());
if(!index.isValid() && e->button() != Qt::LeftButton) {
forwardMouseEventToRoot(e);
}
}
break;
default:
break;
}
}
return false; return false;
} }
@ -749,6 +788,10 @@ void DesktopWindow::childDropEvent(QDropEvent* e) {
Fm::FolderView::childDropEvent(e); Fm::FolderView::childDropEvent(e);
} }
void DesktopWindow::closeEvent(QCloseEvent *event) {
// prevent the desktop window from being closed.
event->ignore();
}
void DesktopWindow::setScreenNum(int num) { void DesktopWindow::setScreenNum(int num) {
if(screenNum_ != num) { if(screenNum_ != num) {

@ -66,8 +66,6 @@ public:
void updateWallpaper(); void updateWallpaper();
void updateFromSettings(Settings& settings); void updateFromSettings(Settings& settings);
void xcbEvent(xcb_generic_event_t* generic_event);
void queueRelayout(int delay = 0); void queueRelayout(int delay = 0);
int screenNum() const { int screenNum() const {
@ -91,6 +89,7 @@ protected:
virtual bool eventFilter(QObject * watched, QEvent * event); virtual bool eventFilter(QObject * watched, QEvent * event);
virtual void childDropEvent(QDropEvent* e); virtual void childDropEvent(QDropEvent* e);
virtual void closeEvent(QCloseEvent *event);
protected Q_SLOTS: protected Q_SLOTS:
void onOpenDirRequested(FmPath* path, int target); void onOpenDirRequested(FmPath* path, int target);

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>431</width> <width>431</width>
<height>359</height> <height>416</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -76,7 +76,9 @@
<string>Add</string> <string>Add</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset theme="list-add"/> <iconset theme="list-add">
<normaloff/>
</iconset>
</property> </property>
</widget> </widget>
</item> </item>
@ -86,7 +88,9 @@
<string>Remove</string> <string>Remove</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset theme="list-remove"/> <iconset theme="list-remove">
<normaloff/>
</iconset>
</property> </property>
</widget> </widget>
</item> </item>
@ -125,9 +129,6 @@
</widget> </widget>
</item> </item>
</layout> </layout>
<zorder>buttonBox</zorder>
<zorder>groupBox</zorder>
<zorder>groupBox_2</zorder>
</widget> </widget>
<widget class="QWidget" name="tab_2"> <widget class="QWidget" name="tab_2">
<attribute name="title"> <attribute name="title">
@ -256,7 +257,7 @@
<property name="title"> <property name="title">
<string>File Size</string> <string>File Size</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QCheckBox" name="checkBox_12"> <widget class="QCheckBox" name="checkBox_12">
<property name="text"> <property name="text">
@ -265,19 +266,23 @@
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QSpinBox" name="spinBox"> <widget class="QSpinBox" name="spinBox">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2"> <item>
<widget class="QComboBox" name="comboBox"> <widget class="QComboBox" name="comboBox">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
</item> </item>
</layout>
</item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QCheckBox" name="checkBox_13"> <widget class="QCheckBox" name="checkBox_13">
<property name="text"> <property name="text">
@ -286,13 +291,15 @@
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QSpinBox" name="spinBox_2"> <widget class="QSpinBox" name="spinBox_2">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="2"> <item>
<widget class="QComboBox" name="comboBox_2"> <widget class="QComboBox" name="comboBox_2">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
@ -300,6 +307,8 @@
</widget> </widget>
</item> </item>
</layout> </layout>
</item>
</layout>
</widget> </widget>
</item> </item>
<item> <item>
@ -307,7 +316,7 @@
<property name="title"> <property name="title">
<string>Last Modified Time</string> <string>Last Modified Time</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QCheckBox" name="checkBox_14"> <widget class="QCheckBox" name="checkBox_14">
<property name="text"> <property name="text">
@ -315,6 +324,16 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1">
<widget class="QDateTimeEdit" name="dateTimeEdit">
<property name="enabled">
<bool>false</bool>
</property>
<property name="calendarPopup">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QCheckBox" name="checkBox_15"> <widget class="QCheckBox" name="checkBox_15">
<property name="text"> <property name="text">
@ -332,16 +351,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1">
<widget class="QDateTimeEdit" name="dateTimeEdit">
<property name="enabled">
<bool>false</bool>
</property>
<property name="calendarPopup">
<bool>true</bool>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

@ -20,7 +20,16 @@
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="margin"> <property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
@ -49,6 +58,24 @@
</sizepolicy> </sizepolicy>
</property> </property>
</widget> </widget>
<widget class="QFrame" name="frame">
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>2</number>
</property>
<property name="leftMargin">
<number>1</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QStackedWidget" name="stackedWidget"> <widget class="QStackedWidget" name="stackedWidget">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
@ -57,6 +84,19 @@
</sizepolicy> </sizepolicy>
</property> </property>
</widget> </widget>
</item>
<item>
<widget class="QLineEdit" name="filterBar">
<property name="placeholderText">
<string>Filter by string...</string>
</property>
<property name="clearButtonEnabled">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</widget> </widget>
</item> </item>
</layout> </layout>
@ -67,7 +107,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>460</width> <width>460</width>
<height>27</height> <height>23</height>
</rect> </rect>
</property> </property>
<widget class="QMenu" name="menu_File"> <widget class="QMenu" name="menu_File">
@ -127,6 +167,7 @@
<addaction name="actionDetailedList"/> <addaction name="actionDetailedList"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="menuSorting"/> <addaction name="menuSorting"/>
<addaction name="actionFilter"/>
</widget> </widget>
<widget class="QMenu" name="menu_Editw"> <widget class="QMenu" name="menu_Editw">
<property name="title"> <property name="title">
@ -171,6 +212,7 @@
</property> </property>
<addaction name="actionOpenTerminal"/> <addaction name="actionOpenTerminal"/>
<addaction name="actionOpenAsRoot"/> <addaction name="actionOpenAsRoot"/>
<addaction name="actionFindFiles"/>
</widget> </widget>
<addaction name="menu_File"/> <addaction name="menu_File"/>
<addaction name="menu_Editw"/> <addaction name="menu_Editw"/>
@ -227,7 +269,7 @@
</iconset> </iconset>
</property> </property>
<property name="text"> <property name="text">
<string>Home</string> <string>&amp;Home</string>
</property> </property>
<property name="shortcut"> <property name="shortcut">
<string>Alt+Home</string> <string>Alt+Home</string>
@ -447,7 +489,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Ascending</string> <string>&amp;Ascending</string>
</property> </property>
</action> </action>
<action name="actionDescending"> <action name="actionDescending">
@ -455,7 +497,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Descending</string> <string>&amp;Descending</string>
</property> </property>
</action> </action>
<action name="actionByFileName"> <action name="actionByFileName">
@ -463,7 +505,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="text"> <property name="text">
<string>By File Name</string> <string>&amp;By File Name</string>
</property> </property>
</action> </action>
<action name="actionByMTime"> <action name="actionByMTime">
@ -471,7 +513,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="text"> <property name="text">
<string>By Modification Time</string> <string>By &amp;Modification Time</string>
</property> </property>
</action> </action>
<action name="actionByFileType"> <action name="actionByFileType">
@ -479,7 +521,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="text"> <property name="text">
<string>By File Type</string> <string>By File &amp;Type</string>
</property> </property>
</action> </action>
<action name="actionByOwner"> <action name="actionByOwner">
@ -487,7 +529,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="text"> <property name="text">
<string>By Owner</string> <string>By &amp;Owner</string>
</property> </property>
</action> </action>
<action name="actionFolderFirst"> <action name="actionFolderFirst">
@ -495,7 +537,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Folder First</string> <string>&amp;Folder First</string>
</property> </property>
</action> </action>
<action name="actionNewTab"> <action name="actionNewTab">
@ -598,7 +640,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Case Sensitive</string> <string>&amp;Case Sensitive</string>
</property> </property>
</action> </action>
<action name="actionByFileSize"> <action name="actionByFileSize">
@ -606,12 +648,12 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="text"> <property name="text">
<string>By File Size</string> <string>By File &amp;Size</string>
</property> </property>
</action> </action>
<action name="actionCloseWindow"> <action name="actionCloseWindow">
<property name="text"> <property name="text">
<string>Close Window</string> <string>&amp;Close Window</string>
</property> </property>
</action> </action>
<action name="actionEdit_Bookmarks"> <action name="actionEdit_Bookmarks">
@ -639,10 +681,12 @@
</action> </action>
<action name="actionNewFolder"> <action name="actionNewFolder">
<property name="icon"> <property name="icon">
<iconset theme="folder-new"/> <iconset theme="folder-new">
<normaloff/>
</iconset>
</property> </property>
<property name="text"> <property name="text">
<string>Folder</string> <string>&amp;Folder</string>
</property> </property>
<property name="shortcut"> <property name="shortcut">
<string>Ctrl+Shift+N</string> <string>Ctrl+Shift+N</string>
@ -650,15 +694,33 @@
</action> </action>
<action name="actionNewBlankFile"> <action name="actionNewBlankFile">
<property name="icon"> <property name="icon">
<iconset theme="document-new"/> <iconset theme="document-new">
<normaloff/>
</iconset>
</property> </property>
<property name="text"> <property name="text">
<string>Blank File</string> <string>&amp;Blank File</string>
</property> </property>
<property name="shortcut"> <property name="shortcut">
<string>Ctrl+Alt+N</string> <string>Ctrl+Alt+N</string>
</property> </property>
</action> </action>
<action name="actionFindFiles">
<property name="text">
<string>&amp;Find Files</string>
</property>
<property name="shortcut">
<string>F3</string>
</property>
</action>
<action name="actionFilter">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Filter</string>
</property>
</action>
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>

@ -96,6 +96,11 @@ MainWindow::MainWindow(FmPath* path):
connect(ui.tabBar, &QTabBar::tabMoved, this, &MainWindow::onTabBarTabMoved); connect(ui.tabBar, &QTabBar::tabMoved, this, &MainWindow::onTabBarTabMoved);
connect(ui.stackedWidget, &QStackedWidget::widgetRemoved, this, &MainWindow::onStackedWidgetWidgetRemoved); connect(ui.stackedWidget, &QStackedWidget::widgetRemoved, this, &MainWindow::onStackedWidgetWidgetRemoved);
// FIXME: should we make the filter bar a per-view configuration?
ui.filterBar->setVisible(settings.showFilter());
ui.actionFilter->setChecked(settings.showFilter());
connect(ui.filterBar, &QLineEdit::textChanged, this, &MainWindow::onFilterStringChanged);
// side pane // side pane
ui.sidePane->setIconSize(QSize(settings.sidePaneIconSize(), settings.sidePaneIconSize())); ui.sidePane->setIconSize(QSize(settings.sidePaneIconSize(), settings.sidePaneIconSize()));
ui.sidePane->setMode(settings.sidePaneMode()); ui.sidePane->setMode(settings.sidePaneMode());
@ -181,6 +186,12 @@ MainWindow::MainWindow(FmPath* path):
shortcut = new QShortcut(QKeySequence(Qt::SHIFT + Qt::Key_Delete), this); shortcut = new QShortcut(QKeySequence(Qt::SHIFT + Qt::Key_Delete), this);
connect(shortcut, &QShortcut::activated, this, &MainWindow::on_actionDelete_triggered); connect(shortcut, &QShortcut::activated, this, &MainWindow::on_actionDelete_triggered);
if(QToolButton* clearButton = ui.filterBar->findChild<QToolButton*>()) {
clearButton->setToolTip(tr("Clear text (Ctrl+K)"));
shortcut = new QShortcut(Qt::CTRL + Qt::Key_K, this);
connect(shortcut, &QShortcut::activated, ui.filterBar, &QLineEdit::clear);
}
if(path) if(path)
addTab(path); addTab(path);
@ -201,6 +212,7 @@ void MainWindow::chdir(FmPath* path) {
TabPage* page = currentPage(); TabPage* page = currentPage();
if(page) { if(page) {
ui.filterBar->clear();
page->chdir(path, true); page->chdir(path, true);
updateUIForCurrentPage(); updateUIForCurrentPage();
} }
@ -217,6 +229,8 @@ void MainWindow::addTab(FmPath* path) {
connect(newPage, &TabPage::statusChanged, this, &MainWindow::onTabPageStatusChanged); connect(newPage, &TabPage::statusChanged, this, &MainWindow::onTabPageStatusChanged);
connect(newPage, &TabPage::openDirRequested, this, &MainWindow::onTabPageOpenDirRequested); connect(newPage, &TabPage::openDirRequested, this, &MainWindow::onTabPageOpenDirRequested);
connect(newPage, &TabPage::sortFilterChanged, this, &MainWindow::onTabPageSortFilterChanged); connect(newPage, &TabPage::sortFilterChanged, this, &MainWindow::onTabPageSortFilterChanged);
connect(newPage, &TabPage::backwardRequested, this, &MainWindow::on_actionGoBack_triggered);
connect(newPage, &TabPage::forwardRequested, this, &MainWindow::on_actionGoForward_triggered);
ui.tabBar->insertTab(index, newPage->title()); ui.tabBar->insertTab(index, newPage->title());
@ -237,6 +251,7 @@ void MainWindow::on_actionGoUp_triggered() {
TabPage* page = currentPage(); TabPage* page = currentPage();
if(page) { if(page) {
ui.filterBar->clear();
page->up(); page->up();
updateUIForCurrentPage(); updateUIForCurrentPage();
} }
@ -246,6 +261,7 @@ void MainWindow::on_actionGoBack_triggered() {
TabPage* page = currentPage(); TabPage* page = currentPage();
if(page) { if(page) {
ui.filterBar->clear();
page->backward(); page->backward();
updateUIForCurrentPage(); updateUIForCurrentPage();
} }
@ -255,6 +271,7 @@ void MainWindow::on_actionGoForward_triggered() {
TabPage* page = currentPage(); TabPage* page = currentPage();
if(page) { if(page) {
ui.filterBar->clear();
page->forward(); page->forward();
updateUIForCurrentPage(); updateUIForCurrentPage();
} }
@ -381,6 +398,11 @@ void MainWindow::on_actionFolderFirst_triggered(bool checked) {
currentPage()->setSortFolderFirst(checked); currentPage()->setSortFolderFirst(checked);
} }
void MainWindow::on_actionFilter_triggered(bool checked) {
ui.filterBar->setVisible(checked);
static_cast<Application*>(qApp)->settings().setShowFilter(checked);
}
void MainWindow::on_actionComputer_triggered() { void MainWindow::on_actionComputer_triggered() {
FmPath* path = fm_path_new_for_uri("computer:///"); FmPath* path = fm_path_new_for_uri("computer:///");
chdir(path); chdir(path);
@ -475,6 +497,16 @@ void MainWindow::onTabBarTabMoved(int from, int to) {
} }
} }
void MainWindow::onFilterStringChanged(QString str) {
if(TabPage* tabPage = currentPage()) {
// appy filter only if needed (not if tab is changed)
if(str != tabPage->getFilterStr()) {
tabPage->setFilterStr(str);
tabPage->applyFilter();
}
}
}
void MainWindow::closeTab(int index) { void MainWindow::closeTab(int index) {
QWidget* page = ui.stackedWidget->widget(index); QWidget* page = ui.stackedWidget->widget(index);
if(page) { if(page) {
@ -514,6 +546,8 @@ void MainWindow::closeEvent(QCloseEvent *event)
void MainWindow::onTabBarCurrentChanged(int index) { void MainWindow::onTabBarCurrentChanged(int index) {
ui.stackedWidget->setCurrentIndex(index); ui.stackedWidget->setCurrentIndex(index);
if(TabPage* page = static_cast<TabPage*>(ui.stackedWidget->widget(index)))
ui.filterBar->setText(page->getFilterStr());
updateUIForCurrentPage(); updateUIForCurrentPage();
} }
@ -603,7 +637,6 @@ void MainWindow::updateUIForCurrentPage() {
} }
} }
void MainWindow::onStackedWidgetWidgetRemoved(int index) { void MainWindow::onStackedWidgetWidgetRemoved(int index) {
// qDebug("onStackedWidgetWidgetRemoved: %d", index); // qDebug("onStackedWidgetWidgetRemoved: %d", index);
// need to remove associated tab from tabBar // need to remove associated tab from tabBar
@ -861,6 +894,7 @@ void MainWindow::onBackForwardContextMenu(QPoint pos) {
QAction* selectedAction = menu.exec(btn->mapToGlobal(pos)); QAction* selectedAction = menu.exec(btn->mapToGlobal(pos));
if(selectedAction) { if(selectedAction) {
int index = menu.actions().indexOf(selectedAction); int index = menu.actions().indexOf(selectedAction);
ui.filterBar->clear();
page->jumpToHistory(index); page->jumpToHistory(index);
updateUIForCurrentPage(); updateUIForCurrentPage();
} }
@ -949,6 +983,25 @@ void MainWindow::on_actionOpenAsRoot_triggered() {
} }
} }
void MainWindow::on_actionFindFiles_triggered() {
Application* app = static_cast<Application*>(qApp);
FmPathList* selectedPaths = currentPage()->selectedFilePaths();
QStringList paths;
if(selectedPaths) {
for(GList* l = fm_path_list_peek_head_link(selectedPaths); l; l = l->next) {
// FIXME: is it ok to use display name here?
// This might be broken on filesystems with non-UTF-8 filenames.
Fm::Path path(FM_PATH(l->data));
paths.append(path.displayName(false));
}
fm_path_list_unref(selectedPaths);
}
else {
paths.append(currentPage()->pathName());
}
app->findFiles(paths);
}
void MainWindow::on_actionOpenTerminal_triggered() { void MainWindow::on_actionOpenTerminal_triggered() {
TabPage* page = currentPage(); TabPage* page = currentPage();
if(page) { if(page) {

@ -98,6 +98,7 @@ protected Q_SLOTS:
void on_actionDescending_triggered(bool checked); void on_actionDescending_triggered(bool checked);
void on_actionFolderFirst_triggered(bool checked); void on_actionFolderFirst_triggered(bool checked);
void on_actionCaseSensitive_triggered(bool checked); void on_actionCaseSensitive_triggered(bool checked);
void on_actionFilter_triggered(bool checked);
void on_actionApplications_triggered(); void on_actionApplications_triggered();
void on_actionComputer_triggered(); void on_actionComputer_triggered();
@ -109,6 +110,7 @@ protected Q_SLOTS:
void on_actionOpenTerminal_triggered(); void on_actionOpenTerminal_triggered();
void on_actionOpenAsRoot_triggered(); void on_actionOpenAsRoot_triggered();
void on_actionFindFiles_triggered();
void on_actionAbout_triggered(); void on_actionAbout_triggered();
@ -118,6 +120,8 @@ protected Q_SLOTS:
void onTabBarCurrentChanged(int index); void onTabBarCurrentChanged(int index);
void onTabBarTabMoved(int from, int to); void onTabBarTabMoved(int from, int to);
void onFilterStringChanged(QString str);
void onShortcutPrevTab(); void onShortcutPrevTab();
void onShortcutNextTab(); void onShortcutNextTab();
void onShortcutJumpToTab(); void onShortcutJumpToTab();

@ -84,6 +84,7 @@ Settings::Settings():
sortOrder_(Qt::AscendingOrder), sortOrder_(Qt::AscendingOrder),
sortColumn_(Fm::FolderModel::ColumnFileName), sortColumn_(Fm::FolderModel::ColumnFileName),
sortFolderFirst_(true), sortFolderFirst_(true),
showFilter_(false),
// settings for use with libfm // settings for use with libfm
singleClick_(false), singleClick_(false),
autoSelectionDelay_(600), autoSelectionDelay_(600),
@ -210,6 +211,7 @@ bool Settings::loadFile(QString filePath) {
sortOrder_ = sortOrderFromString(settings.value("SortOrder").toString()); sortOrder_ = sortOrderFromString(settings.value("SortOrder").toString());
sortColumn_ = sortColumnFromString(settings.value("SortColumn").toString()); sortColumn_ = sortColumnFromString(settings.value("SortColumn").toString());
sortFolderFirst_ = settings.value("SortFolderFirst", true).toBool(); sortFolderFirst_ = settings.value("SortFolderFirst", true).toBool();
showFilter_ = settings.value("ShowFilter", false).toBool();
setBackupAsHidden(settings.value("BackupAsHidden", false).toBool()); setBackupAsHidden(settings.value("BackupAsHidden", false).toBool());
showFullNames_ = settings.value("ShowFullNames", false).toBool(); showFullNames_ = settings.value("ShowFullNames", false).toBool();
@ -300,6 +302,7 @@ bool Settings::saveFile(QString filePath) {
settings.setValue("SortOrder", sortOrderToString(sortOrder_)); settings.setValue("SortOrder", sortOrderToString(sortOrder_));
settings.setValue("SortColumn", sortColumnToString(sortColumn_)); settings.setValue("SortColumn", sortColumnToString(sortColumn_));
settings.setValue("SortFolderFirst", sortFolderFirst_); settings.setValue("SortFolderFirst", sortFolderFirst_);
settings.setValue("ShowFilter", showFilter_);
settings.setValue("BackupAsHidden", backupAsHidden_); settings.setValue("BackupAsHidden", backupAsHidden_);
settings.setValue("ShowFullNames", showFullNames_); settings.setValue("ShowFullNames", showFullNames_);

@ -346,6 +346,14 @@ public:
sortFolderFirst_ = folderFirst; sortFolderFirst_ = folderFirst;
} }
bool showFilter() const {
return showFilter_;
}
void setShowFilter(bool value) {
showFilter_ = value;
}
// settings for use with libfm // settings for use with libfm
bool singleClick() const { bool singleClick() const {
return singleClick_; return singleClick_;
@ -572,6 +580,7 @@ private:
Qt::SortOrder sortOrder_; Qt::SortOrder sortOrder_;
Fm::FolderModel::ColumnId sortColumn_; Fm::FolderModel::ColumnId sortColumn_;
bool sortFolderFirst_; bool sortFolderFirst_;
bool showFilter_;
// settings for use with libfm // settings for use with libfm
bool singleClick_; bool singleClick_;

@ -31,11 +31,42 @@
#include "application.h" #include "application.h"
#include "cachedfoldermodel.h" #include "cachedfoldermodel.h"
#include <QTimer> #include <QTimer>
#include <QTextStream>
using namespace Fm; using namespace Fm;
namespace PCManFM { namespace PCManFM {
bool ProxyFilter::filterAcceptsRow(const Fm::ProxyFolderModel* model, FmFileInfo* info) const {
if(!model || !info)
return true;
QString baseName(fm_file_info_get_name(info));
if(!virtHiddenList_.isEmpty() && !model->showHidden() && virtHiddenList_.contains(baseName))
return false;
if(!filterStr_.isEmpty() && !baseName.contains(filterStr_, Qt::CaseInsensitive))
return false;
return true;
}
void ProxyFilter::setVirtHidden(FmFolder* folder) {
virtHiddenList_ = QStringList(); // reset the list
if(!folder) return;
if(FmPath* path = fm_folder_get_path(folder)) {
char* pathStr = fm_path_to_str(path);
if(pathStr) {
QString dotHidden = QString(pathStr) + QString("/.hidden");
g_free(pathStr);
QFile file(dotHidden);
if(file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&file);
while(!in.atEnd())
virtHiddenList_.append(in.readLine());
file.close();
}
}
}
}
TabPage::TabPage(FmPath* path, QWidget* parent): TabPage::TabPage(FmPath* path, QWidget* parent):
QWidget(parent), QWidget(parent),
folder_(NULL), folder_(NULL),
@ -57,8 +88,11 @@ TabPage::TabPage(FmPath* path, QWidget* parent):
// newView->setColumnWidth(Fm::FolderModel::ColumnName, 200); // newView->setColumnWidth(Fm::FolderModel::ColumnName, 200);
connect(folderView_, &View::openDirRequested, this, &TabPage::onOpenDirRequested); connect(folderView_, &View::openDirRequested, this, &TabPage::onOpenDirRequested);
connect(folderView_, &View::selChanged, this, &TabPage::onSelChanged); connect(folderView_, &View::selChanged, this, &TabPage::onSelChanged);
connect(folderView_, &View::clickedBack, this, &TabPage::backward); connect(folderView_, &View::clickedBack, this, &TabPage::backwardRequested);
connect(folderView_, &View::clickedForward, this, &TabPage::forward); connect(folderView_, &View::clickedForward, this, &TabPage::forwardRequested);
proxyFilter_ = new ProxyFilter();
proxyModel_->addFilter(proxyFilter_);
// FIXME: this is very dirty // FIXME: this is very dirty
folderView_->setModel(proxyModel_); folderView_->setModel(proxyModel_);
@ -68,8 +102,9 @@ TabPage::TabPage(FmPath* path, QWidget* parent):
} }
TabPage::~TabPage() { TabPage::~TabPage() {
qDebug("delete TabPage");
freeFolder(); freeFolder();
if(proxyFilter_)
delete proxyFilter_;
if(proxyModel_) if(proxyModel_)
delete proxyModel_; delete proxyModel_;
if(folderModel_) if(folderModel_)
@ -103,7 +138,6 @@ void TabPage::freeFolder() {
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
pThis->overrideCursor_ = true; pThis->overrideCursor_ = true;
} }
qDebug("start-loading");
#if 0 #if 0
#if FM_CHECK_VERSION(1, 0, 2) && 0 // disabled #if FM_CHECK_VERSION(1, 0, 2) && 0 // disabled
if(fm_folder_is_incremental(_folder)) { if(fm_folder_is_incremental(_folder)) {
@ -174,7 +208,6 @@ void TabPage::restoreScrollPos() {
QApplication::restoreOverrideCursor(); // remove busy cursor QApplication::restoreOverrideCursor(); // remove busy cursor
pThis->overrideCursor_ = false; pThis->overrideCursor_ = false;
} }
qDebug("finish-loading");
// After finishing loading the folder, the model is updated, but Qt delays the UI update // After finishing loading the folder, the model is updated, but Qt delays the UI update
// for performance reasons. Therefore at this point the UI is not up to date. // for performance reasons. Therefore at this point the UI is not up to date.
@ -319,6 +352,11 @@ void TabPage::chdir(FmPath* newPath, bool addHistory) {
g_free(disp_name); g_free(disp_name);
folder_ = fm_folder_from_path(newPath); folder_ = fm_folder_from_path(newPath);
proxyFilter_->setVirtHidden(folder_);
if(addHistory) {
// add current path to browse history
history_.add(path());
}
g_signal_connect(folder_, "start-loading", G_CALLBACK(onFolderStartLoading), this); g_signal_connect(folder_, "start-loading", G_CALLBACK(onFolderStartLoading), this);
g_signal_connect(folder_, "finish-loading", G_CALLBACK(onFolderFinishLoading), this); g_signal_connect(folder_, "finish-loading", G_CALLBACK(onFolderFinishLoading), this);
g_signal_connect(folder_, "error", G_CALLBACK(onFolderError), this); g_signal_connect(folder_, "error", G_CALLBACK(onFolderError), this);
@ -342,11 +380,6 @@ void TabPage::chdir(FmPath* newPath, bool addHistory) {
} }
else else
onFolderStartLoading(folder_, this); onFolderStartLoading(folder_, this);
if(addHistory) {
// add current path to browse history
history_.add(path());
}
} }
void TabPage::selectAll() { void TabPage::selectAll() {
@ -473,4 +506,19 @@ void TabPage::updateFromSettings(Settings& settings) {
folderView_->updateFromSettings(settings); folderView_->updateFromSettings(settings);
} }
void TabPage::setShowHidden(bool showHidden) {
if(!proxyModel_ || showHidden == proxyModel_->showHidden())
return;
proxyModel_->setShowHidden(showHidden);
statusText_[StatusTextNormal] = formatStatusText();
Q_EMIT statusChanged(StatusTextNormal, statusText_[StatusTextNormal]);
}
void TabPage:: applyFilter() {
if(!proxyModel_) return;
proxyModel_->updateFilters();
statusText_[StatusTextNormal] = formatStatusText();
Q_EMIT statusChanged(StatusTextNormal, statusText_[StatusTextNormal]);
}
}; };

@ -40,6 +40,23 @@ namespace PCManFM {
class Settings; class Settings;
class Launcher; class Launcher;
class ProxyFilter : public Fm::ProxyFolderModelFilter {
public:
bool filterAcceptsRow(const Fm::ProxyFolderModel* model, FmFileInfo* info) const;
virtual ~ProxyFilter() {}
void setVirtHidden(FmFolder* folder);
QString getFilterStr() {
return filterStr_;
}
void setFilterStr(QString str) {
filterStr_ = str;
}
private:
QString filterStr_;
QStringList virtHiddenList_;
};
class TabPage : public QWidget { class TabPage : public QWidget {
Q_OBJECT Q_OBJECT
@ -98,9 +115,7 @@ public:
return proxyModel_->showHidden(); return proxyModel_->showHidden();
} }
void setShowHidden(bool showHidden) { void setShowHidden(bool showHidden);
proxyModel_->setShowHidden(showHidden);
}
FmPath* path() { FmPath* path() {
return folder_ ? fm_folder_get_path(folder_) : NULL; return folder_ ? fm_folder_get_path(folder_) : NULL;
@ -137,9 +152,11 @@ public:
void invertSelection(); void invertSelection();
void reload() { void reload() {
if(folder_) if(folder_) {
proxyFilter_->setVirtHidden(folder_); // reread ".hidden"
fm_folder_reload(folder_); fm_folder_reload(folder_);
} }
}
QString title() const { QString title() const {
return title_; return title_;
@ -177,11 +194,26 @@ public:
return folderView_->fileLauncher(); return folderView_->fileLauncher();
} }
QString getFilterStr() {
if(proxyFilter_)
return proxyFilter_->getFilterStr();
return QString();
}
void setFilterStr(QString str) {
if(proxyFilter_)
proxyFilter_->setFilterStr(str);
}
void applyFilter();
Q_SIGNALS: Q_SIGNALS:
void statusChanged(int type, QString statusText); void statusChanged(int type, QString statusText);
void titleChanged(QString title); void titleChanged(QString title);
void openDirRequested(FmPath* path, int target); void openDirRequested(FmPath* path, int target);
void sortFilterChanged(); void sortFilterChanged();
void forwardRequested();
void backwardRequested();
protected Q_SLOTS: protected Q_SLOTS:
void onOpenDirRequested(FmPath* path, int target); void onOpenDirRequested(FmPath* path, int target);
@ -205,6 +237,7 @@ private:
View* folderView_; View* folderView_;
Fm::CachedFolderModel* folderModel_; Fm::CachedFolderModel* folderModel_;
Fm::ProxyFolderModel* proxyModel_; Fm::ProxyFolderModel* proxyModel_;
ProxyFilter* proxyFilter_;
QVBoxLayout* verticalLayout; QVBoxLayout* verticalLayout;
FmFolder* folder_; FmFolder* folder_;
QString title_; QString title_;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save