143 Q_FOREACH (
const QString & dirName, dirs) {
144 if (!dirName.contains(
"templates"))
continue;
149 QStringList templateDirs = dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot);
152 Q_FOREACH (
const QString & templateDirName, templateDirs) {
153 QDir templateDir(dirName +
"/" + templateDirName);
154 QString name = templateDirName;
156 int sortingWeight = 1000;
157 if (templateDir.exists(
".directory")) {
158 KDesktopFile config(templateDir.absoluteFilePath(
".directory"));
160 KConfigGroup dg = config.desktopGroup();
161 name = dg.readEntry(
"Name");
162 defaultTab = dg.readEntry(
"X-KDE-DefaultTab");
163 sortingWeight = dg.readEntry(
"X-KDE-SortingWeight", 1000);
167 if (defaultTab ==
"true") {
177 QString dontShow =
"imperial";
178 if ( QLocale().measurementSystem() == QLocale::ImperialSystem) {
184 for (QStringList::ConstIterator it = dirs.constBegin(); it != dirs.constEnd(); ++it) {
188 QStringList files = d.entryList(QDir::Files | QDir::Readable, QDir::Name);
189 for (
int i = 0; i < files.count(); ++i) {
190 QString filePath = *it + files[i];
199 QString templatePath;
200 QString measureSystem;
203 if (KDesktopFile::isDesktopFile(filePath)) {
204 KConfig _config(filePath, KConfig::SimpleConfig);
206 KConfigGroup config(&_config,
"Desktop Entry");
207 if (config.readEntry(
"Type") ==
"Link") {
208 text = config.readEntry(
"Name");
210 description = config.readEntry(
"Comment");
212 icon = config.readEntry(
"Icon");
213 if (icon[0] !=
'/' &&
214 QFile::exists(*it + icon))
217 hidden = config.readEntry(
"X-KDE-Hidden",
false);
219 measureSystem = config.readEntry(
"X-KDE-MeasureSystem").toLower();
222 if (measureSystem == dontShow)
226 templatePath = config.readPathEntry(
"URL", QString());
228 if (templatePath[0] !=
'/') {
229 if (templatePath.left(6) ==
"file:/")
230 templatePath = templatePath.right(templatePath.length() - 6);
233 templatePath = *it + templatePath;
240 else if (files[i].right(4) !=
".png")
246 QFileInfo fi(filePath);
247 text = fi.completeBaseName();
248 templatePath = filePath;
252 measureSystem, hidden);
253 group->
add(t,
false,
false);
264 const QString &localDir)
270 if (QFile::remove(fileName) || !QFile::exists(fileName)) {
271 QFile::remove(t->
name());
277 QString
const path = localDir + group->
name() +
'/';
279 fileName = path + name +
".desktop";
280 if (t->
isHidden() && QFile::exists(fileName))
283 while (QFile(fileName).exists()) {
285 fileName = path + fill + name +
".desktop";
288 KConfig _config(fileName, KConfig::SimpleConfig);
290 KConfigGroup config(&_config,
"Desktop Entry");
291 config.writeEntry(
"Type",
"Link");
292 config.writePathEntry(
"URL", t->
file());
293 config.writeEntry(
"Name", t->
name());
294 config.writeEntry(
"Icon", t->
picture());
295 config.writeEntry(
"X-KDE-Hidden", t->
isHidden());