diff options
author | Marcel Schuette <marcel.schuette@pelagicore.com> | 2013-08-22 10:56:39 +0200 |
---|---|---|
committer | Marcel Schuette <marcel.schuette@pelagicore.com> | 2013-08-22 10:56:39 +0200 |
commit | bf3499741f4619c69352db584fe690b3676725dc (patch) | |
tree | 77cf576aeafec425d1d8415d0d788458a5ad3830 /common/browserdbus.h | |
parent | ae8308917ada1036d8aa2dbdd1b04a4dd2b77d14 (diff) | |
download | browser-poc-bf3499741f4619c69352db584fe690b3676725dc.tar.gz |
test app continued
Diffstat (limited to 'common/browserdbus.h')
-rw-r--r-- | common/browserdbus.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/common/browserdbus.h b/common/browserdbus.h new file mode 100644 index 0000000..d968364 --- /dev/null +++ b/common/browserdbus.h @@ -0,0 +1,104 @@ +/** + * Copyright (C) 2013, Pelagicore + * + * Author: Marcel Schuette <marcel.schuette@pelagicore.com> + * + * This file is part of the GENIVI project Browser Proof-Of-Concept + * For further information, see http://genivi.org/ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef BROWSERDBUS_H +#define BROWSERDBUS_H + +#include <QObject> +#include <QQmlListProperty> + +#include "ibookmarkmanager_interface.h" +#include "iuserinput_interface.h" +#include "iwebpagewindow_interface.h" +#include "ibrowser_interface.h" +#include "../common/bookmark.h" + +class BrowserDbus : public QObject +{ + Q_OBJECT + + Q_PROPERTY(QString title READ title NOTIFY titleChanged) + Q_PROPERTY(QString url READ url NOTIFY urlChanged) + Q_PROPERTY(QQmlListProperty<Bookmark> bookmarkList READ getBookmarkList NOTIFY bookmarkListChanged) + Q_PROPERTY(bool pageloading READ pageloading NOTIFY pageloadingChanged) + Q_PROPERTY(int progress READ progress NOTIFY progressChanged) + +public: + explicit BrowserDbus(QObject *parent = 0); + + Q_INVOKABLE void goBack(); + Q_INVOKABLE void goForward(); + Q_INVOKABLE void reload(); + Q_INVOKABLE void stop(); + Q_INVOKABLE void loadurl(QString url); + Q_INVOKABLE void getBookmarks(); + Q_INVOKABLE void addBookmark(QString url, QString title); + Q_INVOKABLE void deleteAllBookmarks(); + Q_INVOKABLE void getCurrentUrlAndTitle(); + + Q_INVOKABLE void goRight(); + Q_INVOKABLE void goLeft(); + Q_INVOKABLE void goUp(); + Q_INVOKABLE void goDown(); + Q_INVOKABLE void goDownPage(); + Q_INVOKABLE void goUpPage(); + + Q_INVOKABLE void openBrowserWindow(); + + Q_INVOKABLE void setVisible(bool visible); + Q_INVOKABLE void getVisible(); + + Q_INVOKABLE void getGeometry(); + Q_INVOKABLE void setGeometry(int x, int y, int width, int height); + + Q_INVOKABLE void deleteBookmark(int index); + + QString title() { return m_title; } + void setTitle(QString title) { m_title = title; } + QString url() const { return m_url; } + void setUrl(const QString &url) { m_url = url; } + bool pageloading() { return m_pageloading; } + void setPageLoading(bool loading) { m_pageloading = loading; } + int progress() { return m_progress; } + void setProgress(int prog) { m_progress = prog; } + + QQmlListProperty<Bookmark> getBookmarkList() { return QQmlListProperty<Bookmark>(this, m_bookmarkList); } + +signals: + void bookmarkListChanged(); + void urlChanged(); + void titleChanged(); + void pageloadingChanged(); + void progressChanged(); + +public slots: + void pageloadingstarted(); + void pageloadingfinished(bool success); + void pageloadingprogress(int progress); + +private: + conn::brw::IBookmarkManager *bookmark; + conn::brw::IUserInput *userinput; + conn::brw::IWebPageWindow *webpagewindow; + conn::brw::IBrowser *browser; + + QString m_title; + QString m_url; + QList<Bookmark*> m_bookmarkList; + bool m_pageloading; + int m_progress; + + void scrollpage(conn::brw::SCROLL_DIRECTION direction, conn::brw::SCROLL_TYPE type); +}; + +#endif // BROWSERDBUS_H |