diff options
Diffstat (limited to 'libkonq/konqbookmarkmanager.h')
-rw-r--r-- | libkonq/konqbookmarkmanager.h | 36 |
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 |