summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-01-29 15:49:42 +0100
committerJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-02-04 09:31:57 +0100
commit7de9aae8d2f38693897ca24ce7b3b65cab30a47c (patch)
tree77ff78f168c6455bd6b713af919d79bdcfa170db
parenta0d7218cee59b795278a4f6a6d741131cc707034 (diff)
downloadbrowser-poc-7de9aae8d2f38693897ca24ce7b3b65cab30a47c.tar.gz
Implemented onVisibilityChanged
-rw-r--r--browser/browser.cpp1
-rw-r--r--browser/browserview.cpp12
-rw-r--r--browser/browserview.h2
-rw-r--r--browser/unit-tests/browserdbus/testbrowserdbus.cpp11
-rw-r--r--browser/unit-tests/browserdbus/testbrowserdbus.h1
-rw-r--r--browser/webpagewindow.cpp1
-rw-r--r--browser/webpagewindow.h1
-rw-r--r--common/browserdbus.cpp1
-rw-r--r--common/browserdbus.h1
9 files changed, 30 insertions, 1 deletions
diff --git a/browser/browser.cpp b/browser/browser.cpp
index 59cee67..9e3d6cd 100644
--- a/browser/browser.cpp
+++ b/browser/browser.cpp
@@ -41,6 +41,7 @@ conn::brw::ERROR_IDS browser::createPageWindow(int a_eDeviceId, const conn::brw:
connect(bvi, SIGNAL(pageLoadFinished(bool)), wpw, SLOT(getUrlTitle()));
connect(ui, SIGNAL(inputText(QString)), this, SLOT(inputText(QString)));
connect(bvi, SIGNAL(pageLoadStarted()), wpw, SLOT(browserStartLoading()));
+ connect(bvi, SIGNAL(onVisibilityChanged(bool)), wpw, SIGNAL(onVisibilityChanged(bool)));
connect(bvi, SIGNAL(pageLoadFinished(bool)), wpw, SIGNAL(onLoadFinished(bool)));
connect(bvi, SIGNAL(onUrlChanged(QString)), wpw, SIGNAL(onUrlChanged(QString)));
connect(bvi, SIGNAL(onTitleChanged(QString)), wpw, SIGNAL(onTitleChanged(QString)));
diff --git a/browser/browserview.cpp b/browser/browserview.cpp
index 668706c..64f4bb0 100644
--- a/browser/browserview.cpp
+++ b/browser/browserview.cpp
@@ -28,6 +28,8 @@ BrowserView::BrowserView()
this->load("http://www.bmw.com");
+ this->installEventFilter(this);
+
setWindowFlags(Qt::FramelessWindowHint);
m_webview.page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
@@ -140,3 +142,13 @@ void BrowserView::linkClicked(QUrl url) {
this->load(strUrl);
emit onLinkClicked(strUrl);
}
+
+bool BrowserView::eventFilter(QObject *obj, QEvent *event)
+{
+ if (event->type() == QEvent::Show)
+ emit onVisibilityChanged(true);
+ else if (event->type() == QEvent::Hide)
+ emit onVisibilityChanged(false);
+
+ return QGraphicsView::eventFilter(obj, event);
+}
diff --git a/browser/browserview.h b/browser/browserview.h
index d30fcd7..00e8eed 100644
--- a/browser/browserview.h
+++ b/browser/browserview.h
@@ -72,9 +72,11 @@ signals:
void onLinkClicked(QString);
void onSelectionChanged();
void onStatusTextChanged(QString);
+ void onVisibilityChanged(bool);
protected:
virtual void resizeEvent (QResizeEvent *event);
+ virtual bool eventFilter (QObject *obj, QEvent *evt);
protected slots:
void loadProgress(int);
diff --git a/browser/unit-tests/browserdbus/testbrowserdbus.cpp b/browser/unit-tests/browserdbus/testbrowserdbus.cpp
index 59dd1d3..5726d9d 100644
--- a/browser/unit-tests/browserdbus/testbrowserdbus.cpp
+++ b/browser/unit-tests/browserdbus/testbrowserdbus.cpp
@@ -114,4 +114,15 @@ void TestBrowserDBus::testGetsNotifiedWhenStatusBarChanges() {
QVERIFY(success);
}
+void TestBrowserDBus::testGetsNotifiedWhenVisibilityChanges() {
+ m_bdb->createPageWindow(1,0,0,800,600);
+ QSignalSpy spy (m_bdb, SIGNAL (onVisibilityChanged (bool)));
+ m_bdb->setVisible(false);
+ QVERIFY(spy.wait(1000));
+ QVERIFY(spy.last().value(0).toBool() == false);
+ m_bdb->setVisible(true);
+ QVERIFY(spy.wait(1000));
+ QVERIFY(spy.last().value(0).toBool() == true);
+}
+
QTEST_MAIN (TestBrowserDBus);
diff --git a/browser/unit-tests/browserdbus/testbrowserdbus.h b/browser/unit-tests/browserdbus/testbrowserdbus.h
index 239c98c..2cd151d 100644
--- a/browser/unit-tests/browserdbus/testbrowserdbus.h
+++ b/browser/unit-tests/browserdbus/testbrowserdbus.h
@@ -30,6 +30,7 @@ private slots:
void testGetsNotifiedWhenLinkIsClicked();
void testGetsNotifiedWhenSelectionChanges();
void testGetsNotifiedWhenStatusBarChanges();
+ void testGetsNotifiedWhenVisibilityChanges();
private:
QString testFileUrl() {
diff --git a/browser/webpagewindow.cpp b/browser/webpagewindow.cpp
index e845409..5dbbf4f 100644
--- a/browser/webpagewindow.cpp
+++ b/browser/webpagewindow.cpp
@@ -220,4 +220,3 @@ conn::brw::ERROR_IDS webpagewindow::getScrollPosition(uint &posX, uint &posY) {}
conn::brw::ERROR_IDS webpagewindow::setScrollPosition(uint &posX, uint &posY) {}
conn::brw::ERROR_IDS webpagewindow::select(){}
conn::brw::ERROR_IDS webpagewindow::setZoomFactor(double &zoomFactor) {}
-
diff --git a/browser/webpagewindow.h b/browser/webpagewindow.h
index 2ad75cf..ae9c29d 100644
--- a/browser/webpagewindow.h
+++ b/browser/webpagewindow.h
@@ -42,6 +42,7 @@ signals:
void onLinkClicked(QString);
void onSelectionChanged(void);
void onStatusTextChanged(QString);
+ void onVisibilityChanged(bool);
public Q_SLOTS:
conn::brw::ERROR_IDS back();
diff --git a/common/browserdbus.cpp b/common/browserdbus.cpp
index a05fa94..950bca3 100644
--- a/common/browserdbus.cpp
+++ b/common/browserdbus.cpp
@@ -196,6 +196,7 @@ void BrowserDbus::createPageWindow(int deviceid, int x, int y, int width, int he
connect(actualtab, SIGNAL(onLinkClicked(QString)), this, SIGNAL(linkClicked(QString)));
connect(actualtab, SIGNAL(onSelectionChanged(void)), this, SIGNAL(selectionChanged(void)));
connect(actualtab, SIGNAL(onStatusTextChanged(QString)), this, SIGNAL(onStatusTextChanged(QString)));
+ connect(actualtab, SIGNAL(onVisibilityChanged(bool)), this, SIGNAL(onVisibilityChanged(bool)));
QString *userinputservice = new QString(*webpagewindowservice + "/IUserInput");
diff --git a/common/browserdbus.h b/common/browserdbus.h
index 584105a..7394f55 100644
--- a/common/browserdbus.h
+++ b/common/browserdbus.h
@@ -86,6 +86,7 @@ signals:
void linkClicked(QString);
void selectionChanged(void);
void onStatusTextChanged(QString);
+ void onVisibilityChanged(bool);
public slots:
void pageloadingstarted();