From 6ade341229a0ce755b3e606d974b37c7d1609c8a Mon Sep 17 00:00:00 2001 From: tpearson Date: Fri, 24 Sep 2010 01:59:23 +0000 Subject: * Allow XDG launcher to directly rewrite the XDG configuration file instead of going through a third party application * Fix desktop icon builtin detection * Desktop icon removal is now more intuitive git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1178835 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kdesktop/kxdglauncher.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'kdesktop/kxdglauncher.cpp') diff --git a/kdesktop/kxdglauncher.cpp b/kdesktop/kxdglauncher.cpp index fba2c3fbf..ff173c842 100644 --- a/kdesktop/kxdglauncher.cpp +++ b/kdesktop/kxdglauncher.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include @@ -130,9 +131,14 @@ int main( int argc, char **argv) directoryOk = TRUE; } if (directoryOk == true) { - char systemcommand[8192]; - sprintf(systemcommand, "xdg-user-dirs-update --set DOCUMENTS \"%s\"", newDirectory.ascii()); - system(systemcommand); + TQString xdgModifiedDirectory = newDirectory; + xdgModifiedDirectory = xdgModifiedDirectory.replace(TQDir::homeDirPath(), "$HOME"); + while (xdgModifiedDirectory.endsWith("/")) { + xdgModifiedDirectory.truncate(xdgModifiedDirectory.length()-1); + } + KConfig config(TQDir::homeDirPath() + "/.config/user-dirs.dirs", false, false); + config.writeEntry("XDG_DOCUMENTS_DIR", TQString("\"") + xdgModifiedDirectory + TQString("\""), true); + config.sync(); if (args->isSet( "getpath" ) == true) { printf("%s\n\r", getDocumentPath().ascii()); return 0; -- cgit v1.2.3