diff -r 1d6c4b7a8fbd -r 5ea3798f1248 bookmarks/BookmarksManager.h --- a/bookmarks/BookmarksManager.h Mon Oct 04 14:09:43 2010 -0400 +++ b/bookmarks/BookmarksManager.h Fri Oct 15 17:29:22 2010 -0400 @@ -47,9 +47,16 @@ FAILURE = -2 }; - BookmarksManager(QWidget *parent = 0); - ~BookmarksManager(); +public: + static BookmarksManager* instance(); +public: + virtual ~BookmarksManager(); + +public: // static functions + static bool createFile(QString filename, QString fileContents); + static void deleteFile(QString filename); + public slots: int addBookmark(QString title, QString URL); int modifyBookmark(int origBookmarkId, QString newTitle, QString newURl); @@ -60,22 +67,32 @@ BookmarkResults *findAllBookmarks(); TagResults *findAllTags(); BookmarkResults *findBookmarksByTag(QString tag); + bool needsImport() { return m_needsImport; } int importBookmarks(QString xbelFilePath); + int importDefaultBookmarks(); int exportBookmarks(QString xbelFilePath); BookmarkFav* findBookmark(int bookmarkId); BookmarkResults *findUntaggedBookmarks(); int reorderBookmark(int bookmarkID, int newIndex); TagResults* findTagsByBookmark(int bookmarkID); - QMap findBookmarks(QString atitle); - + QMap findBookmarks(QString atitle); + private: + BookmarksManager(QWidget *parent = 0); bool doQuery(QString query); + bool doesTableExist(QString tableName); void createBookmarksSchema(); QString normalizeUrl(const QString& url); void lastErrMsg(QSqlQuery& query); + bool m_needsImport; QSqlDatabase m_db; // Note: One instance of a query was locking the database even after using finish() and clear() //QSqlQuery* m_query; }; + +#ifndef B_Mgr +#define B_Mgr BookmarksManager::instance(); +#endif + #endif //BOOKMARKSMANAGER_H