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)
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 ${PCMANFM_QT_VERSION_MAJOR}.${PCMANFM_QT_VERSION_MINOR}.${PCMANFM_QT_VERSION_PATCH})
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 ${LIBFM_QT_VERSION_MAJOR}.${LIBFM_QT_VERSION_MINOR}.${LIBFM_QT_VERSION_PATCH})
@ -90,7 +90,7 @@ endif()
# make package_source
include(InstallRequiredSystemLibraries)
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_VERSION_MAJOR ${PCMANFM_QT_VERSION_MAJOR})
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

12
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
* Menufile deleted
@ -12,7 +22,7 @@ pcmanfm-qt (0.9.0+20150908-1) unstable; urgency=medium
* Cherry-picked upstream version 0.9.0+20150908.
* Tar-ignore .gitignore
* Fixed control with cme fix
* Added upstream signing-key and use it in watch file
* Added upstream signing-key and use it in watch file
* Removed automoc build dependency - not needed with Qt5
* Fixed symbols for i386 and amd64

8
debian/control vendored

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

2
debian/docs vendored

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

6
debian/gbp.conf vendored

@ -1,2 +1,8 @@
[DEFAULT]
debian-branch = debian/sid
upstream-branch = upstream/latest
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#
(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(QWidget*)@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::BrowseHistory::add(_FmPath*, int)@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::canBackward() 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
@ -99,10 +95,8 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(c++)"Fm::DirTreeModelItem::addPlaceHolderChild()@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::~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::freeFolder()@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::error(_GAppLaunchContext*, _GError*, _FmPath*)@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::funcs@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
@ -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::~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*, 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::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_metacast(char const*)@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::~FolderItemDelegate()@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::findItemByPath(_FmPath*, int*)@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::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::insertFiles(int, _FmFileInfoList*)@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(_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::FolderModel::itemFromIndex(QModelIndex const&) const@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::iconFromNames(char const* const*)@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::instance()@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
@ -446,13 +441,9 @@ libfm-qt5.so.2 libfm-qt5-2 #MINVER#
(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(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(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::setIcon(_FmIcon*)@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::onEjectVolume()@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::onMoveBookmarkDown()@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::sort(int, Qt::SortOrder)@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::metaObject() const@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::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::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::FolderView::~FolderView()@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::FileOperationDialog@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::FolderMenu@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::FileOperationDialog@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::FolderMenu@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::FileOperationDialog@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::FolderMenu@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::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 = pcmanfm-qt.kdev4

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

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

@ -62,6 +62,19 @@ void FileMenu::createMenu(FmFileInfoList* files, FmFileInfo* info, FmPath* cwd)
confirmDelete_ = true;
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);
info_ = info ? fm_file_info_ref(info) : NULL;
cwd_ = cwd ? fm_path_ref(cwd) : NULL;
@ -346,8 +359,10 @@ void FileMenu::onRenameTriggered() {
void FileMenu::setUseTrash(bool trash) {
if(useTrash_ != trash) {
useTrash_ = trash;
deleteAction_->setText(useTrash_ ? tr("&Move to Trash") : tr("&Delete"));
deleteAction_->setIcon(useTrash_ ? QIcon::fromTheme("user-trash") : QIcon::fromTheme("edit-delete"));
if(deleteAction_) {
deleteAction_->setText(useTrash_ ? tr("&Move to Trash") : tr("&Delete"));
deleteAction_->setIcon(useTrash_ ? QIcon::fromTheme("user-trash") : QIcon::fromTheme("edit-delete"));
}
}
}

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

@ -188,6 +188,12 @@ public:
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) {
if(data_)
fm_path_unref(data_);

@ -49,7 +49,7 @@ PlacesView::PlacesView(QWidget* parent):
QHeaderView* headerView = header();
headerView->setSectionResizeMode(0, QHeaderView::Stretch);
headerView->setSectionResizeMode(1, QHeaderView::ResizeToContents);
headerView->setSectionResizeMode(1, QHeaderView::Fixed);
headerView->setStretchLastSection(false);
expandAll();
@ -64,6 +64,12 @@ PlacesView::PlacesView(QWidget* parent):
setAcceptDrops(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() {
@ -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) {
// The eject button is clicked for a device item (volume or mount)
if(item->type() == PlacesModelItem::Volume) {
@ -147,6 +157,8 @@ void PlacesView::onClicked(const QModelIndex& index) {
onEjectButtonClicked(item);
}
}
else
activateRow(0, index.sibling(index.row(), 0));
}
}
@ -322,6 +334,8 @@ void PlacesView::onEjectVolume() {
void PlacesView::contextMenuEvent(QContextMenuEvent* event) {
QModelIndex index = indexAt(event->pos());
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);
QAction* action;
PlacesModelItem* item = static_cast<PlacesModelItem*>(model_->itemFromIndex(index));

@ -51,12 +51,22 @@ public:
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:
void chdirRequested(int type, FmPath* path);
protected Q_SLOTS:
void onClicked(const QModelIndex & index);
void onPressed(const QModelIndex & index);
void onIconSizeChanged(const QSize & size);
// void onMountOperationFinished(GError* error);
void onOpenNewTab();

@ -118,6 +118,12 @@ bool ProxyFolderModel::lessThan(const QModelIndex& left, const QModelIndex& righ
FmFileInfo* leftInfo = srcModel->fileInfoFromIndex(left);
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_) {
bool leftIsFolder = (bool)fm_file_info_is_dir(leftInfo);
bool rightIsFolder = (bool)fm_file_info_is_dir(rightInfo);
@ -248,6 +254,10 @@ void ProxyFolderModel::removeFilter(ProxyFolderModelFilter* filter) {
Q_EMIT sortFilterChanged();
}
void ProxyFolderModel::updateFilters() {
invalidate();
Q_EMIT sortFilterChanged();
}
#if 0
void ProxyFolderModel::reloadAllThumbnails() {

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

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

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

@ -391,83 +391,83 @@ What do you want to do with it?</source>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation type="unfinished"></translation>
</message>
@ -628,6 +628,24 @@ Do you want to delete them instead?</source>
<translation type="unfinished"></translation>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -806,53 +824,53 @@ Do you want to delete them instead?</source>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation type="unfinished"></translation>
</message>
@ -894,23 +912,23 @@ Modified: %3</source>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation type="unfinished"></translation>
</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>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation type="unfinished"></translation>
</message>
@ -976,10 +994,10 @@ Modified: %3</source>
<translation type="unfinished"></translation>
</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="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
@ -1067,4 +1085,181 @@ Modified: %3</source>
<translation type="unfinished"></translation>
</message>
</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>

@ -391,83 +391,83 @@ What do you want to do with it?</source>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
@ -628,6 +628,24 @@ Do you want to delete them instead?</source>
<translation type="unfinished"></translation>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -806,53 +824,53 @@ Do you want to delete them instead?</source>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation type="unfinished"></translation>
</message>
@ -894,23 +912,23 @@ Modified: %3</source>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation type="unfinished"></translation>
</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>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation type="unfinished"></translation>
</message>
@ -966,10 +984,10 @@ Modified: %3</source>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
@ -1067,4 +1085,181 @@ Modified: %3</source>
<translation type="unfinished"></translation>
</message>
</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>

File diff suppressed because it is too large Load Diff

@ -398,83 +398,83 @@ Was möchten Sie damit tun?</translation>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Öffnen</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation>&amp;Neu erstellen</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation>Wiede&amp;rherstellen</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Ausschneiden</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Kopieren</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Einfügen</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>In den &amp;Papierkorb verschieben</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation>Ausgabe</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Löschen</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Umbenennen</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation>Öffnen mit...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation>Andere Anwendungen</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Entpacken nach...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Hier entpacken</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Komprimieren</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Eigenschaften</translation>
</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>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -822,7 +840,7 @@ Sollen die Dateien stattdessen gelöscht werden?</translation>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation>Papierkorb leeren</translation>
</message>
@ -835,48 +853,48 @@ Sollen die Dateien stattdessen gelöscht werden?</translation>
<translation type="vanished">Löschen</translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation>Öffnen in neuem Tab</translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation>Öffnen in neuem Fenster</translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation>Nach oben verschieben</translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation>Nach unten verschieben</translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation>Lesezeichen umbenennen</translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation>Lesezeichen entfernen</translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Aushängen</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Einhängen</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Auswerfen</translation>
</message>
@ -922,23 +940,23 @@ Geändert: %3</translation>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation>Orte</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation>Verzeichnisbaum</translation>
</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>
<translation>Zeigt eine Liste diverser Orte, Geräte und Lesezeichen in der Seitenleiste</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation>Zeigt einen Verzeichnisbaum in der Seitenleiste</translation>
</message>
@ -994,10 +1012,10 @@ Geändert: %3</translation>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
@ -1095,4 +1113,181 @@ Geändert: %3</translation>
<translation>Diese Aktion auf alle existierenden Dateien anwenden</translation>
</message>
</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>

@ -305,6 +305,19 @@
<translation>Επιλέξτε μια εφαρμογή για το άνοιγμα των αρχείων «%1»</translation>
</message>
</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>
<name>Fm::DirTreeModel</name>
<message>
@ -318,6 +331,24 @@
<translation>&lt;No sub folders&gt;</translation>
</message>
</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>
<name>Fm::DndActionMenu</name>
<message>
@ -367,78 +398,83 @@ What do you want to do with it?</source>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="78"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Άνοιγμα</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="82"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation>Άνοιγμα με...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="110"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation>Άλλες εφαρμογές</translation>
</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>
<translation>&amp;Επαναφορά</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="134"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Αποκοπή</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Αντιγραφή</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="142"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Επικόλληση</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="146"/>
<location filename="../filemenu.cpp" line="339"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>&amp;Μετακίνηση στα απορρίμματα</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="150"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Μετονομασία</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="177"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Εξαγωγή σε...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="182"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Εξαγωγή εδώ</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="188"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Συμπίεση</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Ιδιότητες</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="289"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation>Έξοδος</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="339"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Διαγραφή</translation>
</message>
@ -600,10 +636,28 @@ Do you want to delete them instead?</source>
<translation>Θέλετε να εφαρμόσετε αναδρομικά αυτές τις αλλαγές σε όλα τα αρχεία και υποφακέλους;</translation>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
<location filename="../foldermenu.cpp" line="36"/>
<location filename="../foldermenu.cpp" line="37"/>
<source>Create &amp;New</source>
<translation>Δημιουργία &amp;νέου</translation>
</message>
@ -638,57 +692,55 @@ Do you want to delete them instead?</source>
<translation>Ι&amp;διότητες του φακέλου</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="85"/>
<source>Folder</source>
<translation>Φάκελος</translation>
<translation type="vanished">Φάκελος</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="89"/>
<source>Blank File</source>
<translation>Κενό αρχείο</translation>
<translation type="vanished">Κενό αρχείο</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="133"/>
<location filename="../foldermenu.cpp" line="99"/>
<source>By File Name</source>
<translation>Ανά όνομα αρχείου</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="134"/>
<location filename="../foldermenu.cpp" line="100"/>
<source>By Modification Time</source>
<translation>Ανά χρόνο τροποποίησης</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="135"/>
<location filename="../foldermenu.cpp" line="101"/>
<source>By File Size</source>
<translation>Ανά μέγεθος αρχείου</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="136"/>
<location filename="../foldermenu.cpp" line="102"/>
<source>By File Type</source>
<translation>Ανά τύπο αρχείου</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="137"/>
<location filename="../foldermenu.cpp" line="103"/>
<source>By File Owner</source>
<translation>Ανά ιδιοκτήτη αρχείου</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="149"/>
<location filename="../foldermenu.cpp" line="115"/>
<source>Ascending</source>
<translation>Αύξουσα</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="154"/>
<location filename="../foldermenu.cpp" line="120"/>
<source>Descending</source>
<translation>Φθίνουσα</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="169"/>
<location filename="../foldermenu.cpp" line="135"/>
<source>Folder First</source>
<translation>Οι φάκελοι πρώτα</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="178"/>
<location filename="../foldermenu.cpp" line="144"/>
<source>Case Sensitive</source>
<translation>Διάκριση πεζών/κεφαλαίων</translation>
</message>
@ -788,53 +840,53 @@ Do you want to delete them instead?</source>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation>Άνοιγμα σε νέα καρτέλα</translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation>Άνοιγμα σε νέο παράθυρο</translation>
</message>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation>Άδειασμα των απορριμμάτων</translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation>Μετακίνηση του σελιδοδείκτη προς τα πάνω</translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation>Μετακίνηση του σελιδοδείκτη προς τα κάτω</translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation>Μετονομασία σελιδοδείκτη</translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation>Αφαίρεση σελιδοδείκτη</translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Αποπροσάρτηση</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Προσάρτηση</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Εξαγωγή</translation>
</message>
@ -879,24 +931,24 @@ Modified: %3</source>
<context>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="46"/>
<location filename="../sidepane.cpp" line="125"/>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation>Τοποθεσίες</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="127"/>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation>Δέντρο καταλόγων</translation>
</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>
<translation>Εμφανίζει τη λίστα με τις κοινές τοποθεσίες, συσκευές, και σελιδοδείκτες στην πλευρική στήλη</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="137"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation>Εμφανίζει ένα δέντρο των καταλόγων στην πλευρική στήλη</translation>
</message>
@ -965,7 +1017,7 @@ Modified: %3</source>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="109"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Σφάλμα</translation>
</message>
@ -1053,4 +1105,181 @@ Modified: %3</source>
<translation>Εφαρμογή της επιλογής σε όλα τα υπάρχοντα αρχεία</translation>
</message>
</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>

@ -398,83 +398,83 @@ What do you want to do with it?</source>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Abrir</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation>Abrir con...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation>Otras Aplicaciones</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished">Crear &amp;Nuevo</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation>&amp;Restaurar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Cortar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Pegar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>&amp;Mover a la Papelera</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Renombrar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Extraer en...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Extraer aquí</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Comprimir</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Propiedades</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation>Salida</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Borrar</translation>
</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>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -822,7 +840,7 @@ Do you want to delete them instead?</source>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation>Vaciar Papelera</translation>
</message>
@ -835,48 +853,48 @@ Do you want to delete them instead?</source>
<translation type="vanished">Borrar</translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Desmontar</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Montar</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Expulsar</translation>
</message>
@ -922,23 +940,23 @@ Modificado: %3</translation>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation>Lugares</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation>Árbol de Directorios</translation>
</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>
<translation>Muestra lista de lugares comunes, dispositivos y marcadores en la barra lateral</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation>Muestra árbol de directorios en barra lateral</translation>
</message>
@ -994,10 +1012,10 @@ Modificado: %3</translation>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Error</translation>
</message>
@ -1095,4 +1113,181 @@ Modificado: %3</translation>
<translation>Aplicar esta opción a todos los archivos</translation>
</message>
</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>

@ -391,7 +391,7 @@ What do you want to do with it?</source>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
@ -400,78 +400,78 @@ What do you want to do with it?</source>
<translation type="vanished">OpenWith</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Couper</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Copier</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Coller</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>&amp;Mettre à la corbeille</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Supprimer</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Renommer</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished">Créer un &amp;nouveau</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Extraire vers...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Extraire ici</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Compresser</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Propriétés</translation>
</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>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -819,7 +837,7 @@ Voulez-vous plutôt les supprimer ?</translation>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation type="unfinished"></translation>
</message>
@ -832,48 +850,48 @@ Voulez-vous plutôt les supprimer ?</translation>
<translation type="vanished">Supprimer</translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Démonter</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Monter</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Éjecter</translation>
</message>
@ -919,23 +937,23 @@ Modification : %3</translation>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation type="unfinished">Emplacements</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation type="unfinished"></translation>
</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>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation type="unfinished"></translation>
</message>
@ -991,10 +1009,10 @@ Modification : %3</translation>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
@ -1092,4 +1110,181 @@ Modification : %3</translation>
<translation>Appliquer cette option à tous les fichiers existants</translation>
</message>
</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>

@ -391,7 +391,7 @@ What do you want to do with it?</source>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Abrir</translation>
</message>
@ -400,78 +400,78 @@ What do you want to do with it?</source>
<translation type="vanished">Abrir con</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Cortar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Pegar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>Deitar no lixo</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Eliminar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Renomear</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished">Crear &amp;novo</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Extraer en</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Extraer aquí</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Comprimir</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Propiedades</translation>
</message>
@ -633,6 +633,24 @@ Desexa eliminalos no seu canto?</translation>
<translation>Quere aplicar recursivamente estes cambios a todos os ficheiros e subcartafoles?</translation>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -819,7 +837,7 @@ Desexa eliminalos no seu canto?</translation>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation type="unfinished"></translation>
</message>
@ -832,48 +850,48 @@ Desexa eliminalos no seu canto?</translation>
<translation type="vanished">Eliminar</translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Desmontar</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Montar</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Expulsar</translation>
</message>
@ -919,23 +937,23 @@ Modificado: %3</translation>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation type="unfinished">Lugares</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation type="unfinished"></translation>
</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>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation type="unfinished"></translation>
</message>
@ -991,10 +1009,10 @@ Modificado: %3</translation>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Erro</translation>
</message>
@ -1092,4 +1110,181 @@ Modificado: %3</translation>
<translation>Aplicar esta opción a todos os ficheiros existentes</translation>
</message>
</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>

@ -398,83 +398,83 @@ Mi legyen vele?</translation>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Nyit</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished">&amp;Új létrehozása</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation>&amp;Visszavon</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Kivág</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Másol</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Beilleszt</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>Kukába &amp;mozgat</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation>Kimenet</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Töröl</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Átnevez</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation>Megnyitás ezzel...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation>Más alkalmazások</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Kibontás...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Kibontás ide</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Csomagolás</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Tulajdonságok</translation>
</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>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -823,7 +841,7 @@ Töröljük őket véglegesen?</translation>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation>Kukaürítés</translation>
</message>
@ -836,48 +854,48 @@ Töröljük őket véglegesen?</translation>
<translation type="vanished">Töröl</translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Lecsatol</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Csatol</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Kidobat</translation>
</message>
@ -923,23 +941,23 @@ Módosítva: %3</translation>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation>Helyek</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation>Könyvtárfa</translation>
</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>
<translation>Általános helyek, eszközök és könyvjelzők listája az oldalsávban</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation>Könyvtárfa az oldalsávban</translation>
</message>
@ -995,10 +1013,10 @@ Módosítva: %3</translation>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Hiba</translation>
</message>
@ -1096,4 +1114,181 @@ Módosítva: %3</translation>
<translation>Az összes fájlra vonatkozzon mindez</translation>
</message>
</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>

@ -398,87 +398,87 @@ Cosa vuoi fare?</translation>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Apri</translation>
</message>
<message>
<source>OpenWith</source>
<translation>ApriCon</translation>
<translation type="vanished">ApriCon</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Taglia</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Copia</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Incolla</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>Cestin&amp;a</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation>Risultato</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Rimuovi</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Rinomina</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation>Apri con...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation>Altre applicazioni</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation>Crea &amp;nuovo</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation>&amp;Ripristina</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Estrai in...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Estrai qui</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Comprimi</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Proprietà</translation>
</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>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -679,11 +697,11 @@ Vuoi invece eliminarli?</translation>
</message>
<message>
<source>Folder</source>
<translation>Cartella</translation>
<translation type="vanished">Cartella</translation>
</message>
<message>
<source>File</source>
<translation>File</translation>
<translation type="vanished">File</translation>
</message>
<message>
<location filename="../foldermenu.cpp" line="99"/>
@ -826,61 +844,61 @@ Vuoi invece eliminarli?</translation>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation>Svuota cestino</translation>
</message>
<message>
<source>Rename</source>
<translation>Rinomina</translation>
<translation type="vanished">Rinomina</translation>
</message>
<message>
<source>Delete</source>
<translation>Rimuovi</translation>
<translation type="vanished">Rimuovi</translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation>Apri in una nuova scheda</translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation>Apri in una nuova finestra</translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation>Sposta segnalibro insù</translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation>Sposta segnalibro giù</translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation>Rinomina segnalibro</translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation>Rimuovi segnalibro</translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Smonta</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Monta</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Espelli</translation>
</message>
@ -926,23 +944,23 @@ Ultima modifica: %3</translation>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation>Luoghi</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation>Albero cartelle</translation>
</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>
<translation>Mostra lista di luoghi, dispositivi e segnalibri nel panello laterale</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation>Mostra albero delle cartelle nel panello laterale</translation>
</message>
@ -998,10 +1016,10 @@ Ultima modifica: %3</translation>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Errore</translation>
</message>
@ -1099,4 +1117,181 @@ Ultima modifica: %3</translation>
<translation>Applica questa opzione a tutti i file esistenti</translation>
</message>
</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>

@ -399,7 +399,7 @@ What do you want to do with it?</source>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation></translation>
</message>
@ -408,78 +408,78 @@ What do you want to do with it?</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>(&amp;M)</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>(&amp;D)</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished"> (&amp;N)</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation></translation>
</message>
@ -641,6 +641,24 @@ Do you want to delete them instead?</source>
<translation></translation>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -831,7 +849,7 @@ Do you want to delete them instead?</source>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation></translation>
</message>
@ -844,48 +862,48 @@ Do you want to delete them instead?</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation></translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation></translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation></translation>
</message>
@ -931,23 +949,23 @@ Modified: %3</source>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation></translation>
</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>
<translation></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation></translation>
</message>
@ -1003,10 +1021,10 @@ Modified: %3</source>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation></translation>
</message>
@ -1104,4 +1122,181 @@ Modified: %3</source>
<translation></translation>
</message>
</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>

@ -396,7 +396,7 @@ What do you want to do with it?</source>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Atverti</translation>
</message>
@ -405,78 +405,78 @@ What do you want to do with it?</source>
<translation type="obsolete">Atverti su</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Iškirpti</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Kopijuoti</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Įklijuoti</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>&amp;Perkelti į šiukšlinę</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Pašalinti</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Pervadinti</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished">&amp;Kurti naują</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Išskleisti į...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Išskleisti čia</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Archyvuoti</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Savybės</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation type="unfinished"></translation>
</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>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -837,53 +855,53 @@ Ar norite vietoje to juos pašalinti visam laikui?</translation>
<translation type="vanished">Šalinami failai</translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Atjungti</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Prijungti</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Išstumti</translation>
</message>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation type="unfinished"></translation>
</message>
@ -930,23 +948,23 @@ Keista: %2 {1
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation type="unfinished"></translation>
</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>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation type="unfinished"></translation>
</message>
@ -1002,10 +1020,10 @@ Keista: %2 {1
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Klaida</translation>
</message>
@ -1103,4 +1121,181 @@ Keista: %2 {1
<translation>Pritaikyti šią nuostatą visiems failams</translation>
</message>
</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>

@ -398,83 +398,83 @@ Co chcesz zrobić z tym plikiem?</translation>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Otwórz</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished">Utwórz &amp;nowy</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation>&amp;Przywróć</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Wytnij</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Kopiuj</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Wklej</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>Przenieś do &amp;kosza</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation>Wyjście</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Usuń</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Zmień nazwę</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation>Otwórz za pomocą...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation>Inny program</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Rozpakuj do...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Rozpakuj tutaj</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Skompresuj</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Właściwości</translation>
</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>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -822,7 +840,7 @@ Czy zamiast tego usunąć te pliki?</translation>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation>Opróżnij kosz</translation>
</message>
@ -835,48 +853,48 @@ Czy zamiast tego usunąć te pliki?</translation>
<translation type="vanished">Usuń</translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Odmontuj</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Montuj</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Wysuń</translation>
</message>
@ -922,23 +940,23 @@ Zmodyfikowany: %3</translation>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation>Położenia</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation>Drzewo katalogów</translation>
</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>
<translation>Pokazuje listę miejsc, urządzeń oraz zakładek w panelu bocznym</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation>Pokazuje drzewo katalogów w panelu bocznym</translation>
</message>
@ -994,10 +1012,10 @@ Zmodyfikowany: %3</translation>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Błąd</translation>
</message>
@ -1095,4 +1113,181 @@ Zmodyfikowany: %3</translation>
<translation>Zastosuj do wszystkich plików</translation>
</message>
</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>

@ -398,7 +398,7 @@ O que pretende fazer com o ficheiro?</translation>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Abrir</translation>
</message>
@ -407,78 +407,78 @@ O que pretende fazer com o ficheiro?</translation>
<translation type="obsolete">Abrir com</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Cortar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Colar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>&amp;Mover para o lixo</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation>Destino</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Eliminar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Mudar nome</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation>Abrir com...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation>Outras aplicações</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished">Criar &amp;novo(a)</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation>&amp;Restaurar</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Extrair para...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Extrair aqui</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Comprimir</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Propriedades</translation>
</message>
@ -640,6 +640,24 @@ Eliminar permanentemente?</translation>
<translation>Pretende aplicar as alterações a todos os ficheiros e subpastas?</translation>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -830,7 +848,7 @@ Eliminar permanentemente?</translation>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation>Esvaziar lixo</translation>
</message>
@ -843,48 +861,48 @@ Eliminar permanentemente?</translation>
<translation type="vanished">Eliminar</translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Desmontar</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Montar</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Ejetar</translation>
</message>
@ -930,23 +948,23 @@ Modificado: %3</translation>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation>Locais</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation>Árvore de diretórios</translation>
</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>
<translation>Mostra a lista de locais, dispositivos e marcadores na barra lateral</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation>Mostra a árvore de diretórios na barra lateral</translation>
</message>
@ -1002,10 +1020,10 @@ Modificado: %3</translation>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Erro</translation>
</message>
@ -1103,4 +1121,181 @@ Modificado: %3</translation>
<translation>Aplicar opção a todos os ficheiros existentes</translation>
</message>
</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>

@ -398,83 +398,83 @@ What do you want to do with it?</source>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Открыть</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation>Открыть с помощью...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation>Другие приложения</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation>&amp;Создать</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation>&amp;Восстановить</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Вырезать</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Копировать</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Вставить</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>&amp;Переместить в корзину</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Переименовать</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Распаковать в ...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Распаковать здесь</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Сжать</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Свойства</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation>Вывод</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Удалить</translation>
</message>
@ -636,6 +636,24 @@ Do you want to delete them instead?</source>
<translation>Применить изменения рекурсивно ко всем файлам и подпапкам?</translation>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -814,53 +832,53 @@ Do you want to delete them instead?</source>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation>Очистить корзину</translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation>Открыть в новой вкладке</translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation>Открыть в новом окне</translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation>Сдвинуть закладку вверх</translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation>Сдвинуть закладку вниз</translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation>Переименовать закладку</translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation>Удалить закладку</translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Отключить</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Подключить</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Извлечь</translation>
</message>
@ -906,23 +924,23 @@ Modified: %3</source>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation>Места</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation>Дерево папок</translation>
</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>
<translation>Показывает список обычных мест, устройств и закладок в боковой панели</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation>Показывает дерево папок в боковой панели</translation>
</message>
@ -978,10 +996,10 @@ Modified: %3</source>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
@ -1079,4 +1097,181 @@ Modified: %3</source>
<translation>Запомнить выбор для всех уже существующих файлов</translation>
</message>
</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>

@ -398,83 +398,83 @@ What do you want to do with it?</source>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation>Открыть</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation>Открыть с помощью...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation>Другие приложения</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation>&amp;Создать</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation>&amp;Восстановить</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation>Вырезать</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation>Копировать</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation>Вставить</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>&amp;Переместить в корзину</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation>Переименовать</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>Распаковать в ...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation>Распаковать здесь</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation>Сжать</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation>Свойства</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation>Вывод</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>&amp;Удалить</translation>
</message>
@ -636,6 +636,24 @@ Do you want to delete them instead?</source>
<translation>Применить изменения рекурсивно ко всем файлам и подпапкам?</translation>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -814,53 +832,53 @@ Do you want to delete them instead?</source>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation>Очистить корзину</translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation>Открыть в новой вкладке</translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation>Открыть в новом окне</translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation>Сдвинуть закладку вверх</translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation>Сдвинуть закладку вниз</translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation>Переименовать закладку</translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation>Удалить закладку</translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation>Отключить</translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation>Подключить</translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>Извлечь</translation>
</message>
@ -906,23 +924,23 @@ Modified: %3</source>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation>Места</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation>Дерево папок</translation>
</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>
<translation>Показывает список обычных мест, устройств и закладок в боковой панели</translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation>Показывает дерево папок в боковой панели</translation>
</message>
@ -978,10 +996,10 @@ Modified: %3</source>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
@ -1079,4 +1097,181 @@ Modified: %3</source>
<translation>Запомнить выбор для всех уже существующих файлов</translation>
</message>
</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>

@ -398,7 +398,7 @@ What do you want to do with it?</source>
<context>
<name>Fm::FileMenu</name>
<message>
<location filename="../filemenu.cpp" line="81"/>
<location filename="../filemenu.cpp" line="94"/>
<source>Open</source>
<translation></translation>
</message>
@ -407,53 +407,53 @@ What do you want to do with it?</source>
<translation type="obsolete"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="85"/>
<location filename="../filemenu.cpp" line="98"/>
<source>Open With...</source>
<translation>...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="113"/>
<location filename="../filemenu.cpp" line="126"/>
<source>Other Applications</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="119"/>
<location filename="../filemenu.cpp" line="132"/>
<source>Create &amp;New</source>
<translation type="unfinished">(&amp;N)</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="138"/>
<location filename="../filemenu.cpp" line="151"/>
<source>&amp;Restore</source>
<translation>(&amp;R)</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="144"/>
<location filename="../filemenu.cpp" line="157"/>
<source>Cut</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="148"/>
<location filename="../filemenu.cpp" line="161"/>
<source>Copy</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="152"/>
<location filename="../filemenu.cpp" line="165"/>
<source>Paste</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="156"/>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="169"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Move to Trash</source>
<translation>(&amp;M)</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="299"/>
<location filename="../filemenu.cpp" line="312"/>
<source>Output</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="349"/>
<location filename="../filemenu.cpp" line="363"/>
<source>&amp;Delete</source>
<translation>(&amp;D)</translation>
</message>
@ -462,27 +462,27 @@ What do you want to do with it?</source>
<translation type="obsolete"></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="160"/>
<location filename="../filemenu.cpp" line="173"/>
<source>Rename</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="187"/>
<location filename="../filemenu.cpp" line="200"/>
<source>Extract to...</source>
<translation>...</translation>
</message>
<message>
<location filename="../filemenu.cpp" line="192"/>
<location filename="../filemenu.cpp" line="205"/>
<source>Extract Here</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="198"/>
<location filename="../filemenu.cpp" line="211"/>
<source>Compress</source>
<translation></translation>
</message>
<message>
<location filename="../filemenu.cpp" line="208"/>
<location filename="../filemenu.cpp" line="221"/>
<source>Properties</source>
<translation></translation>
</message>
@ -644,6 +644,24 @@ Do you want to delete them instead?</source>
<translation>?</translation>
</message>
</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>
<name>Fm::FolderMenu</name>
<message>
@ -834,7 +852,7 @@ Do you want to delete them instead?</source>
<context>
<name>Fm::PlacesView</name>
<message>
<location filename="../placesview.cpp" line="343"/>
<location filename="../placesview.cpp" line="358"/>
<source>Empty Trash</source>
<translation></translation>
</message>
@ -847,48 +865,48 @@ Do you want to delete them instead?</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="331"/>
<location filename="../placesview.cpp" line="346"/>
<source>Open in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="334"/>
<location filename="../placesview.cpp" line="349"/>
<source>Open in New Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="352"/>
<location filename="../placesview.cpp" line="367"/>
<source>Move Bookmark Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="357"/>
<location filename="../placesview.cpp" line="372"/>
<source>Move Bookmark Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="361"/>
<location filename="../placesview.cpp" line="376"/>
<source>Rename Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="364"/>
<location filename="../placesview.cpp" line="379"/>
<source>Remove Bookmark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../placesview.cpp" line="373"/>
<location filename="../placesview.cpp" line="390"/>
<location filename="../placesview.cpp" line="388"/>
<location filename="../placesview.cpp" line="405"/>
<source>Unmount</source>
<translation></translation>
</message>
<message>
<location filename="../placesview.cpp" line="377"/>
<location filename="../placesview.cpp" line="392"/>
<source>Mount</source>
<translation></translation>
</message>
<message>
<location filename="../placesview.cpp" line="383"/>
<location filename="../placesview.cpp" line="398"/>
<source>Eject</source>
<translation>退</translation>
</message>
@ -934,23 +952,23 @@ Modified: %3</source>
<name>Fm::SidePane</name>
<message>
<location filename="../sidepane.cpp" line="47"/>
<location filename="../sidepane.cpp" line="126"/>
<location filename="../sidepane.cpp" line="127"/>
<source>Places</source>
<translation></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="48"/>
<location filename="../sidepane.cpp" line="128"/>
<location filename="../sidepane.cpp" line="129"/>
<source>Directory Tree</source>
<translation></translation>
</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>
<translation></translation>
</message>
<message>
<location filename="../sidepane.cpp" line="138"/>
<location filename="../sidepane.cpp" line="139"/>
<source>Shows tree of directories in sidebar</source>
<translation></translation>
</message>
@ -1006,10 +1024,10 @@ Modified: %3</source>
<context>
<name>QObject</name>
<message>
<location filename="../filelauncher.cpp" line="117"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../utilities.cpp" line="152"/>
<location filename="../utilities.cpp" line="228"/>
<location filename="../mountoperation.cpp" line="185"/>
<location filename="../filelauncher.cpp" line="117"/>
<source>Error</source>
<translation></translation>
</message>
@ -1107,4 +1125,181 @@ Modified: %3</source>
<translation></translation>
</message>
</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>

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

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

@ -42,12 +42,16 @@
#include "mountoperation.h"
#include "autorundialog.h"
#include "launcher.h"
#include "filesearchdialog.h"
#include <QScreen>
#include <QWindow>
#include <X11/Xlib.h>
#include "xdgdir.h"
#include <QFileSystemWatcher>
using namespace PCManFM;
static const char* serviceName = "org.pcmanfm.PCManFM";
static const char* ifaceName = "org.pcmanfm.Application";
@ -69,6 +73,8 @@ Application::Application(int& argc, char** argv):
enableDesktopManager_(false),
preferencesDialog_(),
volumeMonitor_(NULL),
userDirsWatcher_(NULL),
lxqtRunning_(false),
editBookmarksialog_() {
argc_ = argc;
@ -97,6 +103,21 @@ Application::Application(int& argc, char** argv):
QIcon::setThemeName(settings_.fallbackIconThemeName());
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 {
// an service of the same name is already registered.
@ -113,8 +134,23 @@ Application::~Application() {
g_object_unref(volumeMonitor_);
}
if(enableDesktopManager_)
removeNativeEventFilter(this);
// if(enableDesktopManager_)
// 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() {
@ -281,6 +317,32 @@ int Application::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() {
qDebug("aboutToQuit");
settings_.save();
@ -311,7 +373,7 @@ void Application::desktopManager(bool enabled) {
QDesktopWidget* desktopWidget = desktop();
if(enabled) {
if(!enableDesktopManager_) {
installNativeEventFilter(this);
// installNativeEventFilter(this);
Q_FOREACH(QScreen* screen, screens()) {
connect(screen, &QScreen::virtualGeometryChanged, this, &Application::onVirtualGeometryChanged);
connect(screen, &QObject::destroyed, this, &Application::onScreenDestroyed);
@ -352,7 +414,7 @@ void Application::desktopManager(bool enabled) {
disconnect(screen, &QObject::destroyed, this, &Application::onScreenDestroyed);
}
disconnect(this, &QApplication::screenAdded, this, &Application::onScreenAdded);
removeNativeEventFilter(this);
// removeNativeEventFilter(this);
}
}
enableDesktopManager_ = enabled;
@ -362,6 +424,9 @@ void Application::desktopPrefrences(QString page) {
// show desktop preference window
if(!desktopPreferencesDialog_) {
desktopPreferencesDialog_ = new DesktopPreferencesDialog();
// Should be used only one time
desktopPreferencesDialog_->setEditDesktopFolder(!lxqtRunning_);
}
desktopPreferencesDialog_.data()->selectPage(page);
desktopPreferencesDialog_.data()->show();
@ -369,9 +434,22 @@ void Application::desktopPrefrences(QString page) {
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) {
// TODO: add a file searching utility here.
qDebug("findFiles");
// launch file searching utility.
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) {
@ -635,17 +713,18 @@ void Application::onVolumeAdded(GVolumeMonitor* monitor, GVolume* volume, Applic
pThis->autoMountVolume(volume, true);
}
#if 0
bool Application::nativeEventFilter(const QByteArray & eventType, void * message, long * result) {
if(eventType == "xcb_generic_event_t") { // XCB event
// filter all native X11 events (xcb)
xcb_generic_event_t* generic_event = reinterpret_cast<xcb_generic_event_t*>(message);
// qDebug("XCB event: %d", generic_event->response_type & ~0x80);
Q_FOREACH(DesktopWindow * window, desktopWindows_) {
window->xcbEvent(generic_event);
}
}
return false;
}
#endif
void Application::onScreenAdded(QScreen* newScreen) {
if(enableDesktopManager_) {

@ -25,7 +25,6 @@
#include "settings.h"
#include "libfmqt.h"
#include "editbookmarksdialog.h"
#include <QAbstractNativeEventFilter>
#include <QVector>
#include <QPointer>
#include <QProxyStyle>
@ -35,6 +34,8 @@
class QScreen;
class QFileSystemWatcher;
namespace PCManFM {
class DesktopWindow;
@ -49,7 +50,7 @@ public:
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_PROPERTY(bool desktopManagerEnabled READ desktopManagerEnabled)
@ -75,7 +76,7 @@ public:
void desktopPrefrences(QString page);
void editBookmarks();
void desktopManager(bool enabled);
void findFiles(QStringList paths);
void findFiles(QStringList paths = QStringList());
bool desktopManagerEnabled() {
return enableDesktopManager_;
@ -91,8 +92,6 @@ public:
return profileName_;
}
virtual bool nativeEventFilter(const QByteArray & eventType, void * message, long * result);
protected Q_SLOTS:
void onAboutToQuit();
void onSigtermNotified();
@ -108,6 +107,8 @@ protected Q_SLOTS:
void onScreenAdded(QScreen* newScreen);
void reloadDesktopsAsNeeded();
void onFindFileAccepted();
protected:
virtual bool eventFilter(QObject* watched, QEvent* event);
bool parseCommandLineArgs();
@ -116,7 +117,11 @@ protected:
static void onVolumeAdded(GVolumeMonitor* monitor, GVolume* volume, Application* pThis);
private Q_SLOTS:
void onUserDirsChanged();
private:
void initWatch();
void installSigtermHandler();
bool isPrimaryInstance;
@ -132,6 +137,12 @@ private:
QTranslator translator;
QTranslator qtTranslator;
GVolumeMonitor* volumeMonitor_;
QFileSystemWatcher *userDirsWatcher_;
QString userDirsFile_;
QString userDesktopFolder_;
bool lxqtRunning_;
int argc_;
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>
<x>0</x>
<y>0</y>
<width>473</width>
<height>428</height>
<width>534</width>
<height>434</height>
</rect>
</property>
<property name="windowTitle">
@ -200,13 +200,26 @@
</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>10</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="advancedPage">
<attribute name="title">
<string>Advanced</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_3">
<layout class="QVBoxLayout" name="advancedPageLayout">
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
@ -223,42 +236,6 @@
</layout>
</widget>
</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>
<spacer name="verticalSpacer">
<property name="orientation">
@ -282,7 +259,7 @@
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>

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

@ -24,6 +24,8 @@
#include <QDialog>
#include "ui_desktop-preferences.h"
#include "ui_desktop-folder.h"
namespace PCManFM {
class DesktopPreferencesDialog : public QDialog {
@ -37,13 +39,26 @@ public:
void selectPage(QString name);
// Should only be used one time.
void setEditDesktopFolder(const bool enabled);
protected Q_SLOTS:
void onApplyClicked();
void onWallpaperModeChanged(int index);
void onBrowseClicked();
void onBrowseDesktopFolderClicked();
void applySettings();
private:
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);
}
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() {
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)
{
switch(event->type()) {
@ -721,6 +741,25 @@ bool DesktopWindow::eventFilter(QObject * watched, QEvent * event) {
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;
}
@ -749,6 +788,10 @@ void DesktopWindow::childDropEvent(QDropEvent* e) {
Fm::FolderView::childDropEvent(e);
}
void DesktopWindow::closeEvent(QCloseEvent *event) {
// prevent the desktop window from being closed.
event->ignore();
}
void DesktopWindow::setScreenNum(int num) {
if(screenNum_ != num) {

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

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

@ -20,7 +20,16 @@
</property>
<widget class="QWidget" name="centralwidget">
<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>
</property>
<item>
@ -49,13 +58,44 @@
</sizepolicy>
</property>
</widget>
<widget class="QStackedWidget" name="stackedWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<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">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</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>
</item>
@ -67,7 +107,7 @@
<x>0</x>
<y>0</y>
<width>460</width>
<height>27</height>
<height>23</height>
</rect>
</property>
<widget class="QMenu" name="menu_File">
@ -127,6 +167,7 @@
<addaction name="actionDetailedList"/>
<addaction name="separator"/>
<addaction name="menuSorting"/>
<addaction name="actionFilter"/>
</widget>
<widget class="QMenu" name="menu_Editw">
<property name="title">
@ -171,6 +212,7 @@
</property>
<addaction name="actionOpenTerminal"/>
<addaction name="actionOpenAsRoot"/>
<addaction name="actionFindFiles"/>
</widget>
<addaction name="menu_File"/>
<addaction name="menu_Editw"/>
@ -227,7 +269,7 @@
</iconset>
</property>
<property name="text">
<string>Home</string>
<string>&amp;Home</string>
</property>
<property name="shortcut">
<string>Alt+Home</string>
@ -447,7 +489,7 @@
<bool>true</bool>
</property>
<property name="text">
<string>Ascending</string>
<string>&amp;Ascending</string>
</property>
</action>
<action name="actionDescending">
@ -455,7 +497,7 @@
<bool>true</bool>
</property>
<property name="text">
<string>Descending</string>
<string>&amp;Descending</string>
</property>
</action>
<action name="actionByFileName">
@ -463,7 +505,7 @@
<bool>true</bool>
</property>
<property name="text">
<string>By File Name</string>
<string>&amp;By File Name</string>
</property>
</action>
<action name="actionByMTime">
@ -471,7 +513,7 @@
<bool>true</bool>
</property>
<property name="text">
<string>By Modification Time</string>
<string>By &amp;Modification Time</string>
</property>
</action>
<action name="actionByFileType">
@ -479,7 +521,7 @@
<bool>true</bool>
</property>
<property name="text">
<string>By File Type</string>
<string>By File &amp;Type</string>
</property>
</action>
<action name="actionByOwner">
@ -487,7 +529,7 @@
<bool>true</bool>
</property>
<property name="text">
<string>By Owner</string>
<string>By &amp;Owner</string>
</property>
</action>
<action name="actionFolderFirst">
@ -495,7 +537,7 @@
<bool>true</bool>
</property>
<property name="text">
<string>Folder First</string>
<string>&amp;Folder First</string>
</property>
</action>
<action name="actionNewTab">
@ -598,7 +640,7 @@
<bool>true</bool>
</property>
<property name="text">
<string>Case Sensitive</string>
<string>&amp;Case Sensitive</string>
</property>
</action>
<action name="actionByFileSize">
@ -606,12 +648,12 @@
<bool>true</bool>
</property>
<property name="text">
<string>By File Size</string>
<string>By File &amp;Size</string>
</property>
</action>
<action name="actionCloseWindow">
<property name="text">
<string>Close Window</string>
<string>&amp;Close Window</string>
</property>
</action>
<action name="actionEdit_Bookmarks">
@ -639,10 +681,12 @@
</action>
<action name="actionNewFolder">
<property name="icon">
<iconset theme="folder-new"/>
<iconset theme="folder-new">
<normaloff/>
</iconset>
</property>
<property name="text">
<string>Folder</string>
<string>&amp;Folder</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+N</string>
@ -650,15 +694,33 @@
</action>
<action name="actionNewBlankFile">
<property name="icon">
<iconset theme="document-new"/>
<iconset theme="document-new">
<normaloff/>
</iconset>
</property>
<property name="text">
<string>Blank File</string>
<string>&amp;Blank File</string>
</property>
<property name="shortcut">
<string>Ctrl+Alt+N</string>
</property>
</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>
<customwidgets>
<customwidget>

@ -96,6 +96,11 @@ MainWindow::MainWindow(FmPath* path):
connect(ui.tabBar, &QTabBar::tabMoved, this, &MainWindow::onTabBarTabMoved);
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
ui.sidePane->setIconSize(QSize(settings.sidePaneIconSize(), settings.sidePaneIconSize()));
ui.sidePane->setMode(settings.sidePaneMode());
@ -181,6 +186,12 @@ MainWindow::MainWindow(FmPath* path):
shortcut = new QShortcut(QKeySequence(Qt::SHIFT + Qt::Key_Delete), this);
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)
addTab(path);
@ -201,6 +212,7 @@ void MainWindow::chdir(FmPath* path) {
TabPage* page = currentPage();
if(page) {
ui.filterBar->clear();
page->chdir(path, true);
updateUIForCurrentPage();
}
@ -217,6 +229,8 @@ void MainWindow::addTab(FmPath* path) {
connect(newPage, &TabPage::statusChanged, this, &MainWindow::onTabPageStatusChanged);
connect(newPage, &TabPage::openDirRequested, this, &MainWindow::onTabPageOpenDirRequested);
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());
@ -237,6 +251,7 @@ void MainWindow::on_actionGoUp_triggered() {
TabPage* page = currentPage();
if(page) {
ui.filterBar->clear();
page->up();
updateUIForCurrentPage();
}
@ -246,6 +261,7 @@ void MainWindow::on_actionGoBack_triggered() {
TabPage* page = currentPage();
if(page) {
ui.filterBar->clear();
page->backward();
updateUIForCurrentPage();
}
@ -255,6 +271,7 @@ void MainWindow::on_actionGoForward_triggered() {
TabPage* page = currentPage();
if(page) {
ui.filterBar->clear();
page->forward();
updateUIForCurrentPage();
}
@ -381,6 +398,11 @@ void MainWindow::on_actionFolderFirst_triggered(bool 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() {
FmPath* path = fm_path_new_for_uri("computer:///");
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) {
QWidget* page = ui.stackedWidget->widget(index);
if(page) {
@ -514,6 +546,8 @@ void MainWindow::closeEvent(QCloseEvent *event)
void MainWindow::onTabBarCurrentChanged(int index) {
ui.stackedWidget->setCurrentIndex(index);
if(TabPage* page = static_cast<TabPage*>(ui.stackedWidget->widget(index)))
ui.filterBar->setText(page->getFilterStr());
updateUIForCurrentPage();
}
@ -603,7 +637,6 @@ void MainWindow::updateUIForCurrentPage() {
}
}
void MainWindow::onStackedWidgetWidgetRemoved(int index) {
// qDebug("onStackedWidgetWidgetRemoved: %d", index);
// need to remove associated tab from tabBar
@ -861,6 +894,7 @@ void MainWindow::onBackForwardContextMenu(QPoint pos) {
QAction* selectedAction = menu.exec(btn->mapToGlobal(pos));
if(selectedAction) {
int index = menu.actions().indexOf(selectedAction);
ui.filterBar->clear();
page->jumpToHistory(index);
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() {
TabPage* page = currentPage();
if(page) {

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

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

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

@ -31,11 +31,42 @@
#include "application.h"
#include "cachedfoldermodel.h"
#include <QTimer>
#include <QTextStream>
using namespace Fm;
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):
QWidget(parent),
folder_(NULL),
@ -57,8 +88,11 @@ TabPage::TabPage(FmPath* path, QWidget* parent):
// newView->setColumnWidth(Fm::FolderModel::ColumnName, 200);
connect(folderView_, &View::openDirRequested, this, &TabPage::onOpenDirRequested);
connect(folderView_, &View::selChanged, this, &TabPage::onSelChanged);
connect(folderView_, &View::clickedBack, this, &TabPage::backward);
connect(folderView_, &View::clickedForward, this, &TabPage::forward);
connect(folderView_, &View::clickedBack, this, &TabPage::backwardRequested);
connect(folderView_, &View::clickedForward, this, &TabPage::forwardRequested);
proxyFilter_ = new ProxyFilter();
proxyModel_->addFilter(proxyFilter_);
// FIXME: this is very dirty
folderView_->setModel(proxyModel_);
@ -68,8 +102,9 @@ TabPage::TabPage(FmPath* path, QWidget* parent):
}
TabPage::~TabPage() {
qDebug("delete TabPage");
freeFolder();
if(proxyFilter_)
delete proxyFilter_;
if(proxyModel_)
delete proxyModel_;
if(folderModel_)
@ -103,7 +138,6 @@ void TabPage::freeFolder() {
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
pThis->overrideCursor_ = true;
}
qDebug("start-loading");
#if 0
#if FM_CHECK_VERSION(1, 0, 2) && 0 // disabled
if(fm_folder_is_incremental(_folder)) {
@ -174,7 +208,6 @@ void TabPage::restoreScrollPos() {
QApplication::restoreOverrideCursor(); // remove busy cursor
pThis->overrideCursor_ = false;
}
qDebug("finish-loading");
// 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.
@ -195,7 +228,7 @@ void TabPage::restoreScrollPos() {
// Because the two signals are not correctly paired, we need to
// remove busy cursor here since "finish-loading" is not emitted.
QApplication::restoreOverrideCursor(); // remove busy cursor
pThis->overrideCursor_ = false;
pThis->overrideCursor_ = false;
return FM_JOB_RETRY;
}
}
@ -319,6 +352,11 @@ void TabPage::chdir(FmPath* newPath, bool addHistory) {
g_free(disp_name);
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_, "finish-loading", G_CALLBACK(onFolderFinishLoading), this);
g_signal_connect(folder_, "error", G_CALLBACK(onFolderError), this);
@ -342,11 +380,6 @@ void TabPage::chdir(FmPath* newPath, bool addHistory) {
}
else
onFolderStartLoading(folder_, this);
if(addHistory) {
// add current path to browse history
history_.add(path());
}
}
void TabPage::selectAll() {
@ -473,4 +506,19 @@ void TabPage::updateFromSettings(Settings& 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 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 {
Q_OBJECT
@ -98,9 +115,7 @@ public:
return proxyModel_->showHidden();
}
void setShowHidden(bool showHidden) {
proxyModel_->setShowHidden(showHidden);
}
void setShowHidden(bool showHidden);
FmPath* path() {
return folder_ ? fm_folder_get_path(folder_) : NULL;
@ -137,8 +152,10 @@ public:
void invertSelection();
void reload() {
if(folder_)
if(folder_) {
proxyFilter_->setVirtHidden(folder_); // reread ".hidden"
fm_folder_reload(folder_);
}
}
QString title() const {
@ -177,11 +194,26 @@ public:
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:
void statusChanged(int type, QString statusText);
void titleChanged(QString title);
void openDirRequested(FmPath* path, int target);
void sortFilterChanged();
void forwardRequested();
void backwardRequested();
protected Q_SLOTS:
void onOpenDirRequested(FmPath* path, int target);
@ -205,6 +237,7 @@ private:
View* folderView_;
Fm::CachedFolderModel* folderModel_;
Fm::ProxyFolderModel* proxyModel_;
ProxyFilter* proxyFilter_;
QVBoxLayout* verticalLayout;
FmFolder* folder_;
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