File new-beagle-autostart.diff of Package kerry
--- kerry/src/Makefile.am 2007/09/20 14:20:40 1.1
+++ kerry/src/Makefile.am 2007/09/20 14:21:05
@@ -31,7 +31,7 @@
kerry_la_LIBADD = -lkio -lkonq $(LIB_KDEUI) $(LIBBEAGLE_LIBADD) $(GLIB_LIBADD) $(LIB_KABC)
autostartdir = $(datadir)/autostart
-autostart_DATA = kerry.autostart.desktop beagled.desktop
+autostart_DATA = kerry.autostart.desktop
shutdowndir = $(prefix)/shutdown
shutdown_SCRIPTS = beagled-shutdown.sh
--- kerry/src/kcm/indexing.cpp 2007/09/20 12:33:38 1.3
+++ kerry/src/kcm/indexing.cpp 2007/09/20 14:47:46
@@ -163,9 +163,9 @@
_startBeagle = true;
}
else {
- KConfig *config = new KConfig("kerryrc");
- config->setGroup("Beagle");
- _startBeagle = config->readBoolEntry("AutoStart",false);
+ KConfig *config = new KConfig(QDir::home().absPath()+"/.config/autostart/beagled-autostart.desktop");
+ config->setDesktopGroup();
+ _startBeagle = config->readBoolEntry("X-GNOME-Autostart-enabled",true);
delete config;
readIndexConfig(_indexHomeDir, _indexOnBattery, roots, excludeTypes, excludeValues);
@@ -199,12 +199,27 @@
void KCMBeagleIndexing::save()
{
- KConfig *config = new KConfig("kerryrc");
- config->setGroup("Beagle");
- config->writeEntry("AutoStart",startBeagle->isChecked());
- config->sync();
- delete config;
-
+ if (!startBeagle->isChecked()) {
+ QDir configDir(QDir::home().absPath()+"/.config");
+ if (!configDir.exists())
+ configDir.mkdir(QDir::home().absPath()+"/.config");
+
+ QDir configAutostartDir(QDir::home().absPath()+"/.config/autostart");
+ if (!configAutostartDir.exists())
+ configAutostartDir.mkdir(QDir::home().absPath()+"/.config/autostart");
+
+ KConfig *config = new KConfig(QDir::home().absPath()+"/.config/autostart/beagled-autostart.desktop");
+ config->setDesktopGroup();
+ config->writeEntry("Hidden",true);
+ config->writeEntry("X-GNOME-Autostart-enabled",false);
+ config->sync();
+ delete config;
+ }
+ else {
+ QFile file( QDir::home().absPath()+"/.config/autostart/beagled-autostart.desktop" );
+ if (file.exists())
+ file.remove();
+ }
QStringList roots;
for (int i=0;i<index_list->childCount();i++)