app-cdr/k3b:3.5 from kde-sunset
[anomen-overlay.git] / kde-base / kdelibs / files / kdelibs-3.5.10-kde4-apps.patch
blobf7f0c7e3486987a4c20d02383f509cab61bc542d
1 diff -ru ./kio/kio/kservice.cpp ../kdelibs-new/kio/kio/kservice.cpp
2 --- ./kio/kio/kservice.cpp 2008-02-13 10:41:06.000000000 +0100
3 +++ ../kdelibs-new/kio/kio/kservice.cpp 2009-05-21 01:53:22.000000000 +0200
4 @@ -97,6 +97,19 @@
5 m_bValid = true;
7 bool absPath = !QDir::isRelativePath(entryPath());
8 + QString kde4prefix = config->fileName();
9 + QString kde4menusuffix = " (KDE4)";
10 + int index = kde4prefix.find("/share/applications/kde4/");
11 + bool kde4app = index != -1;
12 + QString kdedir;
13 + // get kdeprefix and kde version
14 + if (kde4app)
15 + {
16 + kde4prefix.truncate(index);
17 + kdedir = kde4prefix.section('/', -1, -1).upper();
18 + if (kdedir != "USR")
19 + kde4menusuffix = QString(" (KDE-%1)").arg(kdedir);
20 + }
22 config->setDesktopGroup();
24 @@ -133,6 +146,8 @@
25 if (i != -1)
26 m_strName = m_strName.left(i);
28 + if (kde4app)
29 + m_strName += kde4menusuffix;
31 m_strType = config->readEntry( "Type" );
32 entryMap.remove("Type");
33 @@ -196,6 +211,18 @@
34 name = name.left(pos);
36 m_strExec = config->readPathEntry( "Exec" );
37 + if (kde4app && !m_strExec.startsWith("/"))
38 + m_strExec = kde4prefix + QString("/bin/") + m_strExec;
39 + else if (config->readBoolEntry("X-KDE-SubstituteUID")) {
40 + int space = m_strExec.find(" ");
41 + if (space==-1)
42 + m_strExec = KStandardDirs::findExe(m_strExec);
43 + else {
44 + const QString command = m_strExec.left(space);
45 + m_strExec.replace(command,KStandardDirs::findExe(command));
46 + }
47 + }
49 entryMap.remove("Exec");
51 m_strIcon = config->readEntry( "Icon", "unknown" );
52 @@ -245,11 +272,15 @@
53 m_DCOPServiceType = DCOP_None;
55 m_strDesktopEntryName = name.lower();
56 + if (kde4app)
57 + m_strDesktopEntryName = QString("kde%1-").arg(kdedir.lower()) + m_strDesktopEntryName;
59 m_bAllowAsDefault = config->readBoolEntry( "AllowDefault", true );
60 entryMap.remove("AllowDefault");
62 m_initialPreference = config->readNumEntry( "InitialPreference", 1 );
63 + if (kde4app)
64 + m_initialPreference = 1;
65 entryMap.remove("InitialPreference");
67 // Store all additional entries in the property map.
68 @@ -260,7 +291,10 @@
69 for( ; it != entryMap.end();++it)
71 //qDebug(" Key = %s Data = %s", it.key().latin1(), it.data().latin1());
72 - m_mapProps.insert( it.key(), QVariant( it.data()));
73 + QString key = it.key();
74 + if (kde4app && key == "OnlyShownIn" && it.data() == "KDE;")
75 + key = "NotShowIn";
76 + m_mapProps.insert(key, QVariant( it.data()));