Use QtWebEngine on Qt >= 5.6.0 and QtWebKit otherwise.

main
Teo Mrnjavac 9 years ago
parent c7aa427451
commit 831e2be3f2

@ -1,11 +1,42 @@
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED WebEngine WebEngineWidgets )
list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES
${PROJECT_BINARY_DIR}/src/libcalamaresui
)
list( APPEND CALA_WEBVIEW_LINK_LIBRARIES
calamaresui
)
if ( ${QT_VERSION} VERSION_LESS 5.6.0 )
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED WebKit WebKitWidgets )
list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES
${QT_QTWEBKIT_INCLUDE_DIR}
)
list( APPEND CALA_WEBVIEW_LINK_LIBRARIES
Qt5::WebKit
Qt5::WebKitWidgets
)
set( WEBVIEW_WITH_WEBKIT 1 )
else()
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED WebEngine WebEngineWidgets )
include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui
${QT_QTWEBENGINE_INCLUDE_DIR} )
list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES
${QT_QTWEBENGINE_INCLUDE_DIR}
)
list( APPEND CALA_WEBVIEW_LINK_LIBRARIES
Qt5::WebEngine
Qt5::WebEngineWidgets
)
set( WEBVIEW_WITH_WEBENGINE 1 )
endif()
include_directories( ${CALA_WEBVIEW_INCLUDE_DIRECTORIES} )
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules )
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/WebViewConfig.h.in
${CMAKE_CURRENT_BINARY_DIR}/WebViewConfig.h )
calamares_add_plugin( webview
TYPE viewmodule
@ -13,8 +44,6 @@ calamares_add_plugin( webview
SOURCES
WebViewStep.cpp
LINK_LIBRARIES
calamaresui
Qt5::WebEngine
Qt5::WebEngineWidgets
${CALA_WEBVIEW_LINK_LIBRARIES}
SHARED_LIB
)

@ -0,0 +1,7 @@
#ifndef CALAMARESWEBVIEWCONFIG_H
#define CALAMARESWEBVIEWCONFIG_H
#cmakedefine WEBVIEW_WITH_WEBENGINE
#cmakedefine WEBVIEW_WITH_WEBKIT
#endif // CALAMARESWEBVIEWCONFIG_H

@ -1,6 +1,7 @@
/* === This file is part of Calamares - <http://github.com/calamares> ===
*
* Copyright 2015, Rohan Garg <rohan@garg.io>
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -19,7 +20,12 @@
#include "WebViewStep.h"
#include <QVariant>
#ifdef WEBVIEW_WITH_WEBKIT
#include <QWebView>
#else
#include <QWebEngineView>
#endif
CALAMARES_PLUGIN_FACTORY_DEFINITION( WebViewStepFactory, registerPlugin<WebViewStep>(); )
@ -27,7 +33,7 @@ WebViewStep::WebViewStep( QObject* parent )
: Calamares::ViewStep( parent )
{
emit nextStatusChanged( true );
m_view = new QWebEngineView;
m_view = new C_QWEBVIEW();
}

@ -1,6 +1,7 @@
/* === This file is part of Calamares - <http://github.com/calamares> ===
*
* Copyright 2015, Rohan Garg <rohan@garg.io>
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -19,7 +20,7 @@
#ifndef WEBVIEWPLUGIN_H
#define WEBVIEWPLUGIN_H
#include <QObject>
#include "WebViewConfig.h"
#include <utils/PluginFactory.h>
#include <viewpages/ViewStep.h>
@ -28,7 +29,13 @@
#include <QVariantMap>
class QWebEngineView;
#ifdef WEBVIEW_WITH_WEBKIT
#define C_QWEBVIEW QWebView
#else
#define C_QWEBVIEW QWebEngineView
#endif
class C_QWEBVIEW;
class PLUGINDLLEXPORT WebViewStep : public Calamares::ViewStep
{
@ -57,7 +64,7 @@ public:
void setConfigurationMap( const QVariantMap& configurationMap ) override;
private:
QWebEngineView *m_view;
C_QWEBVIEW *m_view;
QString m_url;
QString m_prettyName;
};

Loading…
Cancel
Save