summaryrefslogtreecommitdiffstats
path: root/libkonq/konqbookmarkmanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'libkonq/konqbookmarkmanager.h')
-rw-r--r--libkonq/konqbookmarkmanager.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/libkonq/konqbookmarkmanager.h b/libkonq/konqbookmarkmanager.h
new file mode 100644
index 000000000..88ff45ced
--- /dev/null
+++ b/libkonq/konqbookmarkmanager.h
@@ -0,0 +1,36 @@
+#ifndef KONQBOOKMARKMANAGER_H
+#define KONQBOOKMARKMANAGER_H
+
+#include <kbookmarkmanager.h>
+#include <kstandarddirs.h>
+#include <kurl.h>
+#include <tdeio/job.h>
+#include <libkonq_export.h>
+#include <tdeapplication.h>
+
+class LIBKONQ_EXPORT KonqBookmarkManager
+{
+public:
+ static KBookmarkManager * self()
+ {
+ if ( !s_bookmarkManager )
+ {
+ TQString globalBookmarkFile = locate( "data", TQString::fromLatin1( "konqueror/bookmarks.xml" ) );
+ TQString bookmarksFile = locateLocal( "data", TQString::fromLatin1("konqueror/bookmarks.xml" ), true);
+ if (globalBookmarkFile != TQString::null && bookmarksFile != TQString::null &&
+ globalBookmarkFile != bookmarksFile)
+ {
+ TDEIO::file_copy(KURL::fromPathOrURL(globalBookmarkFile),
+ KURL::fromPathOrURL(bookmarksFile));
+ kapp->processEvents(3000); // Allows up to 3 seconds to copy the file
+ }
+ s_bookmarkManager = KBookmarkManager::managerForFile( bookmarksFile );
+ }
+ return s_bookmarkManager;
+ }
+
+private:
+ static KBookmarkManager *s_bookmarkManager;
+};
+
+#endif