browsercore/appfw/Api/Managers/bookmarkscontroller.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 04 Oct 2010 00:04:54 +0300
changeset 15 73c48011b8c7
permissions -rw-r--r--
Revision: 201037 Kit: 201039

/*
 * bookmarkscontroller.h
 *
 *  Created on: Aug 25, 2010
 *      Author: mmoretti
 */

#ifndef BOOKMARKSCONTROLLER_H_
#define BOOKMARKSCONTROLLER_H_

#include <QObject>
#include "BWFGlobal.h"
class QWidget;

class BookmarksManager;
class BookmarkResults;
class BookmarkFav;
//#include "BookmarksManager.h"

class BWF_EXPORT Suggestion : public QObject
{
        Q_OBJECT
        
        public:
            Suggestion(QString url, QString title) : m_url(url), m_title(title){};
            // Hack: Changing the name to url1 from url as some namespace clash
            // is happening on Linux
            Q_PROPERTY(QString title1 READ suggestTitle)
            Q_PROPERTY(QString url1 READ suggestUrl)
                                  
        private:
            QString m_url;
            QString m_title;
            QString suggestTitle() {return m_title;}
            QString suggestUrl() {return m_url;}
};


class BWF_EXPORT BookmarksController : public QObject {

	  Q_OBJECT

public:
	virtual ~BookmarksController();
    static BookmarksController* getSingleton();

public slots:
    int addBookmark(QString title, QString URL);
    int modifyBookmark(int origBookmarkId, QString newTitle, QString newURl);
    int deleteBookmark(int bookmarkId);
    int clearAll();
    int findAllBookmarks();
    QObject *findBookmark(int bookmarkID);
    int reorderBookmark(int bookmarkID, int newIndex);
    QObject *nextBookmark();
    bool hasMoreBookmarks();
    void showBookmarkEditDialog(QString title, QString url, int bookmarkID);
    QObjectList suggestSimilar(QString suggest);
    // TODO add tag stuff when we get a ui for it

signals:
      void bookmarkAdded(QString,QString,int);
      void bookmarksCleared();
      void launchBookmarkEditDailog(QString,QString,int);
      void bookmarkModified(QString, QString, int);

private:
  	BookmarksController(QWidget *parent = 0);

    BookmarksManager *m_bm;
    BookmarkResults *m_bmr;
    BookmarkFav *m_bmf;
};

#endif /* BOOKMARKSCONTROLLER_H_ */