28 #include <krecentdirs.h>
29 #include <ksimpleconfig.h>
30 #include <kstandarddirs.h>
31 #include <kglobalsettings.h>
33 #define MAX_DIR_HISTORY 3
35 static void recentdirs_done(KConfig *config)
37 if (config == KGlobal::config())
47 static KConfig *recentdirs_readList(TQString &key, TQStringList &result,
bool readOnly)
50 if ((key.length() < 2) || (key[0] !=
':'))
55 config =
new KSimpleConfig(TQString::fromLatin1(
"krecentdirsrc"), readOnly);
60 config = KGlobal::config();
61 config->setGroup(TQString::fromLatin1(
"Recent Dirs"));
64 result=config->readPathListEntry(key);
67 result.append(KGlobalSettings::documentPath());
74 TQString key = fileClass;
76 recentdirs_done(recentdirs_readList(key, result,
true));
82 TQStringList result =
list(fileClass);
88 TQString key = fileClass;
90 KConfig *config = recentdirs_readList(key, result,
false);
92 result.remove(directory);
93 result.prepend(directory);
94 while(result.count() > MAX_DIR_HISTORY)
95 result.remove(result.fromLast());
96 config->writePathEntry(key, result);
97 recentdirs_done(config);