summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-03-24 12:55:11 +0100
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-03-31 19:25:40 +0000
commit8dbb6dde40bba8f4269196fbcc4309f7b84da98f (patch)
tree02fd07f1af4fb380c2464f3418c1d78aa1afc2e8
parent204de3973d7063f9ec65c0cd1ac15a13cde228c6 (diff)
Add a Qt Designer plugin for QWebEngineView.
Task-number: QTBUG-52104 Change-Id: Icf8b4eea7fc52498b2ce9a2c04da6a24e8bdb070 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
-rw-r--r--src/plugins/plugins.pro2
-rw-r--r--src/plugins/qwebengineview/images/qwebengineview.pngbin0 -> 1473 bytes
-rw-r--r--src/plugins/qwebengineview/qwebengineview.pro11
-rw-r--r--src/plugins/qwebengineview/qwebengineview_plugin.cpp132
-rw-r--r--src/plugins/qwebengineview/qwebengineview_plugin.h70
-rw-r--r--src/plugins/qwebengineview/qwebengineview_plugin.qrc5
-rw-r--r--src/src.pro4
-rw-r--r--sync.profile1
8 files changed, 224 insertions, 1 deletions
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
new file mode 100644
index 000000000..32fce325b
--- /dev/null
+++ b/src/plugins/plugins.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+qtHaveModule(designer):qtHaveModule(webenginewidgets): SUBDIRS += qwebengineview
diff --git a/src/plugins/qwebengineview/images/qwebengineview.png b/src/plugins/qwebengineview/images/qwebengineview.png
new file mode 100644
index 000000000..01a0920c9
--- /dev/null
+++ b/src/plugins/qwebengineview/images/qwebengineview.png
Binary files differ
diff --git a/src/plugins/qwebengineview/qwebengineview.pro b/src/plugins/qwebengineview/qwebengineview.pro
new file mode 100644
index 000000000..c18b6fe94
--- /dev/null
+++ b/src/plugins/qwebengineview/qwebengineview.pro
@@ -0,0 +1,11 @@
+TARGET = qwebengineview
+QT += designer webenginewidgets
+
+PLUGIN_CLASS_NAME = QWebEngineViewPlugin
+PLUGIN_TYPE = designer
+CONFIG += tool_plugin
+load(qt_plugin)
+
+SOURCES += qwebengineview_plugin.cpp
+HEADERS += qwebengineview_plugin.h
+RESOURCES += qwebengineview_plugin.qrc
diff --git a/src/plugins/qwebengineview/qwebengineview_plugin.cpp b/src/plugins/qwebengineview/qwebengineview_plugin.cpp
new file mode 100644
index 000000000..2d331571b
--- /dev/null
+++ b/src/plugins/qwebengineview/qwebengineview_plugin.cpp
@@ -0,0 +1,132 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the QtWebEngine module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or later as published by the Free
+** Software Foundation and appearing in the file LICENSE.GPL included in
+** the packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 2.0 requirements will be
+** met: http://www.gnu.org/licenses/gpl-2.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qwebengineview_plugin.h"
+
+#include <QtDesigner/QExtensionFactory>
+#include <QtDesigner/QExtensionManager>
+
+#include <QtCore/qplugin.h>
+#include <QWebEngineView>
+
+QT_BEGIN_NAMESPACE
+
+static const char toolTipC[] =
+ QT_TRANSLATE_NOOP(QWebEngineViewPlugin,
+ "A widget for displaying a web page, from the Qt WebEngineWidgets module");
+
+QWebEngineViewPlugin::QWebEngineViewPlugin(QObject *parent) :
+ QObject(parent),
+ m_initialized(false)
+{
+}
+
+QString QWebEngineViewPlugin::name() const
+{
+ return QStringLiteral("QWebEngineView");
+}
+
+QString QWebEngineViewPlugin::group() const
+{
+ return QStringLiteral("Display Widgets");
+}
+
+QString QWebEngineViewPlugin::toolTip() const
+{
+ return tr(toolTipC);
+}
+
+QString QWebEngineViewPlugin::whatsThis() const
+{
+ return tr(toolTipC);
+}
+
+QString QWebEngineViewPlugin::includeFile() const
+{
+ return QStringLiteral("<QtWebEngineWidgets/QWebEngineView>");
+}
+
+QIcon QWebEngineViewPlugin::icon() const
+{
+ return QIcon(QStringLiteral(":/qt-project.org/qwebengineview/images/qwebengineview.png"));
+}
+
+bool QWebEngineViewPlugin::isContainer() const
+{
+ return false;
+}
+
+QWidget *QWebEngineViewPlugin::createWidget(QWidget *parent)
+{
+ return new QWebEngineView(parent);
+}
+
+bool QWebEngineViewPlugin::isInitialized() const
+{
+ return m_initialized;
+}
+
+void QWebEngineViewPlugin::initialize(QDesignerFormEditorInterface * /*core*/)
+{
+ if (m_initialized)
+ return;
+
+ m_initialized = true;
+}
+
+QString QWebEngineViewPlugin::domXml() const
+{
+ return QStringLiteral("\
+ <ui language=\"c++\">\
+ <widget class=\"QWebEngineView\" name=\"webEngineView\">\
+ <property name=\"url\">\
+ <url>\
+ <string>about:blank</string>\
+ </url>\
+ </property>\
+ <property name=\"geometry\">\
+ <rect>\
+ <x>0</x>\
+ <y>0</y>\
+ <width>300</width>\
+ <height>200</height>\
+ </rect>\
+ </property>\
+ </widget>\
+ </ui>");
+}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/qwebengineview/qwebengineview_plugin.h b/src/plugins/qwebengineview/qwebengineview_plugin.h
new file mode 100644
index 000000000..8fa94625c
--- /dev/null
+++ b/src/plugins/qwebengineview/qwebengineview_plugin.h
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the QtWebEngine module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or later as published by the Free
+** Software Foundation and appearing in the file LICENSE.GPL included in
+** the packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 2.0 requirements will be
+** met: http://www.gnu.org/licenses/gpl-2.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QWEBENGINEVIEW_PLUGIN_H
+#define QWEBENGINEVIEW_PLUGIN_H
+
+#include <QtUiPlugin/QDesignerCustomWidgetInterface>
+
+QT_BEGIN_NAMESPACE
+
+class QWebEngineViewPlugin: public QObject, public QDesignerCustomWidgetInterface
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDesignerCustomWidgetInterface")
+ Q_INTERFACES(QDesignerCustomWidgetInterface)
+public:
+ explicit QWebEngineViewPlugin(QObject *parent = Q_NULLPTR);
+
+ QString name() const Q_DECL_OVERRIDE;
+ QString group() const Q_DECL_OVERRIDE;
+ QString toolTip() const Q_DECL_OVERRIDE;
+ QString whatsThis() const Q_DECL_OVERRIDE;
+ QString includeFile() const Q_DECL_OVERRIDE;
+ QIcon icon() const Q_DECL_OVERRIDE;
+ bool isContainer() const Q_DECL_OVERRIDE;
+ QWidget *createWidget(QWidget *parent) Q_DECL_OVERRIDE;
+ bool isInitialized() const Q_DECL_OVERRIDE;
+ void initialize(QDesignerFormEditorInterface *core) Q_DECL_OVERRIDE;
+ QString domXml() const Q_DECL_OVERRIDE;
+
+private:
+ bool m_initialized;
+};
+
+QT_END_NAMESPACE
+
+#endif // QWEBENGINEVIEW_PLUGIN_H
diff --git a/src/plugins/qwebengineview/qwebengineview_plugin.qrc b/src/plugins/qwebengineview/qwebengineview_plugin.qrc
new file mode 100644
index 000000000..181625c48
--- /dev/null
+++ b/src/plugins/qwebengineview/qwebengineview_plugin.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/qt-project.org/qwebengineview">
+ <file>images/qwebengineview.png</file>
+ </qresource>
+</RCC>
diff --git a/src/src.pro b/src/src.pro
index 2effb70ed..6a6a6abb8 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -14,7 +14,8 @@ SUBDIRS += core \
process \
webengine \
webengine_plugin \
- webengine_experimental_plugin
+ webengine_experimental_plugin \
+ plugins
isQMLTestSupportApiEnabled() {
@@ -30,4 +31,5 @@ isQMLTestSupportApiEnabled() {
qtHaveModule(widgets) {
SUBDIRS += webenginewidgets
+ plugins.depends = webenginewidgets
}
diff --git a/sync.profile b/sync.profile
index 11d7b0548..7d6daec35 100644
--- a/sync.profile
+++ b/sync.profile
@@ -21,6 +21,7 @@
"qtbase" => "",
"qtdeclarative" => "",
"qtxmlpatterns" => "",
+ "qttools" => "",
# FIXME: take examples out into their own module to avoid a potential circular dependency later ?
"qtquickcontrols" => "",
"qtwebchannel" => "",