File autostart-spec.diff of Package kdelibs3

--- kdecore/kstandarddirs.cpp	2006/03/21 12:53:37	1.79
+++ kdecore/kstandarddirs.cpp	2006/03/21 14:26:20
@@ -100,7 +100,7 @@
 			      "wallpaper", "lib", "pixmap", "templates",
 			      "module", "qtplugins",
 			      "xdgdata-apps", "xdgdata-dirs", "xdgconf-menu",
-			      "kcfg", "emoticons", 0 };
+			      "kcfg", "emoticons", "xdgconf-autostart", 0 };
 
 static int tokenize( QStringList& token, const QString& str,
 		const QString& delim );
@@ -1062,6 +1062,8 @@
         return "desktop-directories/";
     if (!strcmp(type, "xdgconf-menu"))
         return "menus/";
+    if (!strcmp(type, "xdgconf-autostart"))
+        return "autostart/";
     if (!strcmp(type, "kcfg"))
 	return "share/config.kcfg";
     if (!strcmp(type, "emoticons"))
--- kinit/autostart.cpp	2006/03/21 12:53:09	1.63
+++ kinit/autostart.cpp	2006/03/21 16:03:04
@@ -104,7 +104,9 @@
 void
 AutoStart::loadAutoStartList()
 {
-   QStringList files = KGlobal::dirs()->findAllResources("autostart", "*.desktop", false, true);
+   QStringList files = KGlobal::dirs()->findAllResources("xdgconf-autostart", "*.desktop", false, true);
+   QStringList kdefiles = KGlobal::dirs()->findAllResources("autostart", "*.desktop", false, true);
+   files += kdefiles;
    
    for(QStringList::ConstIterator it = files.begin();
        it != files.end();
@@ -118,6 +120,17 @@
        if (config.readBoolEntry("Hidden", false))
           continue;
        
+       if (config.hasKey("OnlyShowIn"))
+       {
+          if (!config.readListEntry("OnlyShowIn", ';').contains("KDE"))
+              continue;
+       }
+       if (config.hasKey("NotShowIn"))
+       {
+           if (config.readListEntry("NotShowIn", ';').contains("KDE"))
+               continue;
+       }
+
        AutoStartItem *item = new AutoStartItem;
        item->name = extractName(*it);
        item->service = *it;
openSUSE Build Service is sponsored by