summaryrefslogtreecommitdiff
path: root/x11-libs/libfm-qt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-06-30 17:36:28 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-06-30 17:36:28 +0100
commit7014a5a3ea0feffab9701fdd6b64cc7667a985af (patch)
treef2cbbaa8bb9209cd15208721103228336149b799 /x11-libs/libfm-qt
parent7a86906b67693cc65671d3e1476835d3a7e13092 (diff)
gentoo resync : 30.06.2019
Diffstat (limited to 'x11-libs/libfm-qt')
-rw-r--r--x11-libs/libfm-qt/Manifest8
-rw-r--r--x11-libs/libfm-qt/files/libfm-qt-0.13.1-check-if-app-exists-before-opening.patch45
-rw-r--r--x11-libs/libfm-qt/files/libfm-qt-0.13.1-correctly-handle-mountable-types.patch80
-rw-r--r--x11-libs/libfm-qt/files/libfm-qt-0.13.1-fix-smb-error.patch279
-rw-r--r--x11-libs/libfm-qt/libfm-qt-0.13.1-r1.ebuild50
-rw-r--r--x11-libs/libfm-qt/libfm-qt-0.14.1-r1.ebuild39
-rw-r--r--x11-libs/libfm-qt/libfm-qt-0.14.1-r2.ebuild2
7 files changed, 2 insertions, 501 deletions
diff --git a/x11-libs/libfm-qt/Manifest b/x11-libs/libfm-qt/Manifest
index 1074aea7897a..273b2405c1d7 100644
--- a/x11-libs/libfm-qt/Manifest
+++ b/x11-libs/libfm-qt/Manifest
@@ -1,10 +1,4 @@
-AUX libfm-qt-0.13.1-check-if-app-exists-before-opening.patch 2010 BLAKE2B 3f33d70abe1467df3b799602c3232af7a490481c1fb2c3dd5a68f4792dc45a251f1e5518df36604090d23a42c43d13051bd144b54eb15cb2a7c722c9283cbacf SHA512 cafb1b97a1f6faeb7e7e9da5fa7c323eea1754078d08e5e0ea4e437c29d7da371318ecc7b944c595ef60f3169697f35db9efbd2ee23282a2bd694fac19d2e634
-AUX libfm-qt-0.13.1-correctly-handle-mountable-types.patch 3498 BLAKE2B ed7a0541d2bcbed1afd30d0045f676f179a0c123376afaeeef29260107f80ea8b0cf89a3a55f4e004fd11a6157b4ef2d3c092c8ddedd2013bef321fb59728660 SHA512 3bc193a1ef82bbe64181e596e082cbcc26b60f1cad8f05cb1d1fdcc1d162af21f8935179e3cf8ff370a7640bd5299a2ef7380436f80f9c620489365fe76c31c3
-AUX libfm-qt-0.13.1-fix-smb-error.patch 11579 BLAKE2B 4a0cdc5c9579415a3334de6295cae8ae5b9a4fdbbd0ecf647484b58edd3c6bed07fc0b93050a81c6d0d55343ea3b0f554cde536f6873ce3db057a6da3e6c267a SHA512 cc00a79ceac417d969001ac35b3c65bb6b437b3c98c62d5e70ea1e23b1a0ad0e11f05ad5c49cee64cdc23b16121ba14a8fc8978aa42b4ba6c64da00f07f72f8d
AUX libfm-qt-0.14.1-phantom-desktop-files.patch 4871 BLAKE2B 9466f517953a8733f72296bda5c8b0081828fceda505f1603b7d5db193fb7bf72b6ce7c3c007877558b8f1a4295fa73a496e0b279790126a5859bdbd246b07c4 SHA512 19b3803704dba01da16725f1cc20b4cbb6b50210fcc7f0aea397dd8061cff55f9a0e57838b48f59649d6b8e4cc53dfb992b6160687cfa0b8f46b2dda6d431021
-DIST libfm-qt-0.13.1.tar.xz 191972 BLAKE2B 760847be1fbb209003bd2b61a9c475ccf57721c469927039518a5f65543b8264c32f3e2c66c867be0b969fdf4636fb82cde0b2bd4e77b1365fcb9f61b0bd02c8 SHA512 29b8f686950a7b0ea86468d01ca64a6ff8316ccd5f0144808a4332692cf96199431470880a9b560780efeba7add833ab6a0d9b4b24220f8fb7091cc5ef151dc8
DIST libfm-qt-0.14.1.tar.xz 328192 BLAKE2B ff229256d3232eabc046da1fed3e4b4e51a09c3d1f2815fa726bad62f3fc53111e5d7f003e82e383dde4fe910584644e66613cbc1803ad0e11f7b6bdb2e30cfe SHA512 a265f6831a077ccb78a994828e6c69a22f2f6432b1f6ed6f404af41f013112870f7aee98067f2c466bec6cdfea040c10c7ce7e0f0ed977e5d266ec38e543d2a7
-EBUILD libfm-qt-0.13.1-r1.ebuild 1095 BLAKE2B 7e1463e541f2676d4ece12fad6597ffe37cb6fc28af5d5c1c8206f7eee3c63b7c5367f3ea23a2ae15c9acc30c7ca0262e460734ba610438419255e031bd0b049 SHA512 60ce1fe6b3a84af04aa4ae4664fa2ebda0dc3173626698616d863a82506b48dbec8cdac67b8f111e09cb484a2bf709ee7643660a1fe320c92e89cfe9d7aa1f23
-EBUILD libfm-qt-0.14.1-r1.ebuild 820 BLAKE2B b0fa1057da70dde58554818955213b6b8fad6ab665866c49a76e332aae69e0316be9d4613750ae567aaa37fa13848b7ae07826f724dd358a22aa6579bc5eb21c SHA512 4efc8a8996535974ec8bd94b683910a271037d6103efe46c488da36e80b98c8c3207a5bdb332d79b8558ffce3318e17b9ed1f43274add20e38796f1d782ee513
-EBUILD libfm-qt-0.14.1-r2.ebuild 886 BLAKE2B a3ec8cf450a06881e5bae45c0d6fbb752516ba51377a2b6661ba91d4d446e5f9a3e6e82c59f8edc4e36b223c1371de6ef505f01198ebc0b5813c274c12bf888c SHA512 dd8c6886667c15d104ee4bdc9ee21bb76163c1be46128ca3e4cbb803e183f38a3ed199093f812b868fc7903b7e9ae636c4bb99ccadb89007c6fb91dc901e2d29
+EBUILD libfm-qt-0.14.1-r2.ebuild 891 BLAKE2B 76bb0abd166f6a8270092c25b77255d01408ebf901eca302e997a11f45b6dd001dc6c79ef08473b8a54a73b943f48d285ae314a70e943eeca2f1f6d41f781b0d SHA512 26097a0b2e5d18599c46938357b699e8ce0a86e70858989c31b9c287a14407566f680a3806f8029e65e90e8d0c733a56a1c698d753b603a8ff63c1de8b628aeb
MISC metadata.xml 314 BLAKE2B a40b71c62066cf524406556206999869edecf714d898236a8f277132e8b3752fec298cf9407e9010a1037bc757fafcbae32abec9b52a68492d414acd529c176a SHA512 edaddf48fd7cef23284164b7046e0e6b5ce1442847d3353ee8175177f00b06973d6588811b166dacbd7a1182942128792858a43e029d6aa874c1b8625b5e78f3
diff --git a/x11-libs/libfm-qt/files/libfm-qt-0.13.1-check-if-app-exists-before-opening.patch b/x11-libs/libfm-qt/files/libfm-qt-0.13.1-check-if-app-exists-before-opening.patch
deleted file mode 100644
index 92b45be432fb..000000000000
--- a/x11-libs/libfm-qt/files/libfm-qt-0.13.1-check-if-app-exists-before-opening.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 4923f860094787d14052e9dc416c9388ff1bb53b Mon Sep 17 00:00:00 2001
-From: Tsu Jan <tsujan2000@gmail.com>
-Date: Thu, 7 Jun 2018 06:10:37 +0430
-Subject: [PATCH] Check if the opening app exists before using it
-
-Also, show an error message if there's no app.
----
- src/core/basicfilelauncher.cpp | 17 ++++++++++++-----
- 1 file changed, 12 insertions(+), 5 deletions(-)
-
-diff --git a/src/core/basicfilelauncher.cpp b/src/core/basicfilelauncher.cpp
-index 8390531..2c7f00e 100644
---- a/src/core/basicfilelauncher.cpp
-+++ b/src/core/basicfilelauncher.cpp
-@@ -256,18 +256,25 @@ FilePath BasicFileLauncher::handleShortcut(const FileInfoPtr& fileInfo, GAppLaun
- || strcmp(scheme.get(), "trash") == 0
- || strcmp(scheme.get(), "network") == 0
- || strcmp(scheme.get(), "computer") == 0) {
-- return FilePath::fromUri(fileInfo->target().c_str());
-+ return FilePath::fromUri(target.c_str());
- }
- else {
- // ask gio to launch the default handler for the uri scheme
-- GAppInfoPtr app{g_app_info_get_default_for_uri_scheme(scheme.get()), false};
-- FilePathList uris{FilePath::fromUri(fileInfo->target().c_str())};
-- launchWithApp(app.get(), uris, ctx);
-+ if(GAppInfoPtr app{g_app_info_get_default_for_uri_scheme(scheme.get()), false}) {
-+ FilePathList uris{FilePath::fromUri(target.c_str())};
-+ launchWithApp(app.get(), uris, ctx);
-+ }
-+ else {
-+ GErrorPtr err{G_IO_ERROR, G_IO_ERROR_FAILED,
-+ QObject::tr("No default application is set to launch '%1'")
-+ .arg(target.c_str())};
-+ showError(nullptr, err);
-+ }
- }
- }
- else {
- // see it as a local path
-- return FilePath::fromLocalPath(fileInfo->target().c_str());
-+ return FilePath::fromLocalPath(target.c_str());
- }
- return FilePath();
- }
diff --git a/x11-libs/libfm-qt/files/libfm-qt-0.13.1-correctly-handle-mountable-types.patch b/x11-libs/libfm-qt/files/libfm-qt-0.13.1-correctly-handle-mountable-types.patch
deleted file mode 100644
index adaed387e279..000000000000
--- a/x11-libs/libfm-qt/files/libfm-qt-0.13.1-correctly-handle-mountable-types.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From dc7a5753b934e323d4d8d13f3253cbe7ae55a111 Mon Sep 17 00:00:00 2001
-From: "Hong Jen Yee (PCMan)" <pcman.tw@gmail.com>
-Date: Sun, 10 Jun 2018 00:07:31 +0800
-Subject: [PATCH] Correctly handle mountable types.
-
----
- src/core/basicfilelauncher.cpp | 6 +++---
- src/core/fileinfo.cpp | 4 ++--
- src/core/fileinfo.h | 3 ++-
- 3 files changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/src/core/basicfilelauncher.cpp b/src/core/basicfilelauncher.cpp
-index 0dc8208..0ae1177 100644
---- a/src/core/basicfilelauncher.cpp
-+++ b/src/core/basicfilelauncher.cpp
-@@ -30,11 +30,10 @@ bool BasicFileLauncher::launchFiles(const FileInfoList& fileInfos, GAppLaunchCon
- // classify files according to different mimetypes
- for(auto& fileInfo : fileInfos) {
- /*
-- qDebug("path: %s, type: %s, target: %s, isDir: %i, isDesktopEntry: %i",
-+ qDebug("path: %s, type: %s, target: %s, isDir: %i, isShortcut: %i, isMountable: %i, isDesktopEntry: %i",
- fileInfo->path().toString().get(), fileInfo->mimeType()->name(), fileInfo->target().c_str(),
-- fileInfo->isDir(), fileInfo->isDesktopEntry());
-+ fileInfo->isDir(), fileInfo->isShortcut(), fileInfo->isMountable(), fileInfo->isDesktopEntry());
- */
--
- if(fileInfo->isMountable()) {
- if(fileInfo->target().empty()) {
- // the mountable is not yet mounted so we have no target URI.
-@@ -269,6 +268,7 @@ FilePath BasicFileLauncher::handleShortcut(const FileInfoPtr& fileInfo, GAppLaun
- // if we know the target is a dir, we are not going to open it using other apps
- // for example: `network:///smb-root' is a shortcut targeting `smb:///' and it's also a dir
- if(fileInfo->isDir()) {
-+ qDebug("shortcut is dir: %s", target.c_str());
- return FilePath::fromPathStr(target.c_str());
- }
-
-diff --git a/src/core/fileinfo.cpp b/src/core/fileinfo.cpp
-index b19a751..5838fe5 100644
---- a/src/core/fileinfo.cpp
-+++ b/src/core/fileinfo.cpp
-@@ -118,7 +118,8 @@ void FileInfo::setFromGFileInfo(const GObjectPtr<GFileInfo>& inf, const FilePath
- isDeletable_ = true;
- }
-
-- isShortcut_ = false;
-+ isShortcut_ = (type == G_FILE_TYPE_SHORTCUT);
-+ isMountable_ = (type == G_FILE_TYPE_MOUNTABLE);
-
- /* special handling for symlinks */
- if(g_file_info_get_is_symlink(inf.get())) {
-@@ -129,7 +130,6 @@ void FileInfo::setFromGFileInfo(const GObjectPtr<GFileInfo>& inf, const FilePath
-
- switch(type) {
- case G_FILE_TYPE_SHORTCUT:
-- isShortcut_ = true;
- /* Falls through. */
- case G_FILE_TYPE_MOUNTABLE:
- uri = g_file_info_get_attribute_string(inf.get(), G_FILE_ATTRIBUTE_STANDARD_TARGET_URI);
-diff --git a/src/core/fileinfo.h b/src/core/fileinfo.h
-index 8437d92..27f7508 100644
---- a/src/core/fileinfo.h
-+++ b/src/core/fileinfo.h
-@@ -150,7 +150,7 @@ class LIBFM_QT_API FileInfo {
- }
-
- bool isMountable() const {
-- return mimeType_->isMountable();
-+ return isMountable_;
- }
-
- bool isShortcut() const {
-@@ -238,6 +238,7 @@ class LIBFM_QT_API FileInfo {
- std::string target_; /* target of shortcut or mountable. */
-
- bool isShortcut_ : 1; /* TRUE if file is shortcut type */
-+ bool isMountable_ : 1; /* TRUE if file is mountable type */
- bool isAccessible_ : 1; /* TRUE if can be read by user */
- bool isWritable_ : 1; /* TRUE if can be written to by user */
- bool isDeletable_ : 1; /* TRUE if can be deleted by user */
diff --git a/x11-libs/libfm-qt/files/libfm-qt-0.13.1-fix-smb-error.patch b/x11-libs/libfm-qt/files/libfm-qt-0.13.1-fix-smb-error.patch
deleted file mode 100644
index 12611650a76c..000000000000
--- a/x11-libs/libfm-qt/files/libfm-qt-0.13.1-fix-smb-error.patch
+++ /dev/null
@@ -1,279 +0,0 @@
-From 1a6fa2632388ffcc57ce723501a588c90b940f93 Mon Sep 17 00:00:00 2001
-From: "Hong Jen Yee (PCMan)" <pcman.tw@gmail.com>
-Date: Sat, 9 Jun 2018 21:04:19 +0800
-Subject: [PATCH] Fix failure to open smb:// caused by incorrect file info
- handling.
-
----
- src/core/basicfilelauncher.cpp | 40 ++++++++++++++++++++++++-------
- src/core/basicfilelauncher.h | 2 +-
- src/core/fileinfo.cpp | 9 ++++---
- src/core/fileinfojob.cpp | 44 +++++++++++++++++++++-------------
- src/core/fileinfojob.h | 5 ++++
- src/core/gioptrs.h | 4 ++++
- src/filelauncher.cpp | 2 +-
- src/filelauncher.h | 2 +-
- 8 files changed, 77 insertions(+), 31 deletions(-)
-
-diff --git a/src/core/basicfilelauncher.cpp b/src/core/basicfilelauncher.cpp
-index 2c7f00e..0dc8208 100644
---- a/src/core/basicfilelauncher.cpp
-+++ b/src/core/basicfilelauncher.cpp
-@@ -29,11 +29,13 @@ bool BasicFileLauncher::launchFiles(const FileInfoList& fileInfos, GAppLaunchCon
- FilePathList pathsToLaunch;
- // classify files according to different mimetypes
- for(auto& fileInfo : fileInfos) {
-- // qDebug("path: %s, target: %s", fileInfo->path().toString().get(), fileInfo->target().c_str());
-- if(fileInfo->isDir()) {
-- folderInfos.emplace_back(fileInfo);
-- }
-- else if(fileInfo->isMountable()) {
-+ /*
-+ qDebug("path: %s, type: %s, target: %s, isDir: %i, isDesktopEntry: %i",
-+ fileInfo->path().toString().get(), fileInfo->mimeType()->name(), fileInfo->target().c_str(),
-+ fileInfo->isDir(), fileInfo->isDesktopEntry());
-+ */
-+
-+ if(fileInfo->isMountable()) {
- if(fileInfo->target().empty()) {
- // the mountable is not yet mounted so we have no target URI.
- GErrorPtr err{G_IO_ERROR, G_IO_ERROR_NOT_MOUNTED,
-@@ -67,6 +69,9 @@ bool BasicFileLauncher::launchFiles(const FileInfoList& fileInfos, GAppLaunchCon
- pathsToLaunch.emplace_back(path);
- }
- }
-+ else if(fileInfo->isDir()) {
-+ folderInfos.emplace_back(fileInfo);
-+ }
- else {
- auto& mimeType = fileInfo->mimeType();
- mimeTypeToFiles[mimeType->name()].emplace_back(fileInfo);
-@@ -103,16 +108,27 @@ bool BasicFileLauncher::launchFiles(const FileInfoList& fileInfos, GAppLaunchCon
- bool BasicFileLauncher::launchPaths(FilePathList paths, GAppLaunchContext* ctx) {
- // FIXME: blocking with an event loop is not a good design :-(
- QEventLoop eventLoop;
--
- auto job = new FileInfoJob{paths};
- job->setAutoDelete(false); // do not automatically delete the job since we want its results later.
-
- GObjectPtr<GAppLaunchContext> ctxPtr{ctx};
-+
-+ // error handling (for example: handle path not mounted error)
-+ QObject::connect(job, &FileInfoJob::error,
-+ &eventLoop, [this, job, ctx](const GErrorPtr & err, Job::ErrorSeverity /* severity */ , Job::ErrorAction &act) {
-+ auto path = job->currentPath();
-+ if(showError(ctx, err, path, nullptr)) {
-+ // the user handled the error and ask for retry
-+ act = Job::ErrorAction::RETRY;
-+ }
-+ }, Qt::BlockingQueuedConnection); // BlockingQueuedConnection is required here to pause the job and wait for user response
-+
- QObject::connect(job, &FileInfoJob::finished,
- [&eventLoop]() {
- // exit the event loop when the job is done
- eventLoop.exit();
- });
-+
- // run the job in another thread to not block the UI
- job->runAsync();
-
-@@ -145,7 +161,7 @@ BasicFileLauncher::ExecAction BasicFileLauncher::askExecFile(const FileInfoPtr &
- return ExecAction::DIRECT_EXEC;
- }
-
--bool BasicFileLauncher::showError(GAppLaunchContext* /* ctx */, GErrorPtr& /* err */, const FilePath& /* path */, const FileInfoPtr& /* info */) {
-+bool BasicFileLauncher::showError(GAppLaunchContext* /* ctx */, const GErrorPtr & /* err */, const FilePath& /* path */, const FileInfoPtr& /* info */) {
- return false;
- }
-
-@@ -249,13 +265,21 @@ bool BasicFileLauncher::launchDesktopEntry(const char *desktopEntryName, const F
-
- FilePath BasicFileLauncher::handleShortcut(const FileInfoPtr& fileInfo, GAppLaunchContext* ctx) {
- auto target = fileInfo->target();
-+
-+ // if we know the target is a dir, we are not going to open it using other apps
-+ // for example: `network:///smb-root' is a shortcut targeting `smb:///' and it's also a dir
-+ if(fileInfo->isDir()) {
-+ return FilePath::fromPathStr(target.c_str());
-+ }
-+
- auto scheme = CStrPtr{g_uri_parse_scheme(target.c_str())};
- if(scheme) {
- // collect the uri schemes we support
- if(strcmp(scheme.get(), "file") == 0
- || strcmp(scheme.get(), "trash") == 0
- || strcmp(scheme.get(), "network") == 0
-- || strcmp(scheme.get(), "computer") == 0) {
-+ || strcmp(scheme.get(), "computer") == 0
-+ || strcmp(scheme.get(), "menu") == 0) {
- return FilePath::fromUri(target.c_str());
- }
- else {
-diff --git a/src/core/basicfilelauncher.h b/src/core/basicfilelauncher.h
-index a28aa75..3b1545d 100644
---- a/src/core/basicfilelauncher.h
-+++ b/src/core/basicfilelauncher.h
-@@ -53,7 +53,7 @@ class LIBFM_QT_API BasicFileLauncher {
-
- virtual bool openFolder(GAppLaunchContext* ctx, const FileInfoList& folderInfos, GErrorPtr& err);
-
-- virtual bool showError(GAppLaunchContext* ctx, GErrorPtr& err, const FilePath& path = FilePath{}, const FileInfoPtr& info = FileInfoPtr{});
-+ virtual bool showError(GAppLaunchContext* ctx, const GErrorPtr& err, const FilePath& path = FilePath{}, const FileInfoPtr& info = FileInfoPtr{});
-
- virtual ExecAction askExecFile(const FileInfoPtr& file);
-
-diff --git a/src/core/fileinfo.cpp b/src/core/fileinfo.cpp
-index 8e86f8d..b19a751 100644
---- a/src/core/fileinfo.cpp
-+++ b/src/core/fileinfo.cpp
-@@ -36,10 +36,9 @@ void FileInfo::setFromGFileInfo(const GObjectPtr<GFileInfo>& inf, const FilePath
- size_ = g_file_info_get_size(inf.get());
-
- tmp = g_file_info_get_content_type(inf.get());
-- if(!tmp) {
-- tmp = "application/octet-stream";
-+ if(tmp) {
-+ mimeType_ = MimeType::fromName(tmp);
- }
-- mimeType_ = MimeType::fromName(tmp);
-
- mode_ = g_file_info_get_attribute_uint32(inf.get(), G_FILE_ATTRIBUTE_UNIX_MODE);
-
-@@ -196,6 +195,10 @@ void FileInfo::setFromGFileInfo(const GObjectPtr<GFileInfo>& inf, const FilePath
- }
- }
-
-+ if(!mimeType_) {
-+ mimeType_ = MimeType::fromName("application/octet-stream");
-+ }
-+
- /* if there is a custom folder icon, use it */
- if(isNative() && type == G_FILE_TYPE_DIRECTORY) {
- auto local_path = path().localPath();
-diff --git a/src/core/fileinfojob.cpp b/src/core/fileinfojob.cpp
-index 3c222af..7bf8bb3 100644
---- a/src/core/fileinfojob.cpp
-+++ b/src/core/fileinfojob.cpp
-@@ -13,31 +13,41 @@ FileInfoJob::FileInfoJob(FilePathList paths, FilePathList deletionPaths, FilePat
-
- void FileInfoJob::exec() {
- for(const auto& path: paths_) {
-- if(!isCancelled()) {
-+ if(isCancelled()) {
-+ break;
-+ }
-+ currentPath_ = path;
-+
-+ bool retry;
-+ do {
-+ retry = false;
- GErrorPtr err;
- GFileInfoPtr inf{
- g_file_query_info(path.gfile().get(), defaultGFileInfoQueryAttribs,
- G_FILE_QUERY_INFO_NONE, cancellable().get(), &err),
- false
- };
-- if(!inf) {
-- continue;
-+ if(inf) {
-+ // Reuse the same dirPath object when the path remains the same (optimize for files in the same dir)
-+ auto dirPath = commonDirPath_.isValid() ? commonDirPath_ : path.parent();
-+ auto fileInfoPtr = std::make_shared<FileInfo>(inf, dirPath);
-+
-+ // FIXME: this is not elegant
-+ if(cutFilesHashSet_
-+ && cutFilesHashSet_->count(path.hash())) {
-+ fileInfoPtr->bindCutFiles(cutFilesHashSet_);
-+ }
-+
-+ results_.push_back(fileInfoPtr);
-+ Q_EMIT gotInfo(path, results_.back());
- }
--
-- // Reuse the same dirPath object when the path remains the same (optimize for files in the same dir)
-- auto dirPath = commonDirPath_.isValid() ? commonDirPath_ : path.parent();
-- FileInfo fileInfo(inf, dirPath);
--
-- if(cutFilesHashSet_
-- && cutFilesHashSet_->count(fileInfo.path().hash())) {
-- fileInfo.bindCutFiles(cutFilesHashSet_);
-+ else {
-+ auto act = emitError(err);
-+ if(act == Job::ErrorAction::RETRY) {
-+ retry = true;
-+ }
- }
--
-- auto fileInfoPtr = std::make_shared<const FileInfo>(fileInfo);
--
-- results_.push_back(fileInfoPtr);
-- Q_EMIT gotInfo(path, fileInfoPtr);
-- }
-+ } while(retry && !isCancelled());
- }
- }
-
-diff --git a/src/core/fileinfojob.h b/src/core/fileinfojob.h
-index 53a03c5..d75e88f 100644
---- a/src/core/fileinfojob.h
-+++ b/src/core/fileinfojob.h
-@@ -27,6 +27,10 @@ class LIBFM_QT_API FileInfoJob : public Job {
- return results_;
- }
-
-+ const FilePath& currentPath() const {
-+ return currentPath_;
-+ }
-+
- Q_SIGNALS:
- void gotInfo(const FilePath& path, std::shared_ptr<const FileInfo>& info);
-
-@@ -39,6 +43,7 @@ class LIBFM_QT_API FileInfoJob : public Job {
- FileInfoList results_;
- FilePath commonDirPath_;
- const std::shared_ptr<const HashSet> cutFilesHashSet_;
-+ FilePath currentPath_;
- };
-
- } // namespace Fm
-diff --git a/src/core/gioptrs.h b/src/core/gioptrs.h
-index 401424b..ae22602 100644
---- a/src/core/gioptrs.h
-+++ b/src/core/gioptrs.h
-@@ -112,6 +112,10 @@ class GErrorPtr {
- return err_;
- }
-
-+ const GError* operator->() const {
-+ return err_;
-+ }
-+
- bool operator == (const GErrorPtr& other) const {
- return err_ == other.err_;
- }
-diff --git a/src/filelauncher.cpp b/src/filelauncher.cpp
-index 5f667fc..ff14533 100644
---- a/src/filelauncher.cpp
-+++ b/src/filelauncher.cpp
-@@ -76,7 +76,7 @@ bool FileLauncher::openFolder(GAppLaunchContext *ctx, const FileInfoList &folder
- return BasicFileLauncher::openFolder(ctx, folderInfos, err);
- }
-
--bool FileLauncher::showError(GAppLaunchContext* /*ctx*/, GErrorPtr &err, const FilePath &path, const FileInfoPtr &info) {
-+bool FileLauncher::showError(GAppLaunchContext* /*ctx*/, const GErrorPtr &err, const FilePath &path, const FileInfoPtr &info) {
- /* ask for mount if trying to launch unmounted path */
- if(err->domain == G_IO_ERROR) {
- if(path && err->code == G_IO_ERROR_NOT_MOUNTED) {
-diff --git a/src/filelauncher.h b/src/filelauncher.h
-index be5be5a..991a00a 100644
---- a/src/filelauncher.h
-+++ b/src/filelauncher.h
-@@ -43,7 +43,7 @@ class LIBFM_QT_API FileLauncher: public BasicFileLauncher {
-
- bool openFolder(GAppLaunchContext* ctx, const FileInfoList& folderInfos, GErrorPtr& err) override;
-
-- bool showError(GAppLaunchContext* ctx, GErrorPtr& err, const FilePath& path = FilePath{}, const FileInfoPtr& info = FileInfoPtr{}) override;
-+ bool showError(GAppLaunchContext* ctx, const GErrorPtr &err, const FilePath& path = FilePath{}, const FileInfoPtr& info = FileInfoPtr{}) override;
-
- ExecAction askExecFile(const FileInfoPtr& file) override;
-
diff --git a/x11-libs/libfm-qt/libfm-qt-0.13.1-r1.ebuild b/x11-libs/libfm-qt/libfm-qt-0.13.1-r1.ebuild
deleted file mode 100644
index c25ffd0252e2..000000000000
--- a/x11-libs/libfm-qt/libfm-qt-0.13.1-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils eapi7-ver
-
-DESCRIPTION="Qt port of libfm, a library providing components to build desktop file managers"
-HOMEPAGE="https://lxqt.org/"
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
-else
- SRC_URI="https://downloads.lxqt.org/downloads/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm ~arm64 x86"
-fi
-
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0/5"
-
-PATCHES=(
- "${FILESDIR}/${P}-check-if-app-exists-before-opening.patch"
- "${FILESDIR}/${P}-fix-smb-error.patch"
- "${FILESDIR}/${P}-correctly-handle-mountable-types.patch"
-)
-
-RDEPEND="
- dev-libs/glib:2
- dev-qt/qtcore:5
- dev-qt/qtgui:5=
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- >=lxde-base/menu-cache-1.1.0
- media-libs/libexif:=
- >=x11-libs/libfm-1.2.0:=
- x11-libs/libxcb:=
-"
-DEPEND="${RDEPEND}
- dev-qt/linguist-tools:5
- >=dev-util/lxqt-build-tools-0.5.0
- virtual/pkgconfig
-"
-
-src_configure() {
- local mycmakeargs=(
- -DPULL_TRANSLATIONS=OFF
- )
- cmake-utils_src_configure
-}
diff --git a/x11-libs/libfm-qt/libfm-qt-0.14.1-r1.ebuild b/x11-libs/libfm-qt/libfm-qt-0.14.1-r1.ebuild
deleted file mode 100644
index 6856ff994d3b..000000000000
--- a/x11-libs/libfm-qt/libfm-qt-0.14.1-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-DESCRIPTION="Qt port of libfm, a library providing components to build desktop file managers"
-HOMEPAGE="https://lxqt.org/"
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
-else
- SRC_URI="https://downloads.lxqt.org/downloads/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm ~arm64 x86"
-fi
-
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0/5"
-
-BDEPEND="
- dev-qt/linguist-tools:5
- >=dev-util/lxqt-build-tools-0.6.0
- virtual/pkgconfig
-"
-DEPEND="
- dev-libs/glib:2
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- >=lxde-base/menu-cache-1.1.0
- media-libs/libexif:=
- x11-libs/libxcb:=
-"
-RDEPEND="${DEPEND}
- !lxqt-base/lxqt-l10n
-"
diff --git a/x11-libs/libfm-qt/libfm-qt-0.14.1-r2.ebuild b/x11-libs/libfm-qt/libfm-qt-0.14.1-r2.ebuild
index 54bea0084811..100cff14a7f7 100644
--- a/x11-libs/libfm-qt/libfm-qt-0.14.1-r2.ebuild
+++ b/x11-libs/libfm-qt/libfm-qt-0.14.1-r2.ebuild
@@ -13,7 +13,7 @@ if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
else
SRC_URI="https://downloads.lxqt.org/downloads/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
fi
LICENSE="GPL-2+ LGPL-2.1+"