equal
deleted
inserted
replaced
20 */ |
20 */ |
21 |
21 |
22 #include "PageItem.h" |
22 #include "PageItem.h" |
23 #include "GWebTouchNavigation.h" |
23 #include "GWebTouchNavigation.h" |
24 #include "Utilities.h" |
24 #include "Utilities.h" |
25 #include "GWebPage.h" |
25 #include "GSuperWebPage.h" |
26 #include "ChromeWidget.h" |
26 #include "ChromeWidget.h" |
27 |
27 |
28 #include <QGraphicsWebView> |
28 #include <QGraphicsWebView> |
29 #include <QTimer> |
29 #include <QTimer> |
30 |
30 |
43 }; |
43 }; |
44 |
44 |
45 // --------------------------------- |
45 // --------------------------------- |
46 |
46 |
47 PageItem::PageItem(ChromeSnippet * snippet, ChromeWidget* chrome) |
47 PageItem::PageItem(ChromeSnippet * snippet, ChromeWidget* chrome) |
48 : NativeChromeItem(snippet, chrome), |
48 : NativeChromeItem(snippet, chrome->layout()), |
49 m_webView(0), |
49 m_webView(0), |
50 m_touchNavigation(0), |
50 m_touchNavigation(0), |
51 m_superPage(0), |
51 m_superPage(0), |
52 m_page(0), |
52 m_page(0), |
53 m_chrome(chrome), |
53 m_chrome(chrome), |
66 if (m_isInstantiated) { |
66 if (m_isInstantiated) { |
67 m_cleanupTimer->stop(); // make sure cleanup not scheduled |
67 m_cleanupTimer->stop(); // make sure cleanup not scheduled |
68 return; |
68 return; |
69 } |
69 } |
70 |
70 |
71 qDebug() << "PageItem::instantiate"; |
|
72 |
|
73 // Create the web page. |
71 // Create the web page. |
74 m_page = new WebPageWrapper(this, "Page snippet javascript error"); |
72 m_page = new WebPageWrapper(this, "Page snippet javascript error"); |
75 m_page->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff); |
73 m_page->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff); |
76 m_page->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff); |
74 m_page->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff); |
77 |
75 |
86 m_superPage = new GSuperWebPage(m_page, m_chrome); |
84 m_superPage = new GSuperWebPage(m_page, m_chrome); |
87 |
85 |
88 // Create the web view. |
86 // Create the web view. |
89 m_webView = new PageItemWebView(this); |
87 m_webView = new PageItemWebView(this); |
90 m_webView->setPage(m_page); |
88 m_webView->setPage(m_page); |
91 safe_connect(m_webView, SIGNAL(loadFinished(bool)), this, SLOT(onLoadFinished(bool))); |
|
92 |
89 |
93 m_touchNavigation = new GWebTouchNavigation(m_page, m_webView); |
90 m_touchNavigation = new GWebTouchNavigation(m_page, m_webView); |
94 |
91 |
95 // create and setup timer to delay cleanup |
92 // create and setup timer to delay cleanup |
96 m_cleanupTimer = new QTimer(); |
93 m_cleanupTimer = new QTimer(); |
113 |
110 |
114 m_cleanupTimer->start(); |
111 m_cleanupTimer->start(); |
115 } |
112 } |
116 |
113 |
117 void PageItem::cleanUp() { // slot |
114 void PageItem::cleanUp() { // slot |
118 qDebug() << "PageItem::cleanUp"; |
|
119 delete m_cleanupTimer; |
115 delete m_cleanupTimer; |
120 m_cleanupTimer = 0; |
116 m_cleanupTimer = 0; |
121 delete m_touchNavigation; |
117 delete m_touchNavigation; |
122 m_touchNavigation = 0; |
118 m_touchNavigation = 0; |
123 delete m_webView; |
119 delete m_webView; |
126 m_superPage = 0; |
122 m_superPage = 0; |
127 m_isInstantiated = false; |
123 m_isInstantiated = false; |
128 } |
124 } |
129 |
125 |
130 void PageItem::resizeEvent(::QGraphicsSceneResizeEvent *event) { |
126 void PageItem::resizeEvent(::QGraphicsSceneResizeEvent *event) { |
131 qDebug() << "PageItem::resizeEvent: " << event->newSize(); |
|
132 setWebViewSize(event->newSize()); |
127 setWebViewSize(event->newSize()); |
133 } |
128 } |
134 |
129 |
135 void PageItem::setSize(const QSizeF &size) { |
130 void PageItem::setSize(const QSizeF &size) { |
136 resize(size); |
131 resize(size); |
185 // // Paint the background. |
180 // // Paint the background. |
186 // painter->fillRect(QRectF(0,0, geometry().width(), geometry().height()), Qt::blue); |
181 // painter->fillRect(QRectF(0,0, geometry().width(), geometry().height()), Qt::blue); |
187 //} |
182 //} |
188 |
183 |
189 QVariant PageItem::evaluateJavaScript(const QString &expression) { |
184 QVariant PageItem::evaluateJavaScript(const QString &expression) { |
190 qDebug() << "PageItem::evaluateJavaScript: " << expression; |
|
191 if (m_webView) { |
185 if (m_webView) { |
192 QWebFrame *frame = m_webView->page()->mainFrame(); |
186 QWebFrame *frame = m_webView->page()->mainFrame(); |
193 if (frame) |
187 if (frame) |
194 return frame->evaluateJavaScript(expression); |
188 return frame->evaluateJavaScript(expression); |
195 } |
189 } |
196 return QVariant(); |
190 return QVariant(); |
197 } |
191 } |
198 |
192 |
199 void PageItem::onLoadFinished(bool ok) { // slot |
|
200 qDebug() << "PageItem::onLoadFinished: " << ok; |
|
201 } |
|
202 |
|
203 } // GVA namespace |
193 } // GVA namespace |