summary refs log tree commit diff
path: root/pkgs/applications/kde/grantleetheme
diff options
context:
space:
mode:
authorgnidorah <gnidorah@users.noreply.github.com>2017-12-22 17:39:37 +0300
committergnidorah <gnidorah@users.noreply.github.com>2017-12-24 12:54:19 +0300
commit998f9578f66be622f772bc59ba92a4aca9c1c34a (patch)
treeba54cbac239f69720ded534ed6c6da7b35a75f4c /pkgs/applications/kde/grantleetheme
parent3c80e17ee166ea47c27b5a700942eb86af20a97d (diff)
downloadnixlib-998f9578f66be622f772bc59ba92a4aca9c1c34a.tar
nixlib-998f9578f66be622f772bc59ba92a4aca9c1c34a.tar.gz
nixlib-998f9578f66be622f772bc59ba92a4aca9c1c34a.tar.bz2
nixlib-998f9578f66be622f772bc59ba92a4aca9c1c34a.tar.lz
nixlib-998f9578f66be622f772bc59ba92a4aca9c1c34a.tar.xz
nixlib-998f9578f66be622f772bc59ba92a4aca9c1c34a.tar.zst
nixlib-998f9578f66be622f772bc59ba92a4aca9c1c34a.zip
kdeApplications.grantleetheme: fix build
Diffstat (limited to 'pkgs/applications/kde/grantleetheme')
-rw-r--r--pkgs/applications/kde/grantleetheme/grantlee-merge-theme-dirs.patch144
1 files changed, 71 insertions, 73 deletions
diff --git a/pkgs/applications/kde/grantleetheme/grantlee-merge-theme-dirs.patch b/pkgs/applications/kde/grantleetheme/grantlee-merge-theme-dirs.patch
index 6275bb84c17b..fe8b15febf2e 100644
--- a/pkgs/applications/kde/grantleetheme/grantlee-merge-theme-dirs.patch
+++ b/pkgs/applications/kde/grantleetheme/grantlee-merge-theme-dirs.patch
@@ -11,11 +11,72 @@ Index: grantleetheme-17.04.0/src/grantleetheme_p.h
      QString author;
      QString email;
  
-Index: grantleetheme-17.04.0/src/grantleetheme.cpp
+Index: grantleetheme-17.04.0/src/grantleetheme.h
+===================================================================
+--- grantleetheme-17.04.0.orig/src/grantleetheme.h
++++ grantleetheme-17.04.0/src/grantleetheme.h
+@@ -50,11 +50,14 @@ public:
+     QStringList displayExtraVariables() const;
+     QString dirName() const;
+     QString absolutePath() const;
++    QStringList absolutePaths() const;
+     QString author() const;
+     QString authorEmail() const;
+ 
+     QString render(const QString &templateName, const QVariantHash &data, const QByteArray &applicationDomain = QByteArray());
+ 
++    void addThemeDir(const QString&);
++
+     static void addPluginPath(const QString &path);
+ 
+ private:
+Index: grantleetheme-17.04.0/src/grantleethememanager.cpp
 ===================================================================
---- grantleetheme-17.04.0.orig/src/grantleetheme.cpp
-+++ grantleetheme-17.04.0/src/grantleetheme.cpp
-@@ -45,7 +45,7 @@ ThemePrivate::ThemePrivate(const ThemePr
+--- grantleetheme-17.04.0.orig/src/grantleethememanager.cpp
++++ grantleetheme-17.04.0/src/grantleethememanager.cpp
+@@ -142,25 +142,18 @@ public:
+ 
+         for (const QString &directory : qAsConst(themesDirectories)) {
+             QDirIterator dirIt(directory, QStringList(), QDir::AllDirs | QDir::NoDotAndDotDot);
+-            QStringList alreadyLoadedThemeName;
+             while (dirIt.hasNext()) {
+                 dirIt.next();
+                 const QString dirName = dirIt.fileName();
+                 GrantleeTheme::Theme theme = q->loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName);
+                 if (theme.isValid()) {
+                     QString themeName = theme.name();
+-                    if (alreadyLoadedThemeName.contains(themeName)) {
+-                        int i = 2;
+-                        const QString originalName(theme.name());
+-                        while (alreadyLoadedThemeName.contains(themeName)) {
+-                            themeName = originalName + QStringLiteral(" (%1)").arg(i);
+-                            ++i;
+-                        }
+-                        theme.d->name = themeName;
++                    QMap<QString, GrantleeTheme::Theme>::iterator i = themes.find(dirName);
++                    if (i != themes.end()) {
++                        i.value().addThemeDir(dirIt.filePath());
++                    } else {
++                        themes.insert(dirName, theme);
+                     }
+-                    alreadyLoadedThemeName << themeName;
+-                    themes.insert(dirName, theme);
+-                    //qDebug()<<" theme.name()"<<theme.name();
+                 }
+             }
+             watch->addDir(directory);
+@@ -374,7 +367,7 @@ QString ThemeManager::pathFromThemes(con
+                 GrantleeTheme::Theme theme = loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName);
+                 if (theme.isValid()) {
+                     if (dirName == themeName) {
+-                        return theme.absolutePath();
++                        return theme.absolutePaths().first();
+                     }
+                 }
+             }
+--- src/grantleetheme.cpp.orig	2017-12-22 16:11:39.863598126 +0300
++++ ./src/grantleetheme.cpp	2017-12-22 16:16:14.045664607 +0300
+@@ -46,7 +46,7 @@ ThemePrivate::ThemePrivate(const ThemePr
      , description(other.description)
      , name(other.name)
      , dirName(other.dirName)
@@ -24,7 +85,7 @@ Index: grantleetheme-17.04.0/src/grantleetheme.cpp
      , author(other.author)
      , email(other.email)
      , loader(other.loader)
-@@ -63,12 +63,15 @@ void ThemePrivate::setupEngine()
+@@ -64,12 +64,15 @@ void ThemePrivate::setupEngine()
  
  void ThemePrivate::setupLoader()
  {
@@ -38,13 +99,13 @@ Index: grantleetheme-17.04.0/src/grantleetheme.cpp
 +        templateDirs << dir.absolutePath();
 +    }
  
-     loader = QSharedPointer<Grantlee::FileSystemTemplateLoader>::create();
+     loader = QSharedPointer<GrantleeTheme::QtResourceTemplateLoader>::create();
 -    loader->setTemplateDirs({ dir.absolutePath() });
 +    loader->setTemplateDirs(templateDirs);
      loader->setTheme(dirName);
  
      if (!sEngine) {
-@@ -122,7 +123,7 @@ Theme::Theme(const QString &themePath, c
+@@ -121,7 +124,7 @@ Theme::Theme(const QString &themePath, c
      KConfigGroup group(&config, QStringLiteral("Desktop Entry"));
      if (group.isValid()) {
          d->dirName = dirName;
@@ -53,7 +114,7 @@ Index: grantleetheme-17.04.0/src/grantleetheme.cpp
          d->name = group.readEntry("Name", QString());
          d->description = group.readEntry("Description", QString());
          d->themeFileName = group.readEntry("FileName", QString());
-@@ -141,7 +142,7 @@ Theme::~Theme()
+@@ -140,7 +143,7 @@ Theme::~Theme()
  
  bool Theme::operator==(const Theme &other) const
  {
@@ -62,7 +123,7 @@ Index: grantleetheme-17.04.0/src/grantleetheme.cpp
  }
  
  Theme &Theme::operator=(const Theme &other)
-@@ -185,7 +186,12 @@ QString Theme::dirName() const
+@@ -184,7 +187,12 @@ QString Theme::dirName() const
  
  QString Theme::absolutePath() const
  {
@@ -76,7 +137,7 @@ Index: grantleetheme-17.04.0/src/grantleetheme.cpp
  }
  
  QString Theme::author() const
-@@ -224,6 +230,13 @@ QString Theme::render(const QString &tem
+@@ -223,6 +231,13 @@ QString Theme::render(const QString &tem
      return result;
  }
  
@@ -90,66 +151,3 @@ Index: grantleetheme-17.04.0/src/grantleetheme.cpp
  void Theme::addPluginPath(const QString &path)
  {
      if (!ThemePrivate::sEngine) {
-Index: grantleetheme-17.04.0/src/grantleetheme.h
-===================================================================
---- grantleetheme-17.04.0.orig/src/grantleetheme.h
-+++ grantleetheme-17.04.0/src/grantleetheme.h
-@@ -50,11 +50,14 @@ public:
-     QStringList displayExtraVariables() const;
-     QString dirName() const;
-     QString absolutePath() const;
-+    QStringList absolutePaths() const;
-     QString author() const;
-     QString authorEmail() const;
- 
-     QString render(const QString &templateName, const QVariantHash &data, const QByteArray &applicationDomain = QByteArray());
- 
-+    void addThemeDir(const QString&);
-+
-     static void addPluginPath(const QString &path);
- 
- private:
-Index: grantleetheme-17.04.0/src/grantleethememanager.cpp
-===================================================================
---- grantleetheme-17.04.0.orig/src/grantleethememanager.cpp
-+++ grantleetheme-17.04.0/src/grantleethememanager.cpp
-@@ -142,25 +142,18 @@ public:
- 
-         for (const QString &directory : qAsConst(themesDirectories)) {
-             QDirIterator dirIt(directory, QStringList(), QDir::AllDirs | QDir::NoDotAndDotDot);
--            QStringList alreadyLoadedThemeName;
-             while (dirIt.hasNext()) {
-                 dirIt.next();
-                 const QString dirName = dirIt.fileName();
-                 GrantleeTheme::Theme theme = q->loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName);
-                 if (theme.isValid()) {
-                     QString themeName = theme.name();
--                    if (alreadyLoadedThemeName.contains(themeName)) {
--                        int i = 2;
--                        const QString originalName(theme.name());
--                        while (alreadyLoadedThemeName.contains(themeName)) {
--                            themeName = originalName + QStringLiteral(" (%1)").arg(i);
--                            ++i;
--                        }
--                        theme.d->name = themeName;
-+                    QMap<QString, GrantleeTheme::Theme>::iterator i = themes.find(dirName);
-+                    if (i != themes.end()) {
-+                        i.value().addThemeDir(dirIt.filePath());
-+                    } else {
-+                        themes.insert(dirName, theme);
-                     }
--                    alreadyLoadedThemeName << themeName;
--                    themes.insert(dirName, theme);
--                    //qDebug()<<" theme.name()"<<theme.name();
-                 }
-             }
-             watch->addDir(directory);
-@@ -374,7 +367,7 @@ QString ThemeManager::pathFromThemes(con
-                 GrantleeTheme::Theme theme = loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName);
-                 if (theme.isValid()) {
-                     if (dirName == themeName) {
--                        return theme.absolutePath();
-+                        return theme.absolutePaths().first();
-                     }
-                 }
-             }