diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -84,6 +84,10 @@
find_package(Qt5OpenGL REQUIRED)
find_package(Qt5PrintSupport REQUIRED)
+#TODO
+find_package(Qt5WebEngine REQUIRED)
+find_package(Qt5WebEngineWidgets REQUIRED)
+
if(QTONLY)
# Forward the old QTONLY=TRUE option to the new WITH_KDE=FALSE
set(WITH_KF5 FALSE)
diff --git a/src/apps/behaim/CMakeLists.txt b/src/apps/behaim/CMakeLists.txt
--- a/src/apps/behaim/CMakeLists.txt
+++ b/src/apps/behaim/CMakeLists.txt
@@ -22,6 +22,10 @@
${Qt5Widgets_LIBRARIES}
${Qt5PrintSupport_LIBRARIES}
${Qt5Network_LIBRARIES}
+ #TODO
+ ${Qt5WebEngineWidgets_LIBRARIES}
+ ${Qt5WebEngine_LIBRARIES}
+
${Qt5WebKitWidgets_LIBRARIES}
${Qt5WebKit_LIBRARIES}
${Qt5Sql_LIBRARIES}
diff --git a/src/apps/marble-maps/CMakeLists.txt b/src/apps/marble-maps/CMakeLists.txt
--- a/src/apps/marble-maps/CMakeLists.txt
+++ b/src/apps/marble-maps/CMakeLists.txt
@@ -22,6 +22,10 @@
${Qt5Widgets_LIBRARIES}
${Qt5PrintSupport_LIBRARIES}
${Qt5Network_LIBRARIES}
+ #TODO
+ ${Qt5WebEngineWidgets_LIBRARIES}
+ ${Qt5WebEngine_LIBRARIES}
+
${Qt5WebKitWidgets_LIBRARIES}
${Qt5WebKit_LIBRARIES}
${Qt5Sql_LIBRARIES}
diff --git a/src/apps/marble-qt/CMakeLists.txt b/src/apps/marble-qt/CMakeLists.txt
--- a/src/apps/marble-qt/CMakeLists.txt
+++ b/src/apps/marble-qt/CMakeLists.txt
@@ -30,6 +30,10 @@
${Qt5Widgets_LIBRARIES}
${Qt5PrintSupport_LIBRARIES}
${Qt5Network_LIBRARIES}
+#TODO
+${Qt5WebEngineWidgets_LIBRARIES}
+${Qt5WebEngine_LIBRARIES}
+
${Qt5WebKitWidgets_LIBRARIES}
${Qt5WebKit_LIBRARIES}
marbleui
diff --git a/src/apps/marble-touch/CMakeLists.txt b/src/apps/marble-touch/CMakeLists.txt
--- a/src/apps/marble-touch/CMakeLists.txt
+++ b/src/apps/marble-touch/CMakeLists.txt
@@ -25,6 +25,10 @@
${Qt5Core_LIBRARIES}
${Qt5Widgets_LIBRARIES}
${Qt5Network_LIBRARIES}
+ #TODO
+ ${Qt5WebEngineWidgets_LIBRARIES}
+ ${Qt5WebEngine_LIBRARIES}
+
${Qt5WebKitWidgets_LIBRARIES}
${Qt5WebKit_LIBRARIES}
${MARBLEWIDGET}
diff --git a/src/apps/marble-ui/CMakeLists.txt b/src/apps/marble-ui/CMakeLists.txt
--- a/src/apps/marble-ui/CMakeLists.txt
+++ b/src/apps/marble-ui/CMakeLists.txt
@@ -18,6 +18,10 @@
${Qt5Widgets_LIBRARIES}
${Qt5PrintSupport_LIBRARIES}
${Qt5Network_LIBRARIES}
+ #TODO
+ ${Qt5WebEngineWidgets_LIBRARIES}
+ ${Qt5WebEngine_LIBRARIES}
+
${Qt5WebKitWidgets_LIBRARIES}
${Qt5WebKit_LIBRARIES}
${MARBLEWIDGET})
diff --git a/src/lib/marble/CMakeLists.txt b/src/lib/marble/CMakeLists.txt
--- a/src/lib/marble/CMakeLists.txt
+++ b/src/lib/marble/CMakeLists.txt
@@ -23,6 +23,9 @@
${CMAKE_CURRENT_SOURCE_DIR}/osm
${CMAKE_CURRENT_SOURCE_DIR}/cloudsync
${CMAKE_SOURCE_DIR}/src/lib/astro
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
${Qt5WebKitWidgets_INCLUDE_DIRS}
${Qt5Xml_INCLUDE_DIRS}
${Qt5Concurrent_INCLUDE_DIRS}
@@ -373,6 +376,9 @@
${Qt5Widgets_LIBRARIES}
${Qt5Gui_LIBRARIES}
${Qt5WebKitWidgets_LIBRARIES}
+#TODO
+${Qt5WebEngineWidgets_LIBRARIES}
+
${Qt5Svg_LIBRARIES}
${Qt5Script_LIBRARIES}
${Qt5Quick_LIBRARIES}
diff --git a/src/lib/marble/LegendWidget.ui b/src/lib/marble/LegendWidget.ui
--- a/src/lib/marble/LegendWidget.ui
+++ b/src/lib/marble/LegendWidget.ui
@@ -28,7 +28,7 @@
MarbleLegendBrowser
- QWebView
+ QWebEngineView
diff --git a/src/lib/marble/MarbleLegendBrowser.h b/src/lib/marble/MarbleLegendBrowser.h
--- a/src/lib/marble/MarbleLegendBrowser.h
+++ b/src/lib/marble/MarbleLegendBrowser.h
@@ -60,7 +60,6 @@
private Q_SLOTS:
void initTheme();
void loadLegend();
- void injectCheckBoxChecker();
void openLinkExternally( const QUrl &url );
protected:
diff --git a/src/lib/marble/MarbleLegendBrowser.cpp b/src/lib/marble/MarbleLegendBrowser.cpp
--- a/src/lib/marble/MarbleLegendBrowser.cpp
+++ b/src/lib/marble/MarbleLegendBrowser.cpp
@@ -29,8 +29,9 @@
#include
#ifndef MARBLE_NO_WEBKIT
-#include
-#include
+ //TODO
+ #include
+ #include
#endif
#include
@@ -77,11 +78,14 @@
#endif // Q_WS_MAEMO_5
#ifndef MARBLE_NO_WEBKIT
- QWebFrame *frame = page()->mainFrame();
- connect(frame, SIGNAL(javaScriptWindowObjectCleared()),
- this, SLOT(injectCheckBoxChecker()));
- page()->setLinkDelegationPolicy( QWebPage::DelegateAllLinks );
- connect( this, SIGNAL(linkClicked(QUrl)), this, SLOT(openLinkExternally(QUrl)) );
+//TODO: not yet tested
+ QWebChannel *channel = new QWebChannel();
+ channel->registerObject("Marble", this);
+ page()->setWebChannel(channel);
+
+//TODO: no easy way to delegate links
+// page()->setLinkDelegationPolicy( QWebEnginePage::DelegateAllLinks );
+// connect( this, SIGNAL(linkClicked(QUrl)), this, SLOT(openLinkExternally(QUrl)) );
#endif
}
@@ -179,11 +183,13 @@
// Set the html string in the QTextBrowser.
setHtml(finalHtml, baseUrl);
- QTextDocument *document = new QTextDocument(page()->mainFrame()->toHtml());
- d->m_marbleModel->setLegend( document );
+ page()->toHtml([=]( QString document ) {
+ d->m_marbleModel->setLegend( new QTextDocument(document) );
+ });
#endif
}
+/*
void MarbleLegendBrowser::injectCheckBoxChecker()
{
#ifndef MARBLE_NO_WEBKIT
@@ -191,6 +197,7 @@
frame->addToJavaScriptWindowObject( "Marble", this );
#endif
}
+*/
void MarbleLegendBrowser::openLinkExternally( const QUrl &url )
{
@@ -203,7 +210,7 @@
bool MarbleLegendBrowser::event( QEvent * event )
{
- // "Delayed initialization": legend gets created only
+ // "Delayed initialization": legend gets created only
if ( event->type() == QEvent::Show ) {
loadLegend();
return true;
@@ -386,37 +393,41 @@
void MarbleLegendBrowser::setCheckedProperty( const QString& name, bool checked )
{
#ifndef MARBLE_NO_WEBKIT
- QWebElement box = page()->mainFrame()->findFirstElement("input[name="+name+']');
- if (!box.isNull()) {
- if (checked != d->m_checkBoxMap[name]) {
- d->m_checkBoxMap[name] = checked;
- emit toggledShowProperty( name, checked );
- }
- }
- update();
+//TODO: No api to support extracting DOM elements.
+// QWebElement box = page()->mainFrame()->findFirstElement("input[name="+name+']');
+// if (!box.isNull()) {
+// if (checked != d->m_checkBoxMap[name]) {
+// d->m_checkBoxMap[name] = checked;
+// emit toggledShowProperty( name, checked );
+// }
+// }
+//
+// update();
#endif
}
void MarbleLegendBrowser::setRadioCheckedProperty( const QString& value, const QString& name , bool checked )
{
#ifndef MARBLE_NO_WEBKIT
- QWebElement box = page()->mainFrame()->findFirstElement("input[value="+value+']');
- QWebElementCollection boxes = page()->mainFrame()->findAllElements("input[name="+name+']');
- QString currentValue="";
- for(int i=0; im_checkBoxMap[currentValue]=false;
- emit toggledShowProperty( currentValue, false );
- }
- if (!box.isNull()) {
- if (checked != d->m_checkBoxMap[value]) {
- d->m_checkBoxMap[value] = checked;
- emit toggledShowProperty( value, checked );
- }
- }
- update();
+//TODO: No api to support extracting DOM elements.
+// QWebElement box = page()->mainFrame()->findFirstElement("input[value="+value+']');
+// QWebElementCollection boxes = page()->mainFrame()->findAllElements("input[name="+name+']');
+// QString currentValue="";
+// for(int i=0; im_checkBoxMap[currentValue]=false;
+// emit toggledShowProperty( currentValue, false );
+// }
+// if (!box.isNull()) {
+// if (checked != d->m_checkBoxMap[value]) {
+// d->m_checkBoxMap[value] = checked;
+// emit toggledShowProperty( value, checked );
+// }
+// }
+
+// update();
#endif
}
diff --git a/src/lib/marble/MarbleWebView.h b/src/lib/marble/MarbleWebView.h
--- a/src/lib/marble/MarbleWebView.h
+++ b/src/lib/marble/MarbleWebView.h
@@ -11,23 +11,27 @@
#ifndef MARBLEWEBVIEW_H
#define MARBLEWEBVIEW_H
-#include
+#include
#include "marble_export.h"
-class MARBLE_EXPORT MarbleWebView : public QWebView
+class MARBLE_EXPORT MarbleWebView : public QWebEngineView
{
Q_OBJECT
public:
explicit MarbleWebView(QWidget *parent = 0);
protected:
+ bool event(QEvent *);
void contextMenuEvent(QContextMenuEvent *event);
void keyPressEvent(QKeyEvent *event);
private Q_SLOTS:
void copySelectedText();
+Q_SIGNALS:
+ void updateFinished();
+
private:
QMenu *m_contextMenu;
QAction *m_copyAction;
diff --git a/src/lib/marble/MarbleWebView.cpp b/src/lib/marble/MarbleWebView.cpp
--- a/src/lib/marble/MarbleWebView.cpp
+++ b/src/lib/marble/MarbleWebView.cpp
@@ -16,7 +16,7 @@
#include
MarbleWebView::MarbleWebView(QWidget *parent) :
- QWebView(parent),
+ QWebEngineView(parent),
m_contextMenu(new QMenu(this)),
m_copyAction(new QAction(this))
{
@@ -28,6 +28,7 @@
this, SLOT(copySelectedText()));
m_contextMenu->addAction(m_copyAction);
setContextMenuPolicy(Qt::DefaultContextMenu);
+
}
void MarbleWebView::contextMenuEvent(QContextMenuEvent *event)
@@ -52,7 +53,16 @@
return;
}
- QWebView::keyPressEvent(event);
+ QWebEngineView::keyPressEvent(event);
+}
+
+bool MarbleWebView::event(QEvent* e)
+{
+ if (e->type() == QEvent::UpdateRequest)
+ {
+ emit updateFinished();
+ }
+ return QWebEngineView::event(e);
}
#include "moc_MarbleWebView.cpp"
diff --git a/src/lib/marble/PopupItem.h b/src/lib/marble/PopupItem.h
--- a/src/lib/marble/PopupItem.h
+++ b/src/lib/marble/PopupItem.h
@@ -123,6 +123,8 @@
void clearHistory();
+ void setVisible(bool visible);
+
private Q_SLOTS:
/**
* @brief Marks cache as dirty and tells the world its need for repainting.
@@ -164,6 +166,8 @@
*/
void goBack();
+ void loadFinished(bool status);
+
protected:
void paint( QPainter *painter );
@@ -183,6 +187,9 @@
QColor m_backColor;
bool m_needMouseRelease;
QUrl m_baseUrl;
+
+ bool m_waitingForPageLoad;
+ bool m_toBeVisible;
};
}
diff --git a/src/lib/marble/PopupItem.cpp b/src/lib/marble/PopupItem.cpp
--- a/src/lib/marble/PopupItem.cpp
+++ b/src/lib/marble/PopupItem.cpp
@@ -17,8 +17,8 @@
#ifdef MARBLE_NO_WEBKIT
#include "NullMarbleWebView.h"
#else
-#include
-#include
+#include
+#include
#include "MarbleWebView.h"
#endif
@@ -46,13 +46,17 @@
m_widget( new QWidget ),
m_textColor( QColor(Qt::black) ),
m_backColor( QColor(Qt::white) ),
- m_needMouseRelease(false)
+ m_needMouseRelease( false ),
+ m_waitingForPageLoad( false ),
+ m_toBeVisible( false )
{
setCacheMode( ItemCoordinateCache );
setVisible( false );
setSize( QSizeF( 240.0, 320.0 ) );
m_ui.setupUi( m_widget );
+ m_widget->setAttribute(Qt::WA_NativeWindow, true);
+ m_widget->setAttribute(Qt::WA_DontCreateNativeAncestors, true);
m_ui.goBackButton->setVisible( false );
connect( m_ui.goBackButton, SIGNAL(clicked()), this, SLOT(goBack()) );
@@ -67,21 +71,19 @@
m_widget->setAttribute( Qt::WA_NoSystemBackground, true );
QPalette palette = m_ui.webView->palette();
palette.setBrush(QPalette::Base, Qt::transparent);
- m_ui.webView->setPalette(palette);
#ifndef MARBLE_NO_WEBKIT
- m_ui.webView->page()->setPalette(palette);
+ m_ui.webView->setPalette( palette );
#endif
m_ui.webView->setAttribute(Qt::WA_OpaquePaintEvent, false);
- m_ui.webView->setUrl( QUrl( "about:blank" ) );
- connect( m_ui.webView, SIGNAL(titleChanged(QString)), m_ui.titleText, SLOT(setText(QString)) );
- connect( m_ui.webView, SIGNAL(urlChanged(QUrl)), this, SLOT(updateBackButton()) );
+ connect( m_ui.webView->page(), SIGNAL(titleChanged(QString)), m_ui.titleText, SLOT(setText(QString)) );
+ connect( m_ui.webView->page(), SIGNAL(urlChanged(QUrl)), this, SLOT(updateBackButton()) );
connect( m_ui.hideButton, SIGNAL(clicked()), this, SIGNAL(hide()) );
-#ifndef MARBLE_NO_WEBKIT
// Update the popupitem on changes while loading the webpage
- connect( m_ui.webView->page(), SIGNAL(repaintRequested(QRect)), this, SLOT(requestUpdate()) );
-#endif
+ connect(m_ui.webView, SIGNAL(loadFinished(bool)), this, SLOT(loadFinished(bool)));
+ m_ui.webView->setUrl( QUrl( "about:blank" ) );
+ m_ui.webView->setStyleSheet("body { overflow:hidden; }");
}
PopupItem::~PopupItem()
@@ -101,17 +103,16 @@
void PopupItem::setUrl( const QUrl &url )
{
- m_ui.webView->setUrl( url );
- setVisible( true );
+ m_ui.webView->load(url);
QPalette palette = m_ui.webView->palette();
- palette.setBrush(QPalette::Base, Qt::transparent);
- m_ui.webView->setPalette(palette);
+ palette.setBrush( QPalette::Base, Qt::transparent );
#ifndef MARBLE_NO_WEBKIT
- m_ui.webView->page()->setPalette(palette);
+ m_ui.webView->setPalette(palette);
#endif
m_ui.webView->setAttribute(Qt::WA_OpaquePaintEvent, false);
+ m_waitingForPageLoad = true;
requestUpdate();
}
@@ -119,11 +120,41 @@
{
m_content = html;
m_baseUrl = baseUrl;
-#ifndef MARBLE_NO_WEBKIT
m_ui.webView->setHtml( html, baseUrl );
-#endif
+ this->m_waitingForPageLoad = true;
+ requestUpdate();
+}
+
+void PopupItem::loadFinished(bool status)
+{
+ if ( !status ) {
+ return;
+ }
requestUpdate();
+ if ( m_waitingForPageLoad ) {
+ m_waitingForPageLoad = false;
+ }
+ if ( m_toBeVisible ) {
+ m_toBeVisible = false;
+ MarbleGraphicsItem::setVisible( true );
+ }
+}
+
+void PopupItem::setVisible(bool visible)
+{
+ if (!visible) {
+ MarbleGraphicsItem::setVisible( false );
+ return;
+ }
+
+ if (!this->visible()) {
+ if (m_waitingForPageLoad) {
+ m_toBeVisible = true;
+ } else {
+ MarbleGraphicsItem::setVisible( visible );
+ }
+ }
}
void PopupItem::setTextColor(const QColor &color)
@@ -165,10 +196,12 @@
void PopupItem::paint( QPainter *painter )
{
+ //TODO: It does not render the web page, but links can be clicked.
QRect popupRect;
QPixmap image = pixmap("marble/webpopup/arrow2_vertical_topright");
if ( alignment() & Qt::AlignRight ) {
+
popupRect.setRect( image.width() - 13, -10,
size().width() - ( image.width() - 23 ),
size().height() + 20 );
@@ -185,6 +218,7 @@
painter->drawPixmap( 0, size().height() / 2, image );
}
m_widget->render( painter, QPoint( image.width() - 3, 0 ), QRegion() );
+
} else if ( alignment() & Qt::AlignLeft ) {
popupRect.setRect( -10, -10,
size().width() - ( image.width() - 23 ),
@@ -234,7 +268,8 @@
}
}
m_widget->setFixedSize( popupRect.width() - 20,
- popupRect.height() - 20 );
+ popupRect.height() - 20 );
+
}
bool PopupItem::eventFilter( QObject *object, QEvent *e )
@@ -343,9 +378,11 @@
void PopupItem::clearHistory()
{
m_content.clear();
- m_ui.webView->setUrl( QUrl( "about:blank" ) );
+ m_ui.webView->page()->setUrl( QUrl( "about:blank" ) );
+ m_waitingForPageLoad = true;
#ifndef MARBLE_NO_WEBKIT
- m_ui.webView->history()->clear();
+ m_ui.webView->page()->history()->clear();
+ m_ui.webView->page()->history();
#endif
}
@@ -359,12 +396,14 @@
{
#ifndef QT_NO_PRINTER
#ifndef MARBLE_NO_WEBKIT
- QPrinter printer;
- QPointer dialog = new QPrintDialog(&printer);
- if (dialog->exec() == QPrintDialog::Accepted) {
- m_ui.webView->print(&printer);
- }
- delete dialog;
+
+//TODO: No api for printing the web page.
+// QPrinter printer;
+// QPointer dialog = new QPrintDialog(&printer);
+// if (dialog->exec() == QPrintDialog::Accepted) {
+// m_ui.webView->print(&printer);
+// }
+// delete dialog;
#endif
#endif
}
@@ -372,10 +411,10 @@
void PopupItem::updateBackButton()
{
#ifndef MARBLE_NO_WEBKIT
- bool const hasHistory = m_ui.webView->history()->count() > 1;
- bool const previousIsHtml = !m_content.isEmpty() && m_ui.webView->history()->currentItemIndex() == 1;
- bool const atStart = m_ui.webView->history()->currentItemIndex() <= 1;
- bool const currentIsHtml = m_ui.webView->url() == QUrl( "about:blank" );
+ bool const hasHistory = m_ui.webView->page()->history()->count() > 1;
+ bool const previousIsHtml = !m_content.isEmpty() && m_ui.webView->page()->history()->currentItemIndex() == 1;
+ bool const atStart = m_ui.webView->page()->history()->currentItemIndex() <= 1;
+ bool const currentIsHtml = m_ui.webView->page()->url() == QUrl( "about:blank" );
m_ui.goBackButton->setVisible( hasHistory && !currentIsHtml && ( previousIsHtml || !atStart ) );
#endif
}
@@ -383,8 +422,8 @@
void PopupItem::goBack()
{
#ifndef MARBLE_NO_WEBKIT
- if ( m_ui.webView->history()->currentItemIndex() == 1 && !m_content.isEmpty() ) {
- m_ui.webView->setHtml( m_content, m_baseUrl );
+ if ( m_ui.webView->page()->history()->currentItemIndex() == 1 && !m_content.isEmpty() ) {
+ m_ui.webView->page()->setHtml( m_content, m_baseUrl );
} else {
m_ui.webView->back();
}
@@ -395,9 +434,10 @@
QPixmap PopupItem::pixmap( const QString &imageId ) const
{
QPixmap result;
+
if ( !QPixmapCache::find( imageId, result ) ) {
- QImage bottom = QImage( QString( ":/%1_shadow.png" ).arg( imageId) );
- QImage top = QImage( QString( ":/%1.png" ).arg( imageId) );
+ QImage bottom = QImage( QString( ":/%1_shadow.png" ).arg( imageId ) );
+ QImage top = QImage( QString( ":/%1.png" ).arg( imageId ) );
colorize( top, m_backColor );
QPainter painter( &bottom );
painter.drawImage( QPoint(0,0), top );
diff --git a/src/lib/marble/TinyWebBrowser.h b/src/lib/marble/TinyWebBrowser.h
--- a/src/lib/marble/TinyWebBrowser.h
+++ b/src/lib/marble/TinyWebBrowser.h
@@ -16,7 +16,7 @@
#include
#include
#include
-#include
+#include
// Marble
#include "marble_export.h"
@@ -32,7 +32,7 @@
* disabled per default and instead opens every link in the default web
* browser of the user.
*/
-class MARBLE_EXPORT TinyWebBrowser : public QWebView
+class MARBLE_EXPORT TinyWebBrowser : public QWebEngineView
{
Q_OBJECT
@@ -48,7 +48,7 @@
void statusMessage( QString );
protected:
- QWebView *createWindow( QWebPage::WebWindowType type );
+ QWebEngineView *createWindow( QWebEnginePage::WebWindowType type );
private Q_SLOTS:
void openExternalLink( QUrl );
diff --git a/src/lib/marble/TinyWebBrowser.cpp b/src/lib/marble/TinyWebBrowser.cpp
--- a/src/lib/marble/TinyWebBrowser.cpp
+++ b/src/lib/marble/TinyWebBrowser.cpp
@@ -45,20 +45,23 @@
}
TinyWebBrowser::TinyWebBrowser( QWidget* parent )
- : QWebView( parent ),
+ : QWebEngineView( parent ),
d( 0 )
{
connect( this, SIGNAL(statusBarMessage(QString)),
this, SIGNAL(statusMessage(QString)) );
- page()->setLinkDelegationPolicy( QWebPage::DelegateAllLinks );
- connect( this, SIGNAL(linkClicked(QUrl)),
+//TODO: No easy way to delegate links
+// page()->setLinkDelegationPolicy( QWebPage::DelegateAllLinks );
+ connect( this, SIGNAL(urlChanged(QUrl)),
this, SLOT(openExternalLink(QUrl)) );
+
connect( this, SIGNAL(titleChanged(QString)),
this, SLOT(setWindowTitle(QString)) );
- pageAction( QWebPage::OpenLinkInNewWindow )->setEnabled( false );
- pageAction( QWebPage::OpenLinkInNewWindow )->setVisible( false );
+ //TODO:
+ //pageAction( QWebEnginePage::OpenLinkInNewWindow )->setEnabled( false );
+ //pageAction( QWebEnginePage::OpenLinkInNewWindow )->setVisible( false );
}
TinyWebBrowser::~TinyWebBrowser()
@@ -72,6 +75,7 @@
QUrl url = relativeUrl;
if ( url.isRelative() )
url = QUrl( guessWikipediaDomain() ).resolved( url );
+ qDebug() << "setWikipediaPath()";
load( url );
}
@@ -82,18 +86,20 @@
QPointer dlg = new QPrintDialog( &printer, this );
if ( dlg->exec() )
- QWebView::print( &printer );
+ //TODO:
+ //QWebEngineView::print( &printer );
delete dlg;
#endif
}
-QWebView *TinyWebBrowser::createWindow( QWebPage::WebWindowType type )
+QWebEngineView *TinyWebBrowser::createWindow( QWebEnginePage::WebWindowType type )
{
TinyWebBrowser *view = new TinyWebBrowser( this );
- if ( type == QWebPage::WebModalDialog ) {
- view->setWindowModality( Qt::WindowModal );
- }
+//TODO:
+// if ( type == QWebEnginePage::WebModalDialog ) {
+// view->setWindowModality( Qt::WindowModal );
+// }
return view;
}
diff --git a/src/lib/marble/WebPopupWidget.ui b/src/lib/marble/WebPopupWidget.ui
--- a/src/lib/marble/WebPopupWidget.ui
+++ b/src/lib/marble/WebPopupWidget.ui
@@ -18,9 +18,6 @@
- -
-
-
-
@@ -44,9 +41,15 @@
:/marble/webpopup/icon-print.png:/marble/webpopup/icon-print.png
+
+ QToolButton::DelayedPopup
+
true
+
+ Qt::NoArrow
+
-
@@ -63,6 +66,9 @@
+ -
+
+
diff --git a/src/lib/marble/cloudsync/RouteItemDelegate.cpp b/src/lib/marble/cloudsync/RouteItemDelegate.cpp
--- a/src/lib/marble/cloudsync/RouteItemDelegate.cpp
+++ b/src/lib/marble/cloudsync/RouteItemDelegate.cpp
@@ -5,7 +5,7 @@
#ifdef MARBLE_NO_WEBKIT
#include
#else
-#include
+#include
#endif
#include
diff --git a/src/lib/marble/graphicsview/MarbleGraphicsItem.cpp b/src/lib/marble/graphicsview/MarbleGraphicsItem.cpp
--- a/src/lib/marble/graphicsview/MarbleGraphicsItem.cpp
+++ b/src/lib/marble/graphicsview/MarbleGraphicsItem.cpp
@@ -66,7 +66,7 @@
p()->m_pixmap = QPixmap( neededPixmapSize );
}
else {
- mDebug() << "Warning: Invalid pixmap size suggested: " << d->m_size;
+ mDebug() << "Warnter an UpdateRequest event has been received are you guaranteed to have access to the page in the view()->render function.ing: Invalid pixmap size suggested: " << d->m_size;
}
}
diff --git a/src/lib/marble/layers/PopupLayer.cpp b/src/lib/marble/layers/PopupLayer.cpp
--- a/src/lib/marble/layers/PopupLayer.cpp
+++ b/src/lib/marble/layers/PopupLayer.cpp
@@ -149,7 +149,7 @@
}
}
- setVisible( true );
+ setVisible( true );
}
void PopupLayer::setCoordinates( const GeoDataCoordinates &coordinates , Qt::Alignment alignment )
diff --git a/src/plugins/render/opencachingcom/CacheDetailsDialog.ui b/src/plugins/render/opencachingcom/CacheDetailsDialog.ui
--- a/src/plugins/render/opencachingcom/CacheDetailsDialog.ui
+++ b/src/plugins/render/opencachingcom/CacheDetailsDialog.ui
@@ -162,7 +162,7 @@
QWebView
QWidget
-
+
Marble::MarbleWebView
diff --git a/src/plugins/render/opencachingcom/OpenCachingComItem.cpp b/src/plugins/render/opencachingcom/OpenCachingComItem.cpp
--- a/src/plugins/render/opencachingcom/OpenCachingComItem.cpp
+++ b/src/plugins/render/opencachingcom/OpenCachingComItem.cpp
@@ -207,7 +207,8 @@
fillDialogTabs();
}
- m_ui->textDescription->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
+ //TODO: No api for setting link delegation.
+ // m_ui->textDescription->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
m_ui->textLogs->setOpenExternalLinks(true);
connect( ui.buttonClose, SIGNAL(clicked()), &dialog, SLOT(close()) );
diff --git a/src/plugins/render/opendesktop/CMakeLists.txt b/src/plugins/render/opendesktop/CMakeLists.txt
--- a/src/plugins/render/opendesktop/CMakeLists.txt
+++ b/src/plugins/render/opendesktop/CMakeLists.txt
@@ -6,7 +6,12 @@
${QT_INCLUDE_DIR}
)
-INCLUDE_DIRECTORIES(${Qt5WebKitWidgets_INCLUDE_DIRS})
+INCLUDE_DIRECTORIES(
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
+ ${Qt5WebKitWidgets_INCLUDE_DIRS}
+)
set( my_SRCS
OpenDesktopPlugin.cpp
diff --git a/src/plugins/render/photo/CMakeLists.txt b/src/plugins/render/photo/CMakeLists.txt
--- a/src/plugins/render/photo/CMakeLists.txt
+++ b/src/plugins/render/photo/CMakeLists.txt
@@ -6,7 +6,12 @@
${QT_INCLUDE_DIR}
)
-INCLUDE_DIRECTORIES(${Qt5WebKitWidgets_INCLUDE_DIRS})
+INCLUDE_DIRECTORIES(
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
+ ${Qt5WebKitWidgets_INCLUDE_DIRS}
+)
set( photo_SRCS PhotoPlugin.cpp
PhotoPluginModel.cpp
diff --git a/src/plugins/render/weather/CMakeLists.txt b/src/plugins/render/weather/CMakeLists.txt
--- a/src/plugins/render/weather/CMakeLists.txt
+++ b/src/plugins/render/weather/CMakeLists.txt
@@ -6,7 +6,12 @@
${QT_INCLUDE_DIR}
)
-INCLUDE_DIRECTORIES(${Qt5WebKitWidgets_INCLUDE_DIRS})
+INCLUDE_DIRECTORIES(
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
+ ${Qt5WebKitWidgets_INCLUDE_DIRS}
+)
set( weather_SRCS WeatherData.cpp
WeatherItem.cpp
diff --git a/src/plugins/render/wikipedia/CMakeLists.txt b/src/plugins/render/wikipedia/CMakeLists.txt
--- a/src/plugins/render/wikipedia/CMakeLists.txt
+++ b/src/plugins/render/wikipedia/CMakeLists.txt
@@ -6,7 +6,12 @@
${QT_INCLUDE_DIR}
)
-INCLUDE_DIRECTORIES(${Qt5WebKitWidgets_INCLUDE_DIRS})
+INCLUDE_DIRECTORIES(
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
+ ${Qt5WebKitWidgets_INCLUDE_DIRS}
+)
set( wikipedia_SRCS WikipediaPlugin.cpp
WikipediaModel.cpp
diff --git a/src/plugins/render/wikipedia/WikipediaItem.cpp b/src/plugins/render/wikipedia/WikipediaItem.cpp
--- a/src/plugins/render/wikipedia/WikipediaItem.cpp
+++ b/src/plugins/render/wikipedia/WikipediaItem.cpp
@@ -17,7 +17,7 @@
#include
#include
#include
-#include
+#include
// Marble
#include "MarbleDebug.h"
diff --git a/src/plugins/runner/cyclestreets/CMakeLists.txt b/src/plugins/runner/cyclestreets/CMakeLists.txt
--- a/src/plugins/runner/cyclestreets/CMakeLists.txt
+++ b/src/plugins/runner/cyclestreets/CMakeLists.txt
@@ -7,6 +7,9 @@
)
INCLUDE_DIRECTORIES(
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
${Qt5WebKitWidgets_INCLUDE_DIRS}
${Qt5Xml_INCLUDE_DIRS}
)
diff --git a/src/plugins/runner/mapquest/CMakeLists.txt b/src/plugins/runner/mapquest/CMakeLists.txt
--- a/src/plugins/runner/mapquest/CMakeLists.txt
+++ b/src/plugins/runner/mapquest/CMakeLists.txt
@@ -7,6 +7,9 @@
)
INCLUDE_DIRECTORIES(
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
${Qt5WebKitWidgets_INCLUDE_DIRS}
${Qt5Xml_INCLUDE_DIRS}
)
diff --git a/src/plugins/runner/nominatim-reversegeocoding/CMakeLists.txt b/src/plugins/runner/nominatim-reversegeocoding/CMakeLists.txt
--- a/src/plugins/runner/nominatim-reversegeocoding/CMakeLists.txt
+++ b/src/plugins/runner/nominatim-reversegeocoding/CMakeLists.txt
@@ -7,6 +7,9 @@
)
INCLUDE_DIRECTORIES(
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
${Qt5WebKitWidgets_INCLUDE_DIRS}
${Qt5Xml_INCLUDE_DIRS}
)
diff --git a/src/plugins/runner/nominatim-search/CMakeLists.txt b/src/plugins/runner/nominatim-search/CMakeLists.txt
--- a/src/plugins/runner/nominatim-search/CMakeLists.txt
+++ b/src/plugins/runner/nominatim-search/CMakeLists.txt
@@ -7,6 +7,9 @@
)
INCLUDE_DIRECTORIES(
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
${Qt5WebKitWidgets_INCLUDE_DIRS}
${Qt5Xml_INCLUDE_DIRS}
)
diff --git a/src/plugins/runner/open-source-routing-machine/CMakeLists.txt b/src/plugins/runner/open-source-routing-machine/CMakeLists.txt
--- a/src/plugins/runner/open-source-routing-machine/CMakeLists.txt
+++ b/src/plugins/runner/open-source-routing-machine/CMakeLists.txt
@@ -7,6 +7,9 @@
)
INCLUDE_DIRECTORIES(
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
${Qt5WebKitWidgets_INCLUDE_DIRS}
${Qt5Xml_INCLUDE_DIRS}
)
diff --git a/src/plugins/runner/openrouteservice/CMakeLists.txt b/src/plugins/runner/openrouteservice/CMakeLists.txt
--- a/src/plugins/runner/openrouteservice/CMakeLists.txt
+++ b/src/plugins/runner/openrouteservice/CMakeLists.txt
@@ -7,6 +7,9 @@
)
INCLUDE_DIRECTORIES(
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
${Qt5WebKitWidgets_INCLUDE_DIRS}
${Qt5Xml_INCLUDE_DIRS}
)
diff --git a/src/plugins/runner/yours/CMakeLists.txt b/src/plugins/runner/yours/CMakeLists.txt
--- a/src/plugins/runner/yours/CMakeLists.txt
+++ b/src/plugins/runner/yours/CMakeLists.txt
@@ -7,6 +7,9 @@
)
INCLUDE_DIRECTORIES(
+ #TODO
+ ${Qt5WebEngineWidgets_INCLUDE_DIRS}
+
${Qt5WebKitWidgets_INCLUDE_DIRS}
${Qt5Xml_INCLUDE_DIRS}
)