Mercurial > projects > qtd
comparison demos/browser/webview.d @ 85:5c8c9c5d9ee1
more porting
author | mandel |
---|---|
date | Mon, 25 May 2009 14:10:44 +0000 |
parents | 85c59c4e5f19 |
children | 87bb4e622f9e |
comparison
equal
deleted
inserted
replaced
84:2edf95ad41e5 | 85:5c8c9c5d9ee1 |
---|---|
135 return mainWindow.currentTab().page(); | 135 return mainWindow.currentTab().page(); |
136 } | 136 } |
137 | 137 |
138 version(QT_NO_UITOOLS) {} else | 138 version(QT_NO_UITOOLS) {} else |
139 { | 139 { |
140 QObject createPlugin(string classId, QUrl url, string[] paramNames, string[] paramValues); | 140 QObject createPlugin(string classId, QUrl url, string[] paramNames, string[] paramValues) |
141 { | 141 { |
142 auto loader = new QUiLoader; | 142 auto loader = new QUiLoader; |
143 return loader.createWidget(classId, view()); | 143 return loader.createWidget(classId, view()); |
144 } | 144 } |
145 } | 145 } |
193 // set the webview mousepressedevent | 193 // set the webview mousepressedevent |
194 Qt.KeyboardModifiers m_keyboardModifiers; | 194 Qt.KeyboardModifiers m_keyboardModifiers; |
195 Qt.MouseButtons m_pressedButtons; | 195 Qt.MouseButtons m_pressedButtons; |
196 bool m_openInNewTab; | 196 bool m_openInNewTab; |
197 QUrl m_loadingUrl; | 197 QUrl m_loadingUrl; |
198 }; | 198 } |
199 | 199 |
200 class WebView : public QWebView | 200 class WebView : public QWebView |
201 { | 201 { |
202 public: | 202 public: |
203 | 203 |
204 WebView(QWidget parent = null) | 204 this(QWidget parent = null) |
205 { | 205 { |
206 super(parent); | 206 super(parent); |
207 m_progress = 0; | 207 m_progress = 0; |
208 m_page = new WebPage(this); | 208 m_page = new WebPage(this); |
209 setPage(m_page); | 209 setPage(m_page); |
234 string lastStatusBarText() | 234 string lastStatusBarText() |
235 { | 235 { |
236 return m_statusBarText; | 236 return m_statusBarText; |
237 } | 237 } |
238 | 238 |
239 int progress() const { return m_progress; } | 239 int progress() |
240 { | |
241 return m_progress; | |
242 } | |
240 | 243 |
241 protected: | 244 protected: |
242 | 245 |
243 void mousePressEvent(QMouseEvent event) | 246 void mousePressEvent(QMouseEvent event) |
244 { | 247 { |
249 | 252 |
250 void mouseReleaseEvent(QMouseEvent event) | 253 void mouseReleaseEvent(QMouseEvent event) |
251 { | 254 { |
252 QWebView.mouseReleaseEvent(event); | 255 QWebView.mouseReleaseEvent(event); |
253 if (!event.isAccepted() && (m_page.m_pressedButtons & Qt.MidButton)) { | 256 if (!event.isAccepted() && (m_page.m_pressedButtons & Qt.MidButton)) { |
254 QUrl url(QApplication.clipboard().text(QClipboard.Selection)); | 257 auto url = new QUrl(QApplication.clipboard().text(QClipboard.Selection)); |
255 if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) { | 258 if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) { |
256 setUrl(url); | 259 setUrl(url); |
257 } | 260 } |
258 } | 261 } |
259 } | 262 } |
260 | 263 |
261 void contextMenuEvent(QContextMenuEvent event) | 264 void contextMenuEvent(QContextMenuEvent event) |
262 { | 265 { |
263 QWebHitTestResult r = page().mainFrame().hitTestContent(event.pos()); | 266 QWebHitTestResult r = page().mainFrame().hitTestContent(event.pos()); |
264 if (!r.linkUrl().isEmpty()) { | 267 if (!r.linkUrl().isEmpty()) { |
265 QMenu menu(this); | 268 auto menu = new QMenu(this); |
266 menu.addAction(pageAction(QWebPage.OpenLinkInNewWindow)); | 269 menu.addAction(pageAction(QWebPage.OpenLinkInNewWindow)); |
267 menu.addAction(tr("Open in New Tab"), this, SLOT(openLinkInNewTab())); | 270 menu.addAction(tr("Open in New Tab"), this, SLOT(openLinkInNewTab())); |
268 menu.addSeparator(); | 271 menu.addSeparator(); |
269 menu.addAction(pageAction(QWebPage.DownloadLinkToDisk)); | 272 menu.addAction(pageAction(QWebPage.DownloadLinkToDisk)); |
270 // Add link to bookmarks... | 273 // Add link to bookmarks... |