aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-mime-cache-paths.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-mime-cache-paths.patch')
-rw-r--r--nixpkgs/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-mime-cache-paths.patch323
1 files changed, 0 insertions, 323 deletions
diff --git a/nixpkgs/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-mime-cache-paths.patch b/nixpkgs/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-mime-cache-paths.patch
deleted file mode 100644
index 253a67b04ec..00000000000
--- a/nixpkgs/pkgs/desktops/deepin/dde-file-manager/dde-file-manager.fix-mime-cache-paths.patch
+++ /dev/null
@@ -1,323 +0,0 @@
-From 29f4ad88e2294ae70b10180e7361d135c4e5c896 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
-Date: Mon, 13 May 2019 00:09:42 -0300
-Subject: [PATCH 2/2] Use XDG to look for mime cache
-
----
- .../shutil/mimesappsmanager.cpp | 230 ++++++++++--------
- .../shutil/mimesappsmanager.h | 6 +-
- 2 files changed, 125 insertions(+), 111 deletions(-)
-
-diff --git a/dde-file-manager-lib/shutil/mimesappsmanager.cpp b/dde-file-manager-lib/shutil/mimesappsmanager.cpp
-index c9e53630..7a21df51 100644
---- a/dde-file-manager-lib/shutil/mimesappsmanager.cpp
-+++ b/dde-file-manager-lib/shutil/mimesappsmanager.cpp
-@@ -552,14 +552,20 @@ QString MimesAppsManager::getMimeAppsCacheFile()
- return QString("%1/%2").arg(DFMStandardPaths::location(DFMStandardPaths::CachePath), "MimeApps.json");
- }
-
--QString MimesAppsManager::getMimeInfoCacheFilePath()
-+QStringList MimesAppsManager::getMimeInfoCacheFilePath()
- {
-- return "/usr/share/applications/mimeinfo.cache";
-+ QStringList paths;
-+ for (const QString dir : getMimeInfoCacheFileRootPath() )
-+ paths.append(dir + QDir::separator() + "mimeinfo.cache");
-+ qDebug() << "getMimeInfoCacheFilePath: " << paths;
-+ return paths;
- }
-
--QString MimesAppsManager::getMimeInfoCacheFileRootPath()
-+QStringList MimesAppsManager::getMimeInfoCacheFileRootPath()
- {
-- return "/usr/share/applications";
-+ QStringList paths = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
-+ qDebug() << "getMimeInfoCacheFileRootPath: " << paths;
-+ return paths;
- }
-
- QString MimesAppsManager::getDesktopFilesCacheFile()
-@@ -574,23 +580,27 @@ QString MimesAppsManager::getDesktopIconsCacheFile()
-
- QStringList MimesAppsManager::getDesktopFiles()
- {
-- QStringList desktopFiles;
-+ QStringList desktopFiles;
-
-- foreach (QString desktopFolder, getApplicationsFolders()) {
-- QDirIterator it(desktopFolder, QStringList("*.desktop"),
-- QDir::Files | QDir::NoDotAndDotDot,
-- QDirIterator::Subdirectories);
-- while (it.hasNext()) {
-- it.next();
-- desktopFiles.append(it.filePath());
-- }
-- }
-- return desktopFiles;
-+ foreach (QString desktopFolder, getApplicationsFolders()) {
-+ QDirIterator it(desktopFolder, QStringList("*.desktop"),
-+ QDir::Files | QDir::NoDotAndDotDot,
-+ QDirIterator::Subdirectories);
-+ while (it.hasNext()) {
-+ it.next();
-+ desktopFiles.append(it.filePath());
-+ }
-+ }
-+ return desktopFiles;
- }
-
--QString MimesAppsManager::getDDEMimeTypeFile()
-+QStringList MimesAppsManager::getDDEMimeTypeFile()
- {
-- return QString("%1/%2/%3").arg(getMimeInfoCacheFileRootPath(), "deepin", "dde-mimetype.list");
-+ QStringList paths;
-+ for (const QString path : getMimeInfoCacheFileRootPath())
-+ paths.append(QString("%1/%2/%3").arg(path, "deepin", "dde-mimetype.list"));
-+ qDebug() << "getDDEMimeTypeFile: " << paths;
-+ return paths;
- }
-
- QMap<QString, DesktopFile> MimesAppsManager::getDesktopObjs()
-@@ -663,124 +673,128 @@ void MimesAppsManager::initMimeTypeApps()
- MimeApps.insert(key, orderApps);
- }
-
-- //check mime apps from cache
-- QFile f(getMimeInfoCacheFilePath());
-- if(!f.open(QIODevice::ReadOnly)){
-- qDebug () << "failed to read mime info cache file:" << f.errorString();
-- return;
-- }
--
- QStringList audioDesktopList;
- QStringList imageDeksopList;
- QStringList textDekstopList;
- QStringList videoDesktopList;
-
-- while (!f.atEnd()) {
-- QString data = f.readLine();
-- QString _desktops = data.split("=").last();
-- QString mimeType = data.split("=").first();
-- QStringList desktops = _desktops.split(";");
--
-- foreach (const QString desktop, desktops) {
-- if(desktop.isEmpty() || audioDesktopList.contains(desktop))
-- continue;
-+ //check mime apps from cache
-+ for (const QString path : getMimeInfoCacheFilePath()) {
-+ QFile f(path);
-+ if(!f.open(QIODevice::ReadOnly)){
-+ qDebug () << "failed to read mime info cache file:" << f.errorString();
-+ return;
-+ }
-
-- if(mimeType.startsWith("audio")){
-- if(!audioDesktopList.contains(desktop))
-- audioDesktopList << desktop;
-- } else if(mimeType.startsWith("image")){
-- if(!imageDeksopList.contains(desktop))
-- imageDeksopList << desktop;
-- } else if(mimeType.startsWith("text")){
-- if(!textDekstopList.contains(desktop))
-- textDekstopList << desktop;
-- } else if(mimeType.startsWith("video")){
-- if(!videoDesktopList.contains(desktop))
-- videoDesktopList << desktop;
-+ while (!f.atEnd()) {
-+ QString data = f.readLine();
-+ QString _desktops = data.split("=").last();
-+ QString mimeType = data.split("=").first();
-+ QStringList desktops = _desktops.split(";");
-+
-+ foreach (const QString desktop, desktops) {
-+ if(desktop.isEmpty() || audioDesktopList.contains(desktop))
-+ continue;
-+
-+ if(mimeType.startsWith("audio")){
-+ if(!audioDesktopList.contains(desktop))
-+ audioDesktopList << desktop;
-+ } else if(mimeType.startsWith("image")){
-+ if(!imageDeksopList.contains(desktop))
-+ imageDeksopList << desktop;
-+ } else if(mimeType.startsWith("text")){
-+ if(!textDekstopList.contains(desktop))
-+ textDekstopList << desktop;
-+ } else if(mimeType.startsWith("video")){
-+ if(!videoDesktopList.contains(desktop))
-+ videoDesktopList << desktop;
-+ }
- }
- }
-+ f.close();
- }
-- f.close();
-
-- const QString mimeInfoCacheRootPath = getMimeInfoCacheFileRootPath();
-- foreach (QString desktop, audioDesktopList) {
-- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
-- if(!QFile::exists(path))
-- continue;
-- DesktopFile df(path);
-- AudioMimeApps.insert(path, df);
-- }
-+ for (const QString mimeInfoCacheRootPath : getMimeInfoCacheFileRootPath()) {
-+ foreach (QString desktop, audioDesktopList) {
-+ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
-+ if(!QFile::exists(path))
-+ continue;
-+ DesktopFile df(path);
-+ AudioMimeApps.insert(path, df);
-+ }
-
-- foreach (QString desktop, imageDeksopList) {
-- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
-- if(!QFile::exists(path))
-- continue;
-- DesktopFile df(path);
-- ImageMimeApps.insert(path, df);
-- }
-+ foreach (QString desktop, imageDeksopList) {
-+ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
-+ if(!QFile::exists(path))
-+ continue;
-+ DesktopFile df(path);
-+ ImageMimeApps.insert(path, df);
-+ }
-
-- foreach (QString desktop, textDekstopList) {
-- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
-- if(!QFile::exists(path))
-- continue;
-- DesktopFile df(path);
-- TextMimeApps.insert(path, df);
-- }
-+ foreach (QString desktop, textDekstopList) {
-+ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
-+ if(!QFile::exists(path))
-+ continue;
-+ DesktopFile df(path);
-+ TextMimeApps.insert(path, df);
-+ }
-
-- foreach (QString desktop, videoDesktopList) {
-- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
-- if(!QFile::exists(path))
-- continue;
-- DesktopFile df(path);
-- VideoMimeApps.insert(path, df);
-+ foreach (QString desktop, videoDesktopList) {
-+ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
-+ if(!QFile::exists(path))
-+ continue;
-+ DesktopFile df(path);
-+ VideoMimeApps.insert(path, df);
-+ }
- }
--
- return;
- }
-
- void MimesAppsManager::loadDDEMimeTypes()
- {
-- QSettings settings(getDDEMimeTypeFile(), QSettings::IniFormat);
-- qDebug() << settings.childGroups();
-+ for (const QString path : getDDEMimeTypeFile()) {
-+ QSettings settings(path, QSettings::IniFormat);
-+ qDebug() << settings.childGroups();
-
-- QFile file(getDDEMimeTypeFile());
-- if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
-- return;
-- }
-+ QFile file(path);
-+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
-+ continue;
-+ }
-+
-+ // Read propeties
-+ QTextStream in(&file);
-+ QString desktopKey;
-+ while (!in.atEnd()) {
-
-- // Read propeties
-- QTextStream in(&file);
-- QString desktopKey;
-- while (!in.atEnd()) {
-+ // Read new line
-+ QString line = in.readLine();
-
-- // Read new line
-- QString line = in.readLine();
-+ // Skip empty line or line with invalid format
-+ if (line.trimmed().isEmpty()) {
-+ continue;
-+ }
-
-- // Skip empty line or line with invalid format
-- if (line.trimmed().isEmpty()) {
-- continue;
-- }
-+ // Read group
-+ // NOTE: symbols '[' and ']' can be found not only in group names, but
-+ // only group can start with '['
-
-- // Read group
-- // NOTE: symbols '[' and ']' can be found not only in group names, but
-- // only group can start with '['
-+ if (line.trimmed().startsWith("[") && line.trimmed().endsWith("]")) {
-+ QString tmp = line.trimmed().replace("[", "").replace("]", "");
-+ desktopKey = tmp;
-+ continue;
-+ }
-
-- if (line.trimmed().startsWith("[") && line.trimmed().endsWith("]")) {
-- QString tmp = line.trimmed().replace("[", "").replace("]", "");
-- desktopKey = tmp;
-- continue;
-- }
--
-- // If we are in correct group and line contains assignment then read data
-- int first_equal = line.indexOf('=');
-- if (!desktopKey.isEmpty() && first_equal >= 0) {
-- QString value = line.mid(first_equal + 1);
-- QStringList mimetypes = value.split(";");
-- DDE_MimeTypes.insert(desktopKey, mimetypes);
-- desktopKey.clear();
-+ // If we are in correct group and line contains assignment then read data
-+ int first_equal = line.indexOf('=');
-+ if (!desktopKey.isEmpty() && first_equal >= 0) {
-+ QString value = line.mid(first_equal + 1);
-+ QStringList mimetypes = value.split(";");
-+ DDE_MimeTypes.insert(desktopKey, mimetypes);
-+ desktopKey.clear();
-+ }
- }
-+ file.close();
- }
-- file.close();
- }
-
- bool MimesAppsManager::lessByDateTime(const QFileInfo &f1, const QFileInfo &f2)
-diff --git a/dde-file-manager-lib/shutil/mimesappsmanager.h b/dde-file-manager-lib/shutil/mimesappsmanager.h
-index 223c80aa..00a61302 100644
---- a/dde-file-manager-lib/shutil/mimesappsmanager.h
-+++ b/dde-file-manager-lib/shutil/mimesappsmanager.h
-@@ -101,12 +101,12 @@ public:
-
- static QStringList getApplicationsFolders();
- static QString getMimeAppsCacheFile();
-- static QString getMimeInfoCacheFilePath();
-- static QString getMimeInfoCacheFileRootPath();
-+ static QStringList getMimeInfoCacheFilePath();
-+ static QStringList getMimeInfoCacheFileRootPath();
- static QString getDesktopFilesCacheFile();
- static QString getDesktopIconsCacheFile();
- static QStringList getDesktopFiles();
-- static QString getDDEMimeTypeFile();
-+ static QStringList getDDEMimeTypeFile();
- static QMap<QString, DesktopFile> getDesktopObjs();
- static void initMimeTypeApps();
- static void loadDDEMimeTypes();
---
-2.21.0
-