summaryrefslogtreecommitdiffstats
path: root/opensuse/tdebase/khelpcenter-localindices.patch
diff options
context:
space:
mode:
Diffstat (limited to 'opensuse/tdebase/khelpcenter-localindices.patch')
-rw-r--r--opensuse/tdebase/khelpcenter-localindices.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/opensuse/tdebase/khelpcenter-localindices.patch b/opensuse/tdebase/khelpcenter-localindices.patch
new file mode 100644
index 000000000..a2b41a78a
--- /dev/null
+++ b/opensuse/tdebase/khelpcenter-localindices.patch
@@ -0,0 +1,41 @@
+Index: khelpcenter/kcmhelpcenter.cpp
+===================================================================
+--- khelpcenter/kcmhelpcenter.cpp.orig
++++ khelpcenter/kcmhelpcenter.cpp
+@@ -321,6 +321,7 @@ bool KCMHelpCenter::save()
+
+ void KCMHelpCenter::load()
+ {
++ findWriteableIndexDir();
+ mIndexDirLabel->setText( Prefs::indexDirectory() );
+
+ mListView->clear();
+@@ -675,6 +676,12 @@ void KCMHelpCenter::checkSelection()
+ enableButtonOK( count != 0 );
+ }
+
++void KCMHelpCenter::findWriteableIndexDir()
++{
++ QFileInfo currentDir( Prefs::indexDirectory() );
++ if ( !currentDir.isWritable() )
++ Prefs::setIndexDirectory( KGlobal::dirs()->saveLocation("data", "khelpcenter/index/") );
++}
+ #include "kcmhelpcenter.moc"
+
+ // vim:ts=2:sw=2:et
+Index: khelpcenter/kcmhelpcenter.h
+===================================================================
+--- khelpcenter/kcmhelpcenter.h.orig
++++ khelpcenter/kcmhelpcenter.h
+@@ -146,6 +146,11 @@ class KCMHelpCenter : public KDialogBase
+
+ void advanceProgress();
+
++ /**
++ * Find a user-writeable location for the indices, if the current location
++ * is not.
++ */
++ void findWriteableIndexDir();
+ private:
+ KHC::SearchEngine *mEngine;
+