diff options
author | Fathi Boudra <fabo@debian.org> | 2011-09-20 11:27:37 +0300 |
---|---|---|
committer | Fathi Boudra <fabo@debian.org> | 2011-09-20 11:27:37 +0300 |
commit | 6fb350c80da50f3bc66451ed7ec75a28cf86c10b (patch) | |
tree | 9785e67f3b9b6c33619172efa5e556f7571f8cb1 | |
parent | 0d70e9231f4c6a660489fda3497019b5e25d6ba5 (diff) | |
download | qtwebkit-6fb350c80da50f3bc66451ed7ec75a28cf86c10b.tar.gz |
Add qwebview plugin for Qt Designer.
Update README.source: how to create qwebview plugin.
-rw-r--r-- | debian/README.source | 10 | ||||
-rw-r--r-- | debian/plugins/plugins.pri | 11 | ||||
-rw-r--r-- | debian/plugins/plugins.pro | 5 | ||||
-rw-r--r-- | debian/plugins/qwebview/images/qwebview.png | bin | 0 -> 1473 bytes | |||
-rw-r--r-- | debian/plugins/qwebview/qwebview.pro | 15 | ||||
-rw-r--r-- | debian/plugins/qwebview/qwebview_plugin.cpp | 137 | ||||
-rw-r--r-- | debian/plugins/qwebview/qwebview_plugin.h | 74 | ||||
-rw-r--r-- | debian/plugins/qwebview/qwebview_plugin.qrc | 5 |
8 files changed, 257 insertions, 0 deletions
diff --git a/debian/README.source b/debian/README.source index 918004d..5c2a16b 100644 --- a/debian/README.source +++ b/debian/README.source @@ -15,3 +15,13 @@ Qt WebKit for Debian $ tar -zxf qtwebkit-2.2.0-rc1-source.tar.gz $ mv qtwebkit-2.2.0-rc1-source/include qtwebkit-2.2.0-rc1-source/Source $ tar -jcf qtwebkit_2.2.0~rc1.orig.tar.bz2 qtwebkit-2.2.0-rc1-source + +2. How to create qwebview plugin? + +- get the plugin from Qt source: tools/designer/src/plugins +- copy plugins directory +- remove all sub-directories except qwebview directory +- edit plugins.pro and remove all SUBDIRS entries except qwebview +- edit plugins.pri, add INCLUDEPATH and LIBS entries: + INCLUDEPATH += ../../../Source/include + LIBS += -L../../../Source/lib diff --git a/debian/plugins/plugins.pri b/debian/plugins/plugins.pri new file mode 100644 index 0000000..0c864f3 --- /dev/null +++ b/debian/plugins/plugins.pri @@ -0,0 +1,11 @@ +INCLUDEPATH += ../../../Source/include +LIBS += -L../../../Source/lib + +CONFIG += designer +win32|mac: CONFIG+= debug_and_release +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/designer +contains(TEMPLATE, ".*lib"):TARGET = $$qtLibraryTarget($$TARGET) + +# install +target.path = $$[QT_INSTALL_PLUGINS]/designer +INSTALLS += target diff --git a/debian/plugins/plugins.pro b/debian/plugins/plugins.pro new file mode 100644 index 0000000..4dc98eb --- /dev/null +++ b/debian/plugins/plugins.pro @@ -0,0 +1,5 @@ +TEMPLATE = subdirs +CONFIG += ordered + +REQUIRES = !CONFIG(static,shared|static) +contains(QT_CONFIG, webkit): SUBDIRS += qwebview diff --git a/debian/plugins/qwebview/images/qwebview.png b/debian/plugins/qwebview/images/qwebview.png Binary files differnew file mode 100644 index 0000000..01a0920 --- /dev/null +++ b/debian/plugins/qwebview/images/qwebview.png diff --git a/debian/plugins/qwebview/qwebview.pro b/debian/plugins/qwebview/qwebview.pro new file mode 100644 index 0000000..b1f6371 --- /dev/null +++ b/debian/plugins/qwebview/qwebview.pro @@ -0,0 +1,15 @@ +TEMPLATE = lib +TARGET = qwebview +CONFIG += qt warn_on plugin +QT += webkit + +include(../plugins.pri) +build_all:!build_pass { + CONFIG -= build_all + CONFIG += release +} + +# Input +SOURCES += qwebview_plugin.cpp +HEADERS += qwebview_plugin.h +RESOURCES += qwebview_plugin.qrc diff --git a/debian/plugins/qwebview/qwebview_plugin.cpp b/debian/plugins/qwebview/qwebview_plugin.cpp new file mode 100644 index 0000000..92d06ba --- /dev/null +++ b/debian/plugins/qwebview/qwebview_plugin.cpp @@ -0,0 +1,137 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the Qt Designer of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 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 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qwebview_plugin.h" + +#include <QtDesigner/QExtensionFactory> +#include <QtDesigner/QExtensionManager> + +#include <QtCore/qplugin.h> +#include <QtWebKit/QWebView> + +static const char *toolTipC = "QtWebKit Web widget"; + +QT_BEGIN_NAMESPACE + +QWebViewPlugin::QWebViewPlugin(QObject *parent) : + QObject(parent), + m_initialized(false) +{ +} + +QString QWebViewPlugin::name() const +{ + return QLatin1String("QWebView"); +} + +QString QWebViewPlugin::group() const +{ + return QLatin1String("Display Widgets"); +} + +QString QWebViewPlugin::toolTip() const +{ + return tr(toolTipC); +} + +QString QWebViewPlugin::whatsThis() const +{ + return tr(toolTipC); +} + +QString QWebViewPlugin::includeFile() const +{ + return QLatin1String("QtWebKit/QWebView"); +} + +QIcon QWebViewPlugin::icon() const +{ + return QIcon(QLatin1String(":/trolltech/qwebview/images/qwebview.png")); +} + +bool QWebViewPlugin::isContainer() const +{ + return false; +} + +QWidget *QWebViewPlugin::createWidget(QWidget *parent) +{ + return new QWebView(parent); +} + +bool QWebViewPlugin::isInitialized() const +{ + return m_initialized; +} + +void QWebViewPlugin::initialize(QDesignerFormEditorInterface * /*core*/) +{ + if (m_initialized) + return; + + m_initialized = true; +} + +QString QWebViewPlugin::domXml() const +{ + return QLatin1String("\ + <ui language=\"c++\">\ + <widget class=\"QWebView\" name=\"webView\">\ + <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>"); +} + +Q_EXPORT_PLUGIN2(customwidgetplugin, QWebViewPlugin) + +QT_END_NAMESPACE diff --git a/debian/plugins/qwebview/qwebview_plugin.h b/debian/plugins/qwebview/qwebview_plugin.h new file mode 100644 index 0000000..4b3378f --- /dev/null +++ b/debian/plugins/qwebview/qwebview_plugin.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the Qt Designer of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 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 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QWEBPAGE_PLUGIN_H +#define QWEBPAGE_PLUGIN_H + +#include <QtDesigner/QDesignerCustomWidgetInterface> + +QT_BEGIN_NAMESPACE + +class QWebViewPlugin: public QObject, public QDesignerCustomWidgetInterface +{ + Q_OBJECT + Q_INTERFACES(QDesignerCustomWidgetInterface) +public: + QWebViewPlugin(QObject *parent = 0); + + virtual QString name() const; + virtual QString group() const; + virtual QString toolTip() const; + virtual QString whatsThis() const; + virtual QString includeFile() const; + virtual QIcon icon() const; + virtual bool isContainer() const; + virtual QWidget *createWidget(QWidget *parent); + virtual bool isInitialized() const; + virtual void initialize(QDesignerFormEditorInterface *core); + virtual QString domXml() const; + +private: + bool m_initialized; +}; + +QT_END_NAMESPACE + +#endif // QWEBPAGE_PLUGIN_H diff --git a/debian/plugins/qwebview/qwebview_plugin.qrc b/debian/plugins/qwebview/qwebview_plugin.qrc new file mode 100644 index 0000000..a3e2b90 --- /dev/null +++ b/debian/plugins/qwebview/qwebview_plugin.qrc @@ -0,0 +1,5 @@ +<RCC> + <qresource prefix="/trolltech/qwebview"> + <file>images/qwebview.png</file> + </qresource> +</RCC> |