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 list( APPEND CALA_WEBVIEW_INCLUDE_DIRECTORIES
${QT_QTWEBENGINE_INCLUDE_DIR} ) ${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} set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules ) ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules )
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/WebViewConfig.h.in
${CMAKE_CURRENT_BINARY_DIR}/WebViewConfig.h )
calamares_add_plugin( webview calamares_add_plugin( webview
TYPE viewmodule TYPE viewmodule
@ -13,8 +44,6 @@ calamares_add_plugin( webview
SOURCES SOURCES
WebViewStep.cpp WebViewStep.cpp
LINK_LIBRARIES LINK_LIBRARIES
calamaresui ${CALA_WEBVIEW_LINK_LIBRARIES}
Qt5::WebEngine
Qt5::WebEngineWidgets
SHARED_LIB 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> === /* === This file is part of Calamares - <http://github.com/calamares> ===
* *
* Copyright 2015, Rohan Garg <rohan@garg.io> * 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 * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -19,7 +20,12 @@
#include "WebViewStep.h" #include "WebViewStep.h"
#include <QVariant> #include <QVariant>
#ifdef WEBVIEW_WITH_WEBKIT
#include <QWebView>
#else
#include <QWebEngineView> #include <QWebEngineView>
#endif
CALAMARES_PLUGIN_FACTORY_DEFINITION( WebViewStepFactory, registerPlugin<WebViewStep>(); ) CALAMARES_PLUGIN_FACTORY_DEFINITION( WebViewStepFactory, registerPlugin<WebViewStep>(); )
@ -27,7 +33,7 @@ WebViewStep::WebViewStep( QObject* parent )
: Calamares::ViewStep( parent ) : Calamares::ViewStep( parent )
{ {
emit nextStatusChanged( true ); 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> === /* === This file is part of Calamares - <http://github.com/calamares> ===
* *
* Copyright 2015, Rohan Garg <rohan@garg.io> * 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 * Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -19,7 +20,7 @@
#ifndef WEBVIEWPLUGIN_H #ifndef WEBVIEWPLUGIN_H
#define WEBVIEWPLUGIN_H #define WEBVIEWPLUGIN_H
#include <QObject> #include "WebViewConfig.h"
#include <utils/PluginFactory.h> #include <utils/PluginFactory.h>
#include <viewpages/ViewStep.h> #include <viewpages/ViewStep.h>
@ -28,7 +29,13 @@
#include <QVariantMap> #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 class PLUGINDLLEXPORT WebViewStep : public Calamares::ViewStep
{ {
@ -57,7 +64,7 @@ public:
void setConfigurationMap( const QVariantMap& configurationMap ) override; void setConfigurationMap( const QVariantMap& configurationMap ) override;
private: private:
QWebEngineView *m_view; C_QWEBVIEW *m_view;
QString m_url; QString m_url;
QString m_prettyName; QString m_prettyName;
}; };

Loading…
Cancel
Save