diff --git a/0001-fix-build-error.patch b/0001-fix-build-error.patch deleted file mode 100644 index f460724bdc986a995c8708aab8c608c27abf3a84..0000000000000000000000000000000000000000 --- a/0001-fix-build-error.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 30420e17378d6c2b2b557fd53e973f5a8ad8ad8d Mon Sep 17 00:00:00 2001 -From: liuzhilin -Date: Thu, 18 Apr 2024 09:58:54 +0800 -Subject: [PATCH] fix-build-error - ---- - src/dde-desktop/data/applications/dde-computer.desktop | 2 +- - src/dde-desktop/data/applications/dde-home.desktop | 2 +- - src/dde-desktop/data/applications/dde-trash.desktop | 2 +- - src/dde-file-manager/mips/dde-file-manager.desktop | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/dde-desktop/data/applications/dde-computer.desktop b/src/dde-desktop/data/applications/dde-computer.desktop -index 7a2ff03..b8f6c5f 100644 ---- a/src/dde-desktop/data/applications/dde-computer.desktop -+++ b/src/dde-desktop/data/applications/dde-computer.desktop -@@ -5,7 +5,7 @@ Exec=gio open computer:/// - GenericName=Computer - Icon=computer - Name=Computer --OnlyShowIn=Deepin; -+##OnlyShowIn=Deepin; - Terminal=false - Type=Application - X-AppStream-Ignore=true -diff --git a/src/dde-desktop/data/applications/dde-home.desktop b/src/dde-desktop/data/applications/dde-home.desktop -index 0c0f35c..1a37a47 100644 ---- a/src/dde-desktop/data/applications/dde-home.desktop -+++ b/src/dde-desktop/data/applications/dde-home.desktop -@@ -6,7 +6,7 @@ GenericName=Home - Icon=user-home - Name=Home - NoDisplay=true --OnlyShowIn=Deepin; -+##OnlyShowIn=Deepin; - Terminal=false - Type=Application - X-AppStream-Ignore=true -diff --git a/src/dde-desktop/data/applications/dde-trash.desktop b/src/dde-desktop/data/applications/dde-trash.desktop -index f2524b6..c7b0c01 100644 ---- a/src/dde-desktop/data/applications/dde-trash.desktop -+++ b/src/dde-desktop/data/applications/dde-trash.desktop -@@ -5,7 +5,7 @@ Exec=gio open trash:/// - GenericName=Open Trash. - Icon=user-trash - Name=Trash --OnlyShowIn=Deepin; -+##OnlyShowIn=Deepin; - Terminal=false - Type=Application - X-AppStream-Ignore=true -diff --git a/src/dde-file-manager/mips/dde-file-manager.desktop b/src/dde-file-manager/mips/dde-file-manager.desktop -index 259d50e..4213f23 100644 ---- a/src/dde-file-manager/mips/dde-file-manager.desktop -+++ b/src/dde-file-manager/mips/dde-file-manager.desktop -@@ -7,7 +7,7 @@ GenericName=File Manager - Icon=dde-file-manager - MimeType=inode/directory; - Name=Deepin File Manager --OnlyShowIn=Deepin; -+##OnlyShowIn=Deepin; - StartupNotify=false - Terminal=false - Type=Application --- -2.39.3 - diff --git a/0001-fix-enhance-sorting-logic-to-handle-symbolic-links-i.patch b/0001-fix-enhance-sorting-logic-to-handle-symbolic-links-i.patch new file mode 100644 index 0000000000000000000000000000000000000000..e81db1d83dbf4e7b7ac82c342b824f87c2faca05 --- /dev/null +++ b/0001-fix-enhance-sorting-logic-to-handle-symbolic-links-i.patch @@ -0,0 +1,91 @@ +From 98340c9c4f9c7a18d30236e4bd38100db2fd09dc Mon Sep 17 00:00:00 2001 +From: Super User +Date: Mon, 10 Mar 2025 10:50:18 +0800 +Subject: [PATCH 1/2] fix: enhance sorting logic to handle symbolic links in + FileSortWorker + +- Introduced a new boolean flag `needSort` to determine if sorting is required based on the presence of symbolic links among files. +- Updated `handleIteratorLocalChildren` to check for symbolic links when sorting by file size, setting `needSort` accordingly. +- Modified `handleAddChildren` to incorporate the `needSort` flag, ensuring that sorting is performed when necessary. +- Enhanced conditions in `handleAddChildren` to respect the `needSort` flag, improving the accuracy of sorting operations. + +This change improves the sorting functionality in the FileSortWorker by ensuring that symbolic links are considered during sorting operations, leading to more accurate and expected results when managing file lists. + +Log: enhance sorting logic to handle symbolic links in FileSortWorker +Bug: https://pms.uniontech.com/bug-view-305395.html +--- + .../utils/filesortworker.cpp | 23 ++++++++++++++----- + .../utils/filesortworker.h | 2 +- + 2 files changed, 18 insertions(+), 7 deletions(-) + +diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp +index d2078e4..eee6794 100644 +--- a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp ++++ b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp +@@ -179,7 +179,17 @@ void FileSortWorker::handleSourceChildren(const QString &key, + const Qt::SortOrder sortOrder, const bool isMixDirAndFile, + const bool isFinished) + { +- handleAddChildren(key, children, {}, sortRole, sortOrder, isMixDirAndFile, true, isFinished); ++ bool needSort = false; ++ // 如果是filesize排序,有链接文件进行强制重新排序 ++ if (sortRole == DEnumerator::SortRoleCompareFlag::kSortRoleCompareFileSize) { ++ for (const auto &c : children) { ++ if (c->isFile() && c->isSymLink()) { ++ needSort = true; ++ break; ++ } ++ } ++ } ++ handleAddChildren(key, children, {}, sortRole, sortOrder, isMixDirAndFile, true, isFinished, needSort); + } + + void FileSortWorker::handleIteratorChildren(const QString &key, const QList children, const QList infos) +@@ -662,7 +672,7 @@ void FileSortWorker::handleAddChildren(const QString &key, + const bool isMixDirAndFile, + const bool handleSource, + const bool isFinished, +- const bool isSort) ++ const bool isSort, const bool needSort) + { + if (!handleAddChildren(key, children, childInfos)) + return; +@@ -678,8 +688,9 @@ void FileSortWorker::handleAddChildren(const QString &key, + // So, using `sortAllFiles` to reorder + auto parentUrl = parantUrl(children.first()->fileUrl()); + bool isHome = parentUrl.path() == StandardPaths::location(StandardPaths::kHomePath); +- if (!isHome && sortRole != DEnumerator::SortRoleCompareFlag::kSortRoleCompareDefault && this->sortRole == sortRole +- && this->sortOrder == sortOrder && this->isMixDirAndFile == isMixDirAndFile) { ++ if (! needSort && !isHome && sortRole != DEnumerator::SortRoleCompareFlag::kSortRoleCompareDefault && this->sortRole == sortRole ++ && this->sortOrder == sortOrder && this->isMixDirAndFile == isMixDirAndFile ++ && !(sortRole == DEnumerator::SortRoleCompareFlag::kSortRoleCompareFileSize && !handleSource && isSort && isFinished)) { + if (handleSource) + setSourceHandleState(isFinished); + return; +@@ -687,8 +698,8 @@ void FileSortWorker::handleAddChildren(const QString &key, + + if (isCanceled) + return; +- // 对当前的目录排序, 若果处理的是获取源数据,在没有获取完,不进行排序 +- if ((!handleSource || isFinished) && isSort) { ++ // 对当前的目录排序, 若果处理的是获取源数据,在没有获取完,不进行排序,needSort为true需要强制排序 ++ if (((!handleSource || isFinished) && isSort) || needSort) { + auto startPos = findStartPos(parentUrl); + auto sortList = sortTreeFiles(visibleTreeChildren.take(parentUrl)); + // 找到endpos +diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.h b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.h +index 6ba07e6..e0a77ea 100644 +--- a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.h ++++ b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.h +@@ -149,7 +149,7 @@ private: + const Qt::SortOrder sortOrder, + const bool isMixDirAndFile, + const bool handleSource, +- const bool isFinished, const bool isSort = true); ++ const bool isFinished, const bool isSort = true, const bool needSort = false); + bool handleAddChildren(const QString &key, + const QList &children, + const QList &childInfos); +-- +2.43.0 + diff --git a/0001-fix-smb-error.patch b/0001-fix-smb-error.patch new file mode 100644 index 0000000000000000000000000000000000000000..7206bac7b0e5a7378add38e8c29f2da93cca955b --- /dev/null +++ b/0001-fix-smb-error.patch @@ -0,0 +1,99 @@ +From 526bd6669472a0573b45e5ae209e70ae9088b850 Mon Sep 17 00:00:00 2001 +From: Hailiang +Date: Mon, 7 Apr 2025 17:21:02 +0800 +Subject: [PATCH] fix smb error + +--- + .../common/dfmplugin-dirshare/utils/usersharehelper.cpp | 2 +- + .../daemon/daemonplugin-sharecontrol/sharecontroldbus.cpp | 6 +++--- + .../dfmplugin-smbbrowser/utils/smbbrowserutils.cpp | 4 ++-- + .../dfmplugin-smbbrowser/utils/ut_smbbrowserutils.cpp | 4 ++-- + 4 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/plugins/common/dfmplugin-dirshare/utils/usersharehelper.cpp b/src/plugins/common/dfmplugin-dirshare/utils/usersharehelper.cpp +index 3f8aa57..e37f575 100644 +--- a/src/plugins/common/dfmplugin-dirshare/utils/usersharehelper.cpp ++++ b/src/plugins/common/dfmplugin-dirshare/utils/usersharehelper.cpp +@@ -57,7 +57,7 @@ static constexpr char kGuestOk[] { "guest_ok" }; + + namespace SambaServiceIFace { + static constexpr char kService[] { "org.freedesktop.systemd1" }; +-static constexpr char kPath[] { "/org/freedesktop/systemd1/unit/smbd_2eservice" }; ++static constexpr char kPath[] { "/org/freedesktop/systemd1/unit/smb_2eservice" }; + static constexpr char kInterface[] { "org.freedesktop.systemd1.Unit" }; + + static constexpr char kPropertySubState[] { "SubState" }; +diff --git a/src/plugins/daemon/daemonplugin-sharecontrol/sharecontroldbus.cpp b/src/plugins/daemon/daemonplugin-sharecontrol/sharecontroldbus.cpp +index d775ef2..c904e39 100644 +--- a/src/plugins/daemon/daemonplugin-sharecontrol/sharecontroldbus.cpp ++++ b/src/plugins/daemon/daemonplugin-sharecontrol/sharecontroldbus.cpp +@@ -63,7 +63,7 @@ bool ShareControlDBus::CloseSmbShareByShareName(const QString &name, bool show) + } + + QProcess p; +- QStringList params { "smbd", "close-share", name }; ++ QStringList params { "smb", "close-share", name }; + p.start("smbcontrol", params); + bool ret = p.waitForFinished(); + +@@ -101,11 +101,11 @@ bool ShareControlDBus::EnableSmbServices() + } + + QProcess sh; +- sh.start("ln -sf /lib/systemd/system/smbd.service /etc/systemd/system/multi-user.target.wants/smbd.service"); ++ sh.start("ln -sf /lib/systemd/system/smb.service /etc/systemd/system/multi-user.target.wants/smb.service"); + auto ret = sh.waitForFinished(); + fmInfo() << "enable smbd: " << ret; + +- sh.start("ln -sf /lib/systemd/system/nmbd.service /etc/systemd/system/multi-user.target.wants/nmbd.service"); ++ sh.start("ln -sf /lib/systemd/system/nmb.service /etc/systemd/system/multi-user.target.wants/nmb.service"); + ret &= sh.waitForFinished(); + fmInfo() << "enable nmbd: " << ret; + return ret; +diff --git a/src/plugins/filemanager/dfmplugin-smbbrowser/utils/smbbrowserutils.cpp b/src/plugins/filemanager/dfmplugin-smbbrowser/utils/smbbrowserutils.cpp +index 1bc6725..de8d17f 100644 +--- a/src/plugins/filemanager/dfmplugin-smbbrowser/utils/smbbrowserutils.cpp ++++ b/src/plugins/filemanager/dfmplugin-smbbrowser/utils/smbbrowserutils.cpp +@@ -84,7 +84,7 @@ bool isServiceRuning(const QString &service) + return false; + + QDBusInterface iface("org.freedesktop.systemd1", +- QString("/org/freedesktop/systemd1/unit/%1d_2eservice").arg(service), ++ QString("/org/freedesktop/systemd1/unit/%1_2eservice").arg(service), + "org.freedesktop.systemd1.Unit", + QDBusConnection::systemBus()); + +@@ -108,7 +108,7 @@ bool startService(const QString &service) + + fmDebug() << QString("activate smbd: construct %1d interface").arg(service); + QDBusInterface iface("org.freedesktop.systemd1", +- QString("/org/freedesktop/systemd1/unit/%1d_2eservice").arg(service), ++ QString("/org/freedesktop/systemd1/unit/%1_2eservice").arg(service), + "org.freedesktop.systemd1.Unit", + QDBusConnection::systemBus()); + fmDebug() << QString("activate smbd: constructed %1d interface").arg(service); +diff --git a/tests/plugins/filemanager/dfmplugin-smbbrowser/utils/ut_smbbrowserutils.cpp b/tests/plugins/filemanager/dfmplugin-smbbrowser/utils/ut_smbbrowserutils.cpp +index f4092d8..33930a4 100644 +--- a/tests/plugins/filemanager/dfmplugin-smbbrowser/utils/ut_smbbrowserutils.cpp ++++ b/tests/plugins/filemanager/dfmplugin-smbbrowser/utils/ut_smbbrowserutils.cpp +@@ -115,7 +115,7 @@ TEST_F(UT_SmbBrowserUtils, StartService) + stub.set_lamda(&QDBusPendingCall::isValid, [] { __DBG_STUB_INVOKE__ return true; }); + EXPECT_TRUE(smb_browser_utils::startService("smb")); + EXPECT_TRUE(smb_browser_utils::startService("nmb")); +- EXPECT_FALSE(smb_browser_utils::startService("nmbd")); ++ EXPECT_FALSE(smb_browser_utils::startService("nmb")); + } + + TEST_F(UT_SmbBrowserUtils, EnableServiceAsync) +@@ -141,7 +141,7 @@ TEST_F(UT_SmbBrowserUtils, CheckAndEnableService) + { + bool serviceRunning = true; + stub.set_lamda(smb_browser_utils::isServiceRuning, [&] { __DBG_STUB_INVOKE__ return serviceRunning; }); +- EXPECT_TRUE(smb_browser_utils::checkAndEnableService("smbd")); ++ EXPECT_TRUE(smb_browser_utils::checkAndEnableService("smb")); + + serviceRunning = false; + bool startServiceResult = true; +-- +2.43.0 + diff --git a/0001-hide-authorized-watermask.patch b/0001-hide-authorized-watermask.patch deleted file mode 100644 index a15639b340c85cd6932d941649a7656d1cae9364..0000000000000000000000000000000000000000 --- a/0001-hide-authorized-watermask.patch +++ /dev/null @@ -1,26 +0,0 @@ -From fca58228ea9d31e01dd6e24bee944cebf7df9622 Mon Sep 17 00:00:00 2001 -From: leeffo -Date: Wed, 2 Aug 2023 14:13:35 +0800 -Subject: [PATCH] hide authorized watermask - ---- - src/dde-desktop/view/watermaskframe.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/dde-desktop/view/watermaskframe.cpp b/src/dde-desktop/view/watermaskframe.cpp -index e36d97b..2d0e72a 100644 ---- a/src/dde-desktop/view/watermaskframe.cpp -+++ b/src/dde-desktop/view/watermaskframe.cpp -@@ -98,7 +98,8 @@ void WaterMaskFrame::stateChanged(int state, int prop) - return; - } - -- bool showSate = showLicenseState(); -+ //bool showSate = showLicenseState(); -+ bool showSate = 0; - bool cn = usingCn(); - qInfo() << "reply ActiveState is" << state << prop << "show" << showSate - << "cn" << cn << this; --- -2.20.1 - diff --git a/0002-fix-enhance-sorting-functionality-in-FileViewModel-a.patch b/0002-fix-enhance-sorting-functionality-in-FileViewModel-a.patch new file mode 100644 index 0000000000000000000000000000000000000000..ad730a1563cd2c59752ef632759ab8465d3d7421 --- /dev/null +++ b/0002-fix-enhance-sorting-functionality-in-FileViewModel-a.patch @@ -0,0 +1,190 @@ +From e428bc395c08fdc5134605dfc1e7f6544fb9aa2f Mon Sep 17 00:00:00 2001 +From: Super User +Date: Mon, 10 Mar 2025 13:24:25 +0800 +Subject: [PATCH 2/2] fix: enhance sorting functionality in FileViewModel and + FileSortWorker + +- Added canSort method in FileViewModel to determine if sorting is allowed based on current state and filter settings. +- Updated fetchMore method to set user info for tree view handling. +- Enhanced FileSortWorker to manage mixed directory and file sorting more effectively in tree view mode. +- Introduced new methods in FileSortWorker to retrieve tree view status and mixed sorting state. +- Modified sorting logic in FileView to respect the new canSort checks before executing sort operations. + +This change improves the sorting capabilities in the file manager by ensuring that sorting operations are only performed when appropriate, enhancing user experience and maintaining data integrity. + +Log: enhance sorting functionality in FileViewModel and FileSortWorker +Bug: https://pms.uniontech.com/bug-view-305283.html https://pms.uniontech.com/bug-view-305291.html +--- + .../models/fileviewmodel.cpp | 19 ++++++++++++++++ + .../models/fileviewmodel.h | 1 + + .../utils/filedatamanager.cpp | 7 ++++-- + .../utils/filesortworker.cpp | 22 ++++++++++++++----- + .../utils/filesortworker.h | 4 ++++ + .../dfmplugin-workspace/views/fileview.cpp | 3 ++- + 6 files changed, 48 insertions(+), 8 deletions(-) + +diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/models/fileviewmodel.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/models/fileviewmodel.cpp +index 9a0ef0d..bf12ce5 100644 +--- a/src/plugins/filemanager/core/dfmplugin-workspace/models/fileviewmodel.cpp ++++ b/src/plugins/filemanager/core/dfmplugin-workspace/models/fileviewmodel.cpp +@@ -389,6 +389,9 @@ void FileViewModel::fetchMore(const QModelIndex &parent) + if (filterSortWorker.isNull()) { + ret = FileDataManager::instance()->fetchFiles(fetchingUrl, currentKey); + } else { ++ auto rootUrl = fetchingUrl; ++ if (filterSortWorker->isTreeView()) ++ fetchingUrl.setUserInfo("isTreeView"); + ret = FileDataManager::instance()->fetchFiles(fetchingUrl, + currentKey, + filterSortWorker->getSortRole(), +@@ -727,6 +730,22 @@ void FileViewModel::setTreeView(const bool isTree) + Q_EMIT requestTreeView(isTree); + } + ++bool FileViewModel::canSort(int column, Qt::SortOrder order) ++{ ++ if (sortRole() != getRoleByColumn(column) || sortOrder() != order) ++ return true; ++ ++ if (filterSortWorker) { ++ if (filterSortWorker->isTreeView() && filterSortWorker->getIsMixDirAndFile()) ++ return true; ++ auto mixDirAndFile = Application::instance()->appAttribute(Application::kFileAndDirMixedSort).toBool(); ++ if (!filterSortWorker->isTreeView() && mixDirAndFile != filterSortWorker->getIsMixDirAndFile()) ++ return true; ++ } ++ ++ return false; ++} ++ + void FileViewModel::onFileThumbUpdated(const QUrl &url, const QString &thumb) + { + auto updateIndex = getIndexByUrl(url); +diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/models/fileviewmodel.h b/src/plugins/filemanager/core/dfmplugin-workspace/models/fileviewmodel.h +index e2a6a3d..06eb4b5 100644 +--- a/src/plugins/filemanager/core/dfmplugin-workspace/models/fileviewmodel.h ++++ b/src/plugins/filemanager/core/dfmplugin-workspace/models/fileviewmodel.h +@@ -94,6 +94,7 @@ public: + void setReadOnly(bool value); + void updateThumbnailIcon(const QModelIndex &index, const QString &thumb); + void setTreeView(const bool isTree); ++ bool canSort(int column, Qt::SortOrder order); + + Q_SIGNALS: + void stateChanged(); +diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filedatamanager.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filedatamanager.cpp +index e4f72a6..f13ee6f 100644 +--- a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filedatamanager.cpp ++++ b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filedatamanager.cpp +@@ -31,10 +31,13 @@ RootInfo *FileDataManager::fetchRoot(const QUrl &url) + + bool FileDataManager::fetchFiles(const QUrl &rootUrl, const QString &key, DFMGLOBAL_NAMESPACE::ItemRoles role, Qt::SortOrder order) + { +- RootInfo *root = rootInfoMap.value(rootUrl); ++ bool isTree = !rootUrl.userInfo().isEmpty(); ++ auto fetchRootUrl = rootUrl; ++ fetchRootUrl.setUserInfo(QString()); ++ RootInfo *root = rootInfoMap.value(fetchRootUrl); + if (!root) + return false; +- auto getCache = root->initThreadOfFileData(key, role, order, isMixFileAndFolder); ++ auto getCache = root->initThreadOfFileData(key, role, order, isTree ? false : isMixFileAndFolder); + root->startWork(key, getCache); + return true; + } +diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp +index eee6794..61f651f 100644 +--- a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp ++++ b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp +@@ -50,7 +50,8 @@ FileSortWorker::~FileSortWorker() + FileSortWorker::SortOpt FileSortWorker::setSortAgruments(const Qt::SortOrder order, const Global::ItemRoles sortRole, const bool isMixDirAndFile) + { + FileSortWorker::SortOpt opt { FileSortWorker::SortOpt::kSortOptNone }; +- if (sortOrder == order && orgSortRole == sortRole && this->isMixDirAndFile == isMixDirAndFile) ++ // 树形视图中的目录和文件混排不生效 ++ if (sortOrder == order && orgSortRole == sortRole && ((istree && !this->isMixDirAndFile) || this->isMixDirAndFile == isMixDirAndFile)) + return opt; + if (orgSortRole != sortRole || this->isMixDirAndFile != isMixDirAndFile) { + opt = FileSortWorker::SortOpt::kSortOptOtherChanged; +@@ -60,7 +61,7 @@ FileSortWorker::SortOpt FileSortWorker::setSortAgruments(const Qt::SortOrder ord + + sortOrder = order; + orgSortRole = sortRole; +- this->isMixDirAndFile = isMixDirAndFile; ++ this->isMixDirAndFile = istree ? false : isMixDirAndFile; + switch (sortRole) { + case Global::ItemRoles::kItemFileDisplayNameRole: + this->sortRole = DEnumerator::SortRoleCompareFlag::kSortRoleCompareFileName; +@@ -164,13 +165,24 @@ void FileSortWorker::setTreeView(const bool isTree) + isMixDirAndFile = istree ? false : isMixDirAndFile; + } + ++bool FileSortWorker::getIsMixDirAndFile() const ++{ ++ return isMixDirAndFile; ++} ++ ++bool FileSortWorker::isTreeView() const ++{ ++ return istree; ++} ++ + void FileSortWorker::handleIteratorLocalChildren(const QString &key, + const QList children, + const DEnumerator::SortRoleCompareFlag sortRole, + const Qt::SortOrder sortOrder, + const bool isMixDirAndFile) + { +- handleAddChildren(key, children, {}, sortRole, sortOrder, isMixDirAndFile, false, false); ++ // 如果是树形视图,那么isMixDirAndFile必须设置为false ++ handleAddChildren(key, children, {}, sortRole, sortOrder, istree ? false : isMixDirAndFile, false, false); + } + + void FileSortWorker::handleSourceChildren(const QString &key, +@@ -189,12 +201,12 @@ void FileSortWorker::handleSourceChildren(const QString &key, + } + } + } +- handleAddChildren(key, children, {}, sortRole, sortOrder, isMixDirAndFile, true, isFinished, needSort); ++ handleAddChildren(key, children, {}, sortRole, sortOrder, istree ? false : isMixDirAndFile, true, isFinished, needSort); + } + + void FileSortWorker::handleIteratorChildren(const QString &key, const QList children, const QList infos) + { +- handleAddChildren(key, children, infos, sortRole, sortOrder, isMixDirAndFile, false, false, false); ++ handleAddChildren(key, children, infos, sortRole, sortOrder, istree ? false : isMixDirAndFile, false, false, false); + } + + void FileSortWorker::handleTraversalFinish(const QString &key) +diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.h b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.h +index e0a77ea..51b0c89 100644 +--- a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.h ++++ b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.h +@@ -67,6 +67,10 @@ public: + // 只有在没有启动sort线程时才能调用,线程启动成功了,发送信号处理 + void setTreeView(const bool isTree); + ++ bool getIsMixDirAndFile() const; ++ ++ bool isTreeView() const; ++ + signals: + void insertRows(int first, int count); + void insertFinish(); +diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/views/fileview.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/views/fileview.cpp +index 2be885b..5bd4ebb 100644 +--- a/src/plugins/filemanager/core/dfmplugin-workspace/views/fileview.cpp ++++ b/src/plugins/filemanager/core/dfmplugin-workspace/views/fileview.cpp +@@ -450,7 +450,8 @@ void FileView::onSortIndicatorChanged(int logicalIndex, Qt::SortOrder order) + + clearSelection(); + +- model()->sort(logicalIndex, order); ++ if (model()->canSort(logicalIndex, order)) ++ model()->sort(logicalIndex, order); + + const QUrl &url = rootUrl(); + const ItemRoles &role = model()->getRoleByColumn(logicalIndex); +-- +2.43.0 + diff --git a/0002-fix-undefined-std-array.patch b/0002-fix-undefined-std-array.patch deleted file mode 100644 index 5c543db1f54765a283a7ef201d399e4bfb687c94..0000000000000000000000000000000000000000 --- a/0002-fix-undefined-std-array.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 340b1be4850c8316ee858f597bcb729363f142b7 Mon Sep 17 00:00:00 2001 -From: leeffo -Date: Thu, 3 Aug 2023 10:15:30 +0800 -Subject: [PATCH] fix undefined std::array - ---- - .../dialogs/private/ddesktoprenamedialog_p.h | 1 + - src/dde-file-manager-lib/views/drenamebar.h | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/src/dde-file-manager-lib/dialogs/private/ddesktoprenamedialog_p.h b/src/dde-file-manager-lib/dialogs/private/ddesktoprenamedialog_p.h -index 80c5c20..f018762 100644 ---- a/src/dde-file-manager-lib/dialogs/private/ddesktoprenamedialog_p.h -+++ b/src/dde-file-manager-lib/dialogs/private/ddesktoprenamedialog_p.h -@@ -23,6 +23,7 @@ - #ifndef DDESKTOPRENAMEDIALOG_P_H - #define DDESKTOPRENAMEDIALOG_P_H - -+#include - #include - #include - #include -diff --git a/src/dde-file-manager-lib/views/drenamebar.h b/src/dde-file-manager-lib/views/drenamebar.h -index 45f3b09..b59fa8f 100644 ---- a/src/dde-file-manager-lib/views/drenamebar.h -+++ b/src/dde-file-manager-lib/views/drenamebar.h -@@ -26,6 +26,7 @@ - #define DRENAMEBAR_H - - -+#include - #include - #include - #include --- -2.20.1 - diff --git a/0003-set-default-c++17.patch b/0003-set-default-c++17.patch deleted file mode 100644 index 896a308e7f64cd06d83609d5f69b63bfcfc40bcf..0000000000000000000000000000000000000000 --- a/0003-set-default-c++17.patch +++ /dev/null @@ -1,277 +0,0 @@ -From 744548618fb8e7b6e69daf6612e46581a12bd074 Mon Sep 17 00:00:00 2001 -From: Super User -Date: Tue, 5 Aug 2025 08:54:42 +0000 -Subject: [PATCH] set default c++17 - ---- - .../dde-advanced-property-plugin.pro | 2 +- - src/dde-desktop/dde-desktop.pri | 2 +- - src/dde-desktop/dde-desktop.pro | 2 +- - src/dde-dock-plugins/disk-mount/disk-mount.pro | 2 +- - src/dde-file-manager-daemon/dde-file-manager-daemon.pro | 2 +- - src/dde-file-manager-lib/dde-file-manager-lib.pro | 2 +- - .../ImageMenuPlugin/ImageMenuPlugin.pro | 2 +- - .../dde-eetrust-emblem-plugin/dde-eetrust-emblem-plugin.pro | 2 +- - .../dde-image-preview-plugin/dde-image-preview-plugin.pro | 2 +- - .../dde-music-preview-plugin/dde-music-preview-plugin.pro | 2 +- - .../dde-pdf-preview-plugin/dde-pdf-preview-plugin.pro | 2 +- - .../dde-text-preview-plugin/dde-text-preview-plugin.pro | 2 +- - .../dde-video-preview-plugin/dde-video-preview-plugin.pro | 2 +- - src/dde-file-manager-plugins/pluginView/pluginView.pro | 2 +- - src/dde-file-manager-plugins/showfile/showfile.pro | 2 +- - src/dde-file-manager/dde-file-manager.pro | 2 +- - src/dde-select-dialog-wayland/dde-select-dialog-wayland.pro | 2 +- - src/dde-select-dialog-x11/dde-select-dialog-x11.pro | 2 +- - .../dde-anythingmonitor/dde-anythingmonitor.pro | 2 +- - 19 files changed, 19 insertions(+), 19 deletions(-) - -diff --git a/src/dde-advanced-property-plugin/dde-advanced-property-plugin.pro b/src/dde-advanced-property-plugin/dde-advanced-property-plugin.pro -index 41fb431..39c71fb 100644 ---- a/src/dde-advanced-property-plugin/dde-advanced-property-plugin.pro -+++ b/src/dde-advanced-property-plugin/dde-advanced-property-plugin.pro -@@ -8,7 +8,7 @@ QT += core gui widgets - - TARGET = dde-advanced-property-plugin - TEMPLATE = lib --CONFIG += plugin c++11 -+CONFIG += plugin c++17 - - PLUGIN_INSTALL_DIR = $$PLUGINDIR/menu - message($$PLUGIN_INSTALL_DIR) -diff --git a/src/dde-desktop/dde-desktop.pri b/src/dde-desktop/dde-desktop.pri -index a9c22fe..46bedcf 100644 ---- a/src/dde-desktop/dde-desktop.pri -+++ b/src/dde-desktop/dde-desktop.pri -@@ -13,7 +13,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - greaterThan(QT_MINOR_VERSION, 7): QT += gui-private - else: QT += platformsupport-private - --CONFIG += c++11 link_pkgconfig -+CONFIG += c++17 link_pkgconfig - PKGCONFIG += xcb xcb-ewmh xcb-shape dframeworkdbus gio-qt - - INCLUDEPATH += $$PWD/../dde-file-manager-lib\ -diff --git a/src/dde-desktop/dde-desktop.pro b/src/dde-desktop/dde-desktop.pro -index 2a482f7..46134c4 100644 ---- a/src/dde-desktop/dde-desktop.pro -+++ b/src/dde-desktop/dde-desktop.pro -@@ -33,7 +33,7 @@ else: QT += platformsupport-private - TEMPLATE = app - TARGET = dde-desktop - DESTDIR = $$BUILD_DIST --CONFIG += c++11 link_pkgconfig -+CONFIG += c++17 link_pkgconfig - PKGCONFIG += xcb xcb-ewmh xcb-shape dframeworkdbus gio-qt - - INCLUDEPATH += $$PWD/../dde-file-manager-lib\ -diff --git a/src/dde-dock-plugins/disk-mount/disk-mount.pro b/src/dde-dock-plugins/disk-mount/disk-mount.pro -index 135e85e..7af85fd 100644 ---- a/src/dde-dock-plugins/disk-mount/disk-mount.pro -+++ b/src/dde-dock-plugins/disk-mount/disk-mount.pro -@@ -1,7 +1,7 @@ - PREFIX = /usr - QT += core widgets concurrent dbus - TEMPLATE = lib --CONFIG += plugin c++11 link_pkgconfig -+CONFIG += plugin c++17 link_pkgconfig - PKGCONFIG += dtkwidget gio-qt udisks2-qt5 - - INCLUDEPATH += /usr/include/dde-dock -diff --git a/src/dde-file-manager-daemon/dde-file-manager-daemon.pro b/src/dde-file-manager-daemon/dde-file-manager-daemon.pro -index 6eea22b..f80c031 100644 ---- a/src/dde-file-manager-daemon/dde-file-manager-daemon.pro -+++ b/src/dde-file-manager-daemon/dde-file-manager-daemon.pro -@@ -18,7 +18,7 @@ CONFIG(release, release|debug) { - } else { - PKGCONFIG += dtkwidget - } --CONFIG += c++11 link_pkgconfig -+CONFIG += c++17 link_pkgconfig - - LIBS += -L$$OUT_PWD/../dde-file-manager-lib -ldde-file-manager -lKF5Codecs \ - -L$$OUT_PWD/../dde-file-manager-extension -ldfm-extension -diff --git a/src/dde-file-manager-lib/dde-file-manager-lib.pro b/src/dde-file-manager-lib/dde-file-manager-lib.pro -index 8b9235b..749c09a 100644 ---- a/src/dde-file-manager-lib/dde-file-manager-lib.pro -+++ b/src/dde-file-manager-lib/dde-file-manager-lib.pro -@@ -35,7 +35,7 @@ isEmpty(PREFIX){ - PREFIX = /usr - } - --CONFIG += c++11 link_pkgconfig -+CONFIG += c++17 link_pkgconfig - PKGCONFIG += libsecret-1 gio-unix-2.0 poppler-cpp dtkwidget dtkgui udisks2-qt5 disomaster gio-qt libcrypto Qt5Xdg dframeworkdbus polkit-agent-1 polkit-qt5-1 - #DEFINES += QT_NO_DEBUG_OUTPUT - DEFINES += QT_MESSAGELOGCONTEXT -diff --git a/src/dde-file-manager-plugins/ImageMenuPlugin/ImageMenuPlugin.pro b/src/dde-file-manager-plugins/ImageMenuPlugin/ImageMenuPlugin.pro -index 6307f6f..dc80b9a 100644 ---- a/src/dde-file-manager-plugins/ImageMenuPlugin/ImageMenuPlugin.pro -+++ b/src/dde-file-manager-plugins/ImageMenuPlugin/ImageMenuPlugin.pro -@@ -9,7 +9,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - - TARGET = ImageMenuPlugin - TEMPLATE = lib --CONFIG += plugin c++11 -+CONFIG += plugin c++17 - - include(../../common/common.pri) - include(../plugininterfaces/plugininterfaces.pri) -diff --git a/src/dde-file-manager-plugins/pluginEmblem/dde-eetrust-emblem-plugin/dde-eetrust-emblem-plugin.pro b/src/dde-file-manager-plugins/pluginEmblem/dde-eetrust-emblem-plugin/dde-eetrust-emblem-plugin.pro -index 6827281..f4ec8a6 100644 ---- a/src/dde-file-manager-plugins/pluginEmblem/dde-eetrust-emblem-plugin/dde-eetrust-emblem-plugin.pro -+++ b/src/dde-file-manager-plugins/pluginEmblem/dde-eetrust-emblem-plugin/dde-eetrust-emblem-plugin.pro -@@ -3,7 +3,7 @@ QT += core - TARGET = dde-eetrust-emblem-plugin - TEMPLATE = lib - --CONFIG += plugin c++11 link_pkgconfig -+CONFIG += plugin c++17 link_pkgconfig - PKGCONFIG += dtkcore - - include(../../../common/common.pri) -diff --git a/src/dde-file-manager-plugins/pluginPreview/dde-image-preview-plugin/dde-image-preview-plugin.pro b/src/dde-file-manager-plugins/pluginPreview/dde-image-preview-plugin/dde-image-preview-plugin.pro -index 9e6ebcd..dd761b0 100644 ---- a/src/dde-file-manager-plugins/pluginPreview/dde-image-preview-plugin/dde-image-preview-plugin.pro -+++ b/src/dde-file-manager-plugins/pluginPreview/dde-image-preview-plugin/dde-image-preview-plugin.pro -@@ -9,7 +9,7 @@ QT += widgets - TARGET = dde-image-preview-plugin - TEMPLATE = lib - --CONFIG += plugin c++11 link_pkgconfig -+CONFIG += plugin c++17 link_pkgconfig - PKGCONFIG += dtkwidget dtkgui - - include(../../../common/common.pri) -diff --git a/src/dde-file-manager-plugins/pluginPreview/dde-music-preview-plugin/dde-music-preview-plugin.pro b/src/dde-file-manager-plugins/pluginPreview/dde-music-preview-plugin/dde-music-preview-plugin.pro -index f2543e7..d61bbe5 100644 ---- a/src/dde-file-manager-plugins/pluginPreview/dde-music-preview-plugin/dde-music-preview-plugin.pro -+++ b/src/dde-file-manager-plugins/pluginPreview/dde-music-preview-plugin/dde-music-preview-plugin.pro -@@ -11,7 +11,7 @@ TEMPLATE = lib - - PKGCONFIG += taglib - --CONFIG += c++11 plugin link_pkgconfig -+CONFIG += c++17 plugin link_pkgconfig - - include(../../../common/common.pri) - include(dde-music-preview-plugin.pri) -diff --git a/src/dde-file-manager-plugins/pluginPreview/dde-pdf-preview-plugin/dde-pdf-preview-plugin.pro b/src/dde-file-manager-plugins/pluginPreview/dde-pdf-preview-plugin/dde-pdf-preview-plugin.pro -index fe27db5..4ad42a6 100644 ---- a/src/dde-file-manager-plugins/pluginPreview/dde-pdf-preview-plugin/dde-pdf-preview-plugin.pro -+++ b/src/dde-file-manager-plugins/pluginPreview/dde-pdf-preview-plugin/dde-pdf-preview-plugin.pro -@@ -11,7 +11,7 @@ TEMPLATE = lib - - PKGCONFIG += poppler-cpp - --CONFIG += c++11 plugin link_pkgconfig -+CONFIG += c++17 plugin link_pkgconfig - - include(../../../common/common.pri) - include(dde-pdf-preview-plugin.pri) -diff --git a/src/dde-file-manager-plugins/pluginPreview/dde-text-preview-plugin/dde-text-preview-plugin.pro b/src/dde-file-manager-plugins/pluginPreview/dde-text-preview-plugin/dde-text-preview-plugin.pro -index 16064fe..54cd773 100644 ---- a/src/dde-file-manager-plugins/pluginPreview/dde-text-preview-plugin/dde-text-preview-plugin.pro -+++ b/src/dde-file-manager-plugins/pluginPreview/dde-text-preview-plugin/dde-text-preview-plugin.pro -@@ -8,7 +8,7 @@ QT += core gui widgets - - TARGET = dde-text-preview-plugin - TEMPLATE = lib --CONFIG += c++11 plugin -+CONFIG += c++17 plugin - - include(../../../common/common.pri) - include(dde-text-preview-plugin.pri) -diff --git a/src/dde-file-manager-plugins/pluginPreview/dde-video-preview-plugin/dde-video-preview-plugin.pro b/src/dde-file-manager-plugins/pluginPreview/dde-video-preview-plugin/dde-video-preview-plugin.pro -index 7b0a9a2..4968023 100644 ---- a/src/dde-file-manager-plugins/pluginPreview/dde-video-preview-plugin/dde-video-preview-plugin.pro -+++ b/src/dde-file-manager-plugins/pluginPreview/dde-video-preview-plugin/dde-video-preview-plugin.pro -@@ -10,7 +10,7 @@ TARGET = dde-video-preview-plugin - TEMPLATE = lib - - PKGCONFIG += libdmr dtkgui --CONFIG += plugin link_pkgconfig c++11 -+CONFIG += plugin link_pkgconfig c++17 - - include(../../../common/common.pri) - include(dde-video-preview-plugin.pri) -diff --git a/src/dde-file-manager-plugins/pluginView/pluginView.pro b/src/dde-file-manager-plugins/pluginView/pluginView.pro -index 8c9f987..d36d5cf 100644 ---- a/src/dde-file-manager-plugins/pluginView/pluginView.pro -+++ b/src/dde-file-manager-plugins/pluginView/pluginView.pro -@@ -9,7 +9,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - - TARGET = pluginView - TEMPLATE = lib --CONFIG += c++11 plugin -+CONFIG += c++17 plugin - - include(../../common/common.pri) - include(../plugininterfaces/plugininterfaces.pri) -diff --git a/src/dde-file-manager-plugins/showfile/showfile.pro b/src/dde-file-manager-plugins/showfile/showfile.pro -index 1661021..78a6ccf 100644 ---- a/src/dde-file-manager-plugins/showfile/showfile.pro -+++ b/src/dde-file-manager-plugins/showfile/showfile.pro -@@ -9,7 +9,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - - TARGET = showfile - TEMPLATE = lib --CONFIG += c++11 plugin -+CONFIG += c++17 plugin - - include(../../common/common.pri) - include(../plugininterfaces/plugininterfaces.pri) -diff --git a/src/dde-file-manager/dde-file-manager.pro b/src/dde-file-manager/dde-file-manager.pro -index 21b4132..899f192 100644 ---- a/src/dde-file-manager/dde-file-manager.pro -+++ b/src/dde-file-manager/dde-file-manager.pro -@@ -14,7 +14,7 @@ isEmpty(TARGET) { - } - - TEMPLATE = app --CONFIG += c++11 link_pkgconfig -+CONFIG += c++17 link_pkgconfig - PKGCONFIG += gio-unix-2.0 - CONFIG(release, release|debug) { - PKGCONFIG += dtkwidget -diff --git a/src/dde-select-dialog-wayland/dde-select-dialog-wayland.pro b/src/dde-select-dialog-wayland/dde-select-dialog-wayland.pro -index 1769f81..c8dfb99 100755 ---- a/src/dde-select-dialog-wayland/dde-select-dialog-wayland.pro -+++ b/src/dde-select-dialog-wayland/dde-select-dialog-wayland.pro -@@ -11,7 +11,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - TARGET = dde-select-dialog-wayland - TEMPLATE = app - --CONFIG += c++11 link_pkgconfig -+CONFIG += c++17 link_pkgconfig - PKGCONFIG += dtkwidget dtkgui dtkcore - - include($$PWD/../dde-desktop/dbus/filedialog/selectdialog.pri) -diff --git a/src/dde-select-dialog-x11/dde-select-dialog-x11.pro b/src/dde-select-dialog-x11/dde-select-dialog-x11.pro -index 967eb65..0a2a230 100755 ---- a/src/dde-select-dialog-x11/dde-select-dialog-x11.pro -+++ b/src/dde-select-dialog-x11/dde-select-dialog-x11.pro -@@ -11,7 +11,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - TARGET = dde-select-dialog-x11 - TEMPLATE = app - --CONFIG += c++11 link_pkgconfig -+CONFIG += c++17 link_pkgconfig - PKGCONFIG += dtkwidget dtkgui dtkcore - - include($$PWD/../dde-desktop/dbus/filedialog/selectdialog.pri) -diff --git a/src/deepin-anything-server-plugins/dde-anythingmonitor/dde-anythingmonitor.pro b/src/deepin-anything-server-plugins/dde-anythingmonitor/dde-anythingmonitor.pro -index e371abe..9d6f8ec 100644 ---- a/src/deepin-anything-server-plugins/dde-anythingmonitor/dde-anythingmonitor.pro -+++ b/src/deepin-anything-server-plugins/dde-anythingmonitor/dde-anythingmonitor.pro -@@ -13,7 +13,7 @@ QT += core \ - dbus \ - concurrent - --CONFIG += c++11 \ -+CONFIG += c++17 \ - console \ - link_pkgconfig \ - plugin --- -2.50.1 - diff --git a/9000-adapt-to-server-path.patch b/9000-adapt-to-server-path.patch new file mode 100644 index 0000000000000000000000000000000000000000..3f966635bf4c46054d7dea9c624c03b4acf3ba74 --- /dev/null +++ b/9000-adapt-to-server-path.patch @@ -0,0 +1,25 @@ +From 4e4185c556950599e86a555aa0faf19d9e85b42c Mon Sep 17 00:00:00 2001 +From: kkz +Date: Mon, 28 Oct 2024 18:50:10 +0800 +Subject: [PATCH] adapt to server path + +--- + src/dfm-base/file/local/localfilehandler.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/dfm-base/file/local/localfilehandler.cpp b/src/dfm-base/file/local/localfilehandler.cpp +index ddde04a..d519d4b 100644 +--- a/src/dfm-base/file/local/localfilehandler.cpp ++++ b/src/dfm-base/file/local/localfilehandler.cpp +@@ -748,7 +748,7 @@ void LocalFileHandlerPrivate::addRecentFile(const QString &filePath, const Deskt + + QString LocalFileHandler::defaultTerminalPath() + { +- const static QString dde_daemon_default_term = QStringLiteral("/usr/lib/deepin-daemon/default-terminal"); ++ const static QString dde_daemon_default_term = QStringLiteral("/usr/libexec/deepin-daemon/default-terminal"); + const static QString debian_x_term_emu = QStringLiteral("/usr/bin/x-terminal-emulator"); + + if (QFileInfo::exists(dde_daemon_default_term)) { +-- +2.43.0 + diff --git a/README.en.md b/README.en.md deleted file mode 100644 index b8513796530486ca618da51a7ba1eb87fa2f9c0c..0000000000000000000000000000000000000000 --- a/README.en.md +++ /dev/null @@ -1,86 +0,0 @@ -# dde-file-manager - -## Description -dde-file-manager is a powerful, easy-to-use file management tool. It follows the classic functions and layouts of traditional file managers, and on this basis simplifies user operations and adds many special functions. The clear navigation bar, intelligently recognized search box, diverse views and sorting make it easy for you to manage, classic and beyond, just to give you a better experience! - -## Software Architecture -Software architecture description - -## Installation - -```shell -dnf install dde-file-manager -``` - -## Instructions - -### Run dde-file-manager - -1. Click the launcher icon on the dock to enter the launcher interface. -2. Scroll the mouse wheel up or down to browse or search for the dde-file-manager icon , and click Run. -3. By right-clicking the dde-file-manager icon, you can: - - Click **Send to Desktop** to create a shortcut on the desktop. - - Click **Send to dock** to pin the app to the dock. - - Click **Add to startup** to add the application to the startup items to automatically run the application when the computer is turned on. - -> TIP: You can also use the shortcut **Super + E** to launch the dde-file-manager. - -### Close the dde-file-manager - -- In the dde-file-manager interface, click X to exit the dde-file-manager. -- Right-click the dde-file-manager icon on the taskbar and select **Close All** to exit the dde-file-manager. -- On the dde-file-manager interface, click the menu bar and select Exit to exit the dde-file-manager. - -### View shortcut keys - -In the dde-file-manager interface, use the shortcut keys **Ctrl + Shift + /** to open the shortcut key preview interface. Skilled use of shortcut keys will greatly improve your operational efficiency. - -![image-hot_key_en](./image/hot_key_en.png) - -## Basic Skills - -The dde-file-manager has basic file management functions, and it is very simple to create, copy, rename, and delete files (folders). - -### Create a new file - -#### New document - -1. In a blank area of the file manager, right-click. -2. Select **New Document**. -3. Select the type of new file from the drop-down menu. -4. Enter a name for the new file. - -![image-newdo_en](./image/newdo_en.png) - -#### New folder - -1. In a blank area of the file manager, right-click. -2. Select **New Folder**. -3. Enter a name for the new folder. - -### Rename file - -1. In the file manager interface, right-click the file. -2. Select **Rename**. -3. Enter the file name and press **Enter** or click in the blank area of the interface. - -![image-rename_en](./image/rename_en.png) - -> Tip: Check "Hide file extension when rename" in **Settings**, it can be more convenient to modify the file name - -## Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -## Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index 90b8edc3f8e7ec47de7c285634afbc119d71663e..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1,87 +0,0 @@ -# dde-file-manager - -## 介绍 -文件管理器是一款功能强大、简单易用的文件管理工具。它沿用了传统文件管理器的经典功能和布局,并在此基础上简化了用户操作,增加了很多特色功能。一目了然的导航栏、智能识别的搜索框、多样化的视图及排序让您管理起来得心应手,经典和超越,只为给您更好的体验! - -## 软件架构 -软件架构说明 - - -## 安装教程 - -```shell -dnf install dde-file-manager -``` - -## 使用说明 - -### 运行文件管理器 - -1. 单击任务栏上的启动器图标,进入启动器界面。 -2. 上下滚动鼠标滚轮浏览或通过搜索,找到文件管理器图标 ,单击运行。 -3. 右键单击文件管理器图标,您可以: - - 单击 **发送到桌面**,在桌面创建快捷方式。 - - 单击 **发送到任务栏**,将应用程序固定到任务栏。 - - 单击 **开机自动启动**,将应用程序添加到开机启动项,在电脑开机时自动运行该应用。 - -> 窍门:您也可以使用快捷键 **Super + E** 启动文件管理器。 - -### 关闭文件管理器 - -- 在文件管理器界面,单击 X,退出文件管理器。 -- 在任务栏右键单击文件管理器图标,选择 **关闭所有** ,退出文件管理器。 -- 在文件管理器界面,单击菜单栏,选择退出,退出文件管理器。 - -### 查看快捷键 - -在文件管理器界面,使用快捷键 **Ctrl + Shift + /** 打开快捷键预览界面。熟练地使用快捷键,将大大提升您的操作效率。 - -![image-hot_key](./image/hot_key.png) - -## 基本功能 - -文件管理器具备基本的文件管理功能,对文件(夹)进行新建、复制、重命名、删除等操作都非常简单。 - -### 新建文件 - -#### 新建文档 - -1. 在文件管理器空白区域,单击鼠标右键。 -2. 选择 **新建文档**。 -3. 在下拉菜单中选择新建文件的类型。 -4. 输入新建文件的名称。 - -![image-newdo](./image/newdo.png) - -#### 新建文件夹 - -1. 在文件管理器空白区域,单击鼠标右键。 -2. 选择 **新建文件夹**。 -3. 输入新建文件夹的名称。 - -### 重命名文件 - -1. 在文件管理器界面,右键单击文件。 -2. 选择 **重命名**。 -3. 输入文件名称,按 **Enter** 键或者单击界面空白区域。 - -![image-rename](./image/rename.png) - -> 窍门:在 **设置** 中勾选“重命名时隐藏文件扩展名”,能更方便地修改文件名称 - -## 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -## 码云特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/b1f7814.diff b/b1f7814.diff new file mode 100644 index 0000000000000000000000000000000000000000..32ef8be3bb65d3d8ff68c9c332844f83df71e343 --- /dev/null +++ b/b1f7814.diff @@ -0,0 +1,47 @@ +From b1f7814b80d8123d728852f4a4c4e84ce7d99ca6 Mon Sep 17 00:00:00 2001 +From: liyigang +Date: Thu, 27 Feb 2025 15:50:36 +0800 +Subject: [PATCH] fix: enhance text encoding detection and conversion in text preview + +- Added DTextEncoding header to utilize text encoding detection and conversion. +- Implemented encoding detection in the setFileUrl method to check the file's encoding before processing. +- Converted text to UTF-8 if the detected encoding is not UTF-8, ensuring proper display of text content. +- Improved error handling by checking the success of encoding detection and conversion. + +This change enhances the text preview functionality by ensuring that text files are correctly encoded and displayed, improving the overall user experience when previewing text files. + +Log: enhance text encoding detection and conversion in text preview +Bug: https://pms.uniontech.com/bug-view-305149.html +Change-Id: Iec78ba2d6159938d09aaebc21d39131e27146d71 +--- + +diff --git a/src/plugins/common/dfmplugin-preview/pluginpreviews/text-preview/textpreview.cpp b/src/plugins/common/dfmplugin-preview/pluginpreviews/text-preview/textpreview.cpp +index 7ccaee8..719d037 100644 +--- a/src/plugins/common/dfmplugin-preview/pluginpreviews/text-preview/textpreview.cpp ++++ b/src/plugins/common/dfmplugin-preview/pluginpreviews/text-preview/textpreview.cpp +@@ -9,6 +9,8 @@ + + #include + ++#include ++ + #include + #include + #include +@@ -60,7 +62,15 @@ + char *buf = new char[static_cast(len)]; + device.seekg(0, ios::beg).read(buf, static_cast(len)); + device.close(); +- std::string strBuf(buf, len); ++ bool ok {false}; ++ QString fileec = DTK_NAMESPACE::DCORE_NAMESPACE::DTextEncoding::detectFileEncoding(url.path(), &ok); ++ std::string strBuf(buf, static_cast(len)); ++ if (ok && fileec.toLower() != "utf-8") { ++ QByteArray out; ++ QByteArray in(buf, static_cast(len)); ++ if (DTK_NAMESPACE::DCORE_NAMESPACE::DTextEncoding::convertTextEncoding(in, out, "utf-8")) ++ strBuf = out.toStdString(); ++ } + textBrowser->textBrowserEdit()->setFileData(strBuf); + delete[] buf; + buf = nullptr; diff --git a/dde-file-manager.spec b/dde-file-manager.spec index 228bcdee8fe6b609e455e1025fa0d6bc8a407988..2a7b5ff4b7e496c4e157aa7779b43bc25083bcc2 100644 --- a/dde-file-manager.spec +++ b/dde-file-manager.spec @@ -1,21 +1,23 @@ -%undefine _lto_cflags Name: dde-file-manager -Version: 5.7.8.1 -Release: 6 +Version: 6.0.58.4 +Release: 1%{?dist}.10 Summary: Deepin File Manager -License: GPLv3 +License: GPLv3+ URL: https://github.com/linuxdeepin/dde-file-manager -Source0: %{name}_%{version}.orig.tar.xz -Patch0: 0001-hide-authorized-watermask.patch -Patch1: 0002-fix-undefined-std-array.patch -Patch2: 0001-fix-build-error.patch -Patch3: 0003-set-default-c++17.patch +Source0: dde-file-manager_6.0.58.4.orig.tar.xz +Patch9000: 9000-adapt-to-server-path.patch +Patch9001: 0001-fix-enhance-sorting-logic-to-handle-symbolic-links-i.patch +Patch9002: 0002-fix-enhance-sorting-functionality-in-FileViewModel-a.patch +Patch9003: b1f7814.diff +Patch9004: 0001-fix-smb-error.patch BuildRequires: gcc-c++ BuildRequires: desktop-file-utils BuildRequires: deepin-gettext-tools BuildRequires: dde-dock-devel BuildRequires: file-devel +#BuildRequires: jemalloc-devel +#BuildRequires: cmake(KF5Codecs) BuildRequires: pkgconfig(atk) BuildRequires: dtkgui-devel BuildRequires: pkgconfig(dtkwidget) >= 5.1 @@ -49,16 +51,25 @@ BuildRequires: openssl-devel BuildRequires: libqtxdg-devel BuildRequires: libmediainfo-devel BuildRequires: kf5-kcodecs-devel +#BuildRequires: libudisks2-qt5-devel BuildRequires: lucene++-devel BuildRequires: htmlcxx-devel BuildRequires: libgsf-devel BuildRequires: mimetic-devel BuildRequires: boost-devel -BuildRequires: deepin-anything-devel -BuildRequires: deepin-anything-server -BuildRequires: pcre-devel +%ifarch %{ix86} x86_64 +BuildRequires: deepin-anything-devel deepin-anything-server +%endif BuildRequires: docparser-devel BuildRequires: cryptsetup-devel +BuildRequires: cmake +BuildRequires: cmake-rpm-macros +#BuildRequires: libdfm-burn-devel +#BuildRequires: libdfm-io-devel +#BuildRequires: libdfm-mount-devel +#BuildRequires: deepin-pdfium-devel +BuildRequires: pkgconfig(libpcre) + # run command by QProcess #Requires: deepin-shortcut-viewer @@ -68,8 +79,11 @@ Requires: dde-desktop Requires: jemalloc Requires: libglvnd-glx Requires: libdde-file-manager -Requires: deepin-anything-dkms -Requires: deepin-anything-server +Requires: cryfs +Requires: dlnfs +%ifarch %{ix86} x86_64 +Requires: deepin-anything-dkms deepin-anything-server +%endif #Requires: gvfs-client #Requires: samba #Requires: xdg-user-dirs @@ -82,6 +96,9 @@ File manager front end of Deepin OS. %package devel Summary: Development package for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} +#Requires: libdfm-io-devel +#Requires: libdfm-mount-devel +#Requires: libdfm-burn-devel %description devel Header files and libraries for %{name}. @@ -97,8 +114,9 @@ Requires: libzen Requires: udisks2-qt5 Requires: taglib Requires: libgio-qt +%ifarch %{ix86} x86_64 Requires: deepin-anything-libs - +%endif %description -n libdde-file-manager DDE File Manager library. @@ -123,22 +141,30 @@ Deepin desktop environment - desktop module. %prep %autosetup -p1 -# fix file permissions -find -type f -perm 775 -exec chmod 644 {} \; -#sed -i '/target.path/s|lib|%{_lib}|' src/dde-dock-plugins/disk-mount/disk-mount.pro -sed -i '/deepin-daemon/s|lib|libexec|' src/dde-zone/mainwindow.h -sed -i 's|lib/gvfs|libexec|' src/%{name}-lib/gvfs/networkmanager.cpp -#sed -i 's|%{_datadir}|%{_libdir}|' dde-sharefiles/appbase.pri -sed -i 's|/lib/dde-dock/plugins|/lib64/dde-dock/plugins|' src/dde-dock-plugins/disk-mount/disk-mount.pro %build export PATH=%{_qt5_bindir}:$PATH -%qmake_qt5 PREFIX=%{_prefix} QMAKE_CFLAGS_ISYSTEM= CONFIG+="DISABLE_FFMPEG" DEFINES+="VERSION=%{version}" filemanager.pro +%cmake -B build -DCMAKE_INSTALL_PREFIX=%{_prefix} -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} -DVERSION=%{version} +cd build %make_build %install +# bugid:286227 +find . -type f -name "p_file-manager.md" | while read file; do + dir=$(dirname "$file") + new_file="${dir}/file-manager.md" + cp "$file" "$new_file" +done +cd build %make_install INSTALL_ROOT=%{buildroot} +%post +cp %{_sysconfdir}/X11/Xsession.d/99dfm-dlnfs-automount %{_sysconfdir}/X11/xinit/xinitrc.d/ +df -h | grep boot | awk '{print $1}' | xargs -i blkid {} | awk '{print $2}' | awk -F '=' '{print $2}' |xargs -i echo "ENV{ID_FS_UUID}==\"{}\", ENV{UDISKS_IGNORE}=\"1\"" >> /etc/udev/rules.d/80-udisks-installer.rules + +%postun +rm -rf /etc/udev/rules.d/80-udisks-installer.rules + %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop desktop-file-validate %{buildroot}%{_datadir}/applications/dde-computer.desktop ||: @@ -151,93 +177,93 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/dde-home.desktop ||: %doc README.md %license LICENSE %config(noreplace) %{_sysconfdir}/dbus-1/system.d/com.deepin.filemanager.daemon.conf -%{_bindir}/%{name} %{_bindir}/%{name}-daemon -%{_bindir}/%{name}-pkexec -%ifnarch x86_64 riscv64 -%{_bindir}/*.sh -%{_sysconfdir}/xdg/autostart/dde-file-manager-autostart.desktop -%endif -%{_bindir}/dde-property-dialog -%{_bindir}/dde-select-dialog-wayland +%attr(755,root,root)%{_bindir}/%{name}-pkexec +%{_bindir}/%{name}-server +%attr(755,root,root)%{_bindir}/dde-property-dialog +%{_bindir}/dde-file-dialog %{_bindir}/dde-select-dialog-x11 -/usr/lib/systemd/system/dde-filemanager-daemon.service - -%{_datadir}/applications/dde-open.desktop +%{_bindir}/dde-select-dialog-wayland +%{_libdir}/%{name}/plugins/filemanager-core/*.so %{_datadir}/applications/%{name}.desktop +%{_datadir}/applications/dde-open.desktop +%{_datadir}/%{name}/translations/*.qm +#%{_datadir}/qt5/doc/* +%{_prefix}/lib/systemd/system/dde-filemanager-daemon.service %{_datadir}/dbus-1/interfaces/com.deepin.filemanager.filedialog.xml %{_datadir}/dbus-1/interfaces/com.deepin.filemanager.filedialogmanager.xml %{_datadir}/dbus-1/services/com.deepin.filemanager.filedialog.service %{_datadir}/dbus-1/services/com.deepin.filemanager.filedialog_wayland.service %{_datadir}/dbus-1/services/com.deepin.filemanager.filedialog_x11.service -%{_datadir}/dbus-1/services/org.freedesktop.FileManager.service +%{_datadir}/dbus-1/services/org.deepin.filemanager.server.service %{_datadir}/dbus-1/system-services/com.deepin.filemanager.daemon.service -%{_datadir}/polkit-1/actions/com.deepin.filemanager.daemon.policy -%{_datadir}/polkit-1/actions/com.deepin.pkexec.dde-file-manager.policy %{_datadir}/deepin-manual/manual-assets/application/dde-file-manager -%{_datadir}/applications/context-menus/.readme -%{_libdir}/%{name}/plugins/extensions/.readme -%{_datadir}/%{name}/extensions/appEntry/.readme +%{_datadir}/polkit-1/actions/com.deepin.filemanager*.policy +%{_datadir}/polkit-1/actions/com.deepin.pkexec.dde-file-manager.policy +%{_sysconfdir}/X11/Xsession.d/99dfm-dlnfs-automount +%{_sysconfdir}/deepin/%{name}/dfm-dlnfs-automount +%{_libdir}/%{name}/plugins/common-edge/*.so +%{_libdir}/%{name}/plugins/daemon-edge/*.so +%{_libdir}/%{name}/plugins/filemanager-edge/*.so +%{_libdir}/%{name}/plugins/previews/*.so +%{_datadir}/mime/packages/dtk-dci.xml +%{_libdir}/%{name}/plugins/server-edge/*.so +%attr(755,root,root)%{_bindir}/dfm-open.sh +/usr/lib/systemd/user/dde-file-manager.service +%{_libdir}/libdde-file-manager.so.* +%{_bindir}/dde-file-manager +%{_datadir}/deepin-debug-config/deepin-debug-config.d/org.deepin.file-manager.json +%{_datadir}/deepin-log-viewer/deepin-log.conf.d/dde-file-manager.json %files -n libdde-file-manager -%{_libdir}/dde-file-manager/plugins/previews/libdde-image-preview-plugin.so -%{_libdir}/dde-file-manager/plugins/previews/libdde-music-preview-plugin.so -%{_libdir}/dde-file-manager/plugins/previews/libdde-pdf-preview-plugin.so -%{_libdir}/dde-file-manager/plugins/previews/libdde-text-preview-plugin.so -%{_libdir}/dde-file-manager/plugins/extensions/libdde-eetrust-emblem-plugin.so -%{_libdir}/libdde-file-manager.so.1.8.2 -%{_datadir}/dsg/configs/org.deepin.dde.file-manager/org.deepin.dde.file-manager.json -%{_datadir}/dde-file-manager/mimetypeassociations/mimetypeassociations.json -%{_datadir}/dde-file-manager/mimetypes/archive.mimetype -%{_datadir}/dde-file-manager/mimetypes/audio.mimetype -%{_datadir}/dde-file-manager/mimetypes/backup.mimetype -%{_datadir}/dde-file-manager/mimetypes/executable.mimetype -%{_datadir}/dde-file-manager/mimetypes/image.mimetype -%{_datadir}/dde-file-manager/mimetypes/text.mimetype -%{_datadir}/dde-file-manager/mimetypes/video.mimetype -%{_datadir}/dde-file-manager/templates/newDoc.wps -%{_datadir}/dde-file-manager/templates/newExcel.et -%{_datadir}/dde-file-manager/templates/newPowerPoint.dps -%{_datadir}/dde-file-manager/templates/newDoc.doc -%{_datadir}/dde-file-manager/templates/newExcel.xls -%{_datadir}/dde-file-manager/templates/newPowerPoint.ppt -%{_datadir}/dde-file-manager/templates/newTxt.txt -%{_datadir}/dde-file-manager/translations/ -%{_datadir}/deepin/dde-file-manager/oem-menuextensions/.readme -%{_datadir}/glib-2.0/schemas/com.deepin.dde.filemanager.gschema.xml -%{_datadir}/icons/hicolor/scalable/apps/dde-file-manager.svg -%{_libdir}/libdde-file-manager.so.1 -%{_libdir}/libdde-file-manager.so.1.8 -%{_libdir}/libdfm-extension.so.1 -%{_libdir}/libdfm-extension.so.1.8 -%{_libdir}/libdfm-extension.so.1.8.2 -%ifarch x86_64 -%{_libdir}/deepin-anything-server-lib/plugins/handlers/libdde-anythingmonitor.so -%endif +%{_libdir}/libdfm-base.so* +%{_libdir}/libdfm-framework.so* +%{_libdir}/%{name}/plugins/common-core/*.so +%{_libdir}/%{name}/tools/* +%{_datadir}/%{name}/templates/* +%{_datadir}/%{name}/mimetypes/*.mimetype +%{_datadir}/%{name}/mimetypeassociations/*.json +%{_datadir}/glib-2.0/schemas/*.filemanager.gschema.xml +%{_datadir}/deepin/%{name}/oem-menuextensions/.readme +%{_datadir}/applications/context-menus/.readme +%{_datadir}/%{name}/extensions/appEntry/.readme +%{_datadir}/dsg/configs/org.deepin.dde.file-manager/*.json +%{_libdir}//libdfm-extension.so* +%{_libdir}/%{name}/plugins/previews/*.json %files -n dde-disk-mount-plugin -%{_libdir}/dde-dock/plugins/system-trays/libdde-disk-mount-plugin.so -%{_datadir}/dde-disk-mount-plugin/translations -%{_datadir}/glib-2.0/schemas/com.deepin.dde.dock.module.disk-mount.gschema.xml +%{_prefix}/lib/dde-dock/plugins/system-trays/libdde-disk-mount-plugin.so +%{_datadir}/glib-2.0/schemas/*.disk-mount.gschema.xml %files devel -%{_includedir}/%{name}/ +%{_includedir}/dfm-base/ +%{_includedir}/dfm-framework/ +%{_libdir}/pkgconfig/dfm-base.pc +%{_libdir}/cmake/dfm-base/*.cmake +%{_libdir}/pkgconfig/dfm-framework.pc +%{_libdir}/cmake/dfm-framework/*.cmake +%{_libdir}/libdfm-base.so +%{_libdir}/libdfm-extension.so +%{_libdir}/libdfm-framework.so %{_includedir}/dfm-extension/ -%{_libdir}/pkgconfig/%{name}.pc %{_libdir}/pkgconfig/dfm-extension.pc -%{_libdir}/lib%{name}.so -%{_libdir}/libdfm-extension.so +%{_libdir}/cmake/dfm-extension/*.cmake +%{_libdir}/libdde-file-manager.so %files -n dde-desktop %{_bindir}/dde-desktop +%{_libdir}/%{name}/plugins/desktop-core/*.so +%{_libdir}/%{name}/plugins/desktop-edge/*.so %{_datadir}/applications/dde-computer.desktop %{_datadir}/applications/dde-home.desktop %{_datadir}/applications/dde-trash.desktop -%dir %{_datadir}/dde-desktop -%{_datadir}/dde-desktop/translations/ %{_datadir}/dbus-1/services/com.deepin.dde.desktop.service +%{_datadir}/dbus-1/services/org.freedesktop.FileManager.service %changelog +* Mon Aug 25 2025 zhuhongbo zhuhongbo@uniontech.com - 6.0.58.4-1.10 +- fix: update to version 6.0.58.4 and adapt to server path(bugid:000000) + * Tue Aug 05 2025 pangqing - 5.7.8.1-6 - set default c++17 diff --git a/dde-file-manager.yaml b/dde-file-manager.yaml deleted file mode 100644 index d7e6e50d2ff05a75695e8de30d3cf8cc62ddcf78..0000000000000000000000000000000000000000 --- a/dde-file-manager.yaml +++ /dev/null @@ -1,4 +0,0 @@ -version_control: github -src_repo: linuxdeepin/dde-file-manager -tag_prefix: ^v -seperator: . diff --git a/dde-file-manager_5.7.8.1.orig.tar.xz b/dde-file-manager_6.0.58.4.orig.tar.xz similarity index 64% rename from dde-file-manager_5.7.8.1.orig.tar.xz rename to dde-file-manager_6.0.58.4.orig.tar.xz index 5ca1671f7fa5055df2253afa6028893b2055ecd5..6be994079d7676ce0b3b937c375a4a47d4ee8bae 100644 Binary files a/dde-file-manager_5.7.8.1.orig.tar.xz and b/dde-file-manager_6.0.58.4.orig.tar.xz differ diff --git a/image/hot_key.png b/image/hot_key.png deleted file mode 100644 index 1e3c2c12fc79d6fa7f92de18d85fb732bb331713..0000000000000000000000000000000000000000 Binary files a/image/hot_key.png and /dev/null differ diff --git a/image/hot_key_en.png b/image/hot_key_en.png deleted file mode 100644 index 0befd3a2e0cd588888b421e749d3d0773cc58ad8..0000000000000000000000000000000000000000 Binary files a/image/hot_key_en.png and /dev/null differ diff --git a/image/newdo.png b/image/newdo.png deleted file mode 100644 index adea46a9c13413b6e878f668b5062eb45b7160ed..0000000000000000000000000000000000000000 Binary files a/image/newdo.png and /dev/null differ diff --git a/image/newdo_en.png b/image/newdo_en.png deleted file mode 100644 index 94f3ae413cf2924512a4939757e499122651dce9..0000000000000000000000000000000000000000 Binary files a/image/newdo_en.png and /dev/null differ diff --git a/image/rename.png b/image/rename.png deleted file mode 100644 index c63ee57026fc28a6d0f0c72abde4ca34975504ce..0000000000000000000000000000000000000000 Binary files a/image/rename.png and /dev/null differ diff --git a/image/rename_en.png b/image/rename_en.png deleted file mode 100644 index 2089bdd07c91584079b5a236f4ea117184b94b97..0000000000000000000000000000000000000000 Binary files a/image/rename_en.png and /dev/null differ