55 lines
2.1 KiB
Diff
55 lines
2.1 KiB
Diff
From c42e52d366ffcc016a487627b935b34183af759a Mon Sep 17 00:00:00 2001
|
|
From: Eike Hein <hein@kde.org>
|
|
Date: Sat, 5 Jul 2014 20:52:52 +0200
|
|
Subject: [PATCH 05/10] Fix template discovery in KNewFileMenu.
|
|
|
|
Incorrect port to QStandardPaths was collecting dirs instead of
|
|
files within them.
|
|
|
|
Reviewed-By: David Faure
|
|
REVIEW:119130
|
|
---
|
|
src/filewidgets/knewfilemenu.cpp | 16 ++++++++++++++--
|
|
1 file changed, 14 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/filewidgets/knewfilemenu.cpp b/src/filewidgets/knewfilemenu.cpp
|
|
index 4f1ca10..a24ac9c 100644
|
|
--- a/src/filewidgets/knewfilemenu.cpp
|
|
+++ b/src/filewidgets/knewfilemenu.cpp
|
|
@@ -841,10 +841,12 @@ void KNewFileMenuPrivate::_k_slotFillTemplates()
|
|
{
|
|
KNewFileMenuSingleton *s = kNewMenuGlobals();
|
|
//qDebug();
|
|
+
|
|
+ const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "templates", QStandardPaths::LocateDirectory);
|
|
+
|
|
// Ensure any changes in the templates dir will call this
|
|
if (! s->dirWatch) {
|
|
s->dirWatch = new KDirWatch;
|
|
- const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "templates", QStandardPaths::LocateDirectory);
|
|
for (QStringList::const_iterator it = dirs.constBegin(); it != dirs.constEnd(); ++it) {
|
|
//qDebug() << "Templates resource dir:" << *it;
|
|
s->dirWatch->addDir(*it);
|
|
@@ -863,7 +865,17 @@ void KNewFileMenuPrivate::_k_slotFillTemplates()
|
|
s->templatesList->clear();
|
|
|
|
// Look into "templates" dirs.
|
|
- const QStringList files = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "templates", QStandardPaths::LocateDirectory);
|
|
+ QStringList files;
|
|
+ QDir dir;
|
|
+
|
|
+ Q_FOREACH (const QString &path, dirs) {
|
|
+ dir.setPath(path);
|
|
+ const QStringList &entryList(dir.entryList(QStringList() << "*.desktop", QDir::Files));
|
|
+ Q_FOREACH (const QString &entry, entryList) {
|
|
+ files.append(dir.path() + dir.separator() + entry);
|
|
+ }
|
|
+ }
|
|
+
|
|
QMap<QString, KNewFileMenuSingleton::Entry> slist; // used for sorting
|
|
Q_FOREACH (const QString &file, files) {
|
|
//qDebug() << file;
|
|
--
|
|
2.0.0
|
|
|