Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
debian packaging update: add internal QtWebKit bindings
(backported from c2f363f)
  • Loading branch information
jef-n committed Sep 9, 2016
1 parent dbcddc4 commit 4aaa6d4
Show file tree
Hide file tree
Showing 19 changed files with 2,000 additions and 0 deletions.
1 change: 1 addition & 0 deletions debian/python-qgis.install.in
Expand Up @@ -9,3 +9,4 @@ usr/lib/python*/*-packages/qgis/server/*
usr/lib/python*/*-packages/qgis/testing/*
#wheezy precise#usr/lib/python*/*-packages/pyspatialite/*.py
#wheezy precise#usr/lib/python*/*-packages/pyspatialite/*.so
#sid stretch#usr/lib/python*/*-packages/PyQt4/*.so
4 changes: 4 additions & 0 deletions debian/rules
Expand Up @@ -110,6 +110,10 @@ ifneq (,$(findstring $(DISTRIBUTION),"sid stretch"))
CMAKE_OPTS += -DPOSTGRES_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libpq.so
endif

ifneq (,$(findstring $(DISTRIBUTION),"sid stretch"))
CMAKE_OPTS += -DWITH_INTERNAL_WEBKIT_BINDINGS=TRUE
endif

ifneq (,$(findstring $(DISTRIBUTION),"sid"))
CMAKE_OPTS += -DGEOS_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libgeos_c.so
endif
Expand Down
12 changes: 12 additions & 0 deletions python/CMakeLists.txt
Expand Up @@ -307,3 +307,15 @@ FOREACH(module ${PY_MODULES})
ENDFOREACH(pyfile)
PY_COMPILE(py${module} "${QGIS_PYTHON_OUTPUT_DIRECTORY}/${module}")
ENDFOREACH(module)

SET (WITH_INTERNAL_WEBKIT_BINDINGS FALSE CACHE BOOL "Build internal QtWebKit bindings")
IF(WITH_INTERNAL_WEBKIT_BINDINGS)
INCLUDE_DIRECTORIES(${QT_QTWEBKIT_INCLUDE_DIR})
FILE(GLOB_RECURSE sip_files_qtwebkit QtWebKit/*.sip)
SET(SIP_EXTRA_FILES_DEPEND ${sip_files_qtwebkit})
SET(SIP_EXTRA_OPTIONS ${PYQT_SIP_FLAGS} -o -a ${CMAKE_BINARY_DIR}/python/PyQt4.QtWebKit.api)

SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PYTHON_OUTPUT_DIRECTORY}/PyQt4)
SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PYTHON_OUTPUT_DIRECTORY}/PyQt4)
ADD_SIP_PYTHON_MODULE(PyQt4.QtWebKit QtWebKit/QtWebKitmod.sip QtWebKit QtCore QtGui QtNetwork)
ENDIF(WITH_INTERNAL_WEBKIT_BINDINGS)
63 changes: 63 additions & 0 deletions python/QtWebKit/QtWebKitmod.sip
@@ -0,0 +1,63 @@
// QtWebKitmod.sip generated by MetaSIP
//
// This file is part of the QtWebKit Python extension module.
//
// Copyright (c) 2015 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt4.
//
// 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 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.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


%Module(name=PyQt4.QtWebKit, keyword_arguments="Optional")

%Import QtCore/QtCoremod.sip
%Import QtGui/QtGuimod.sip
%Import QtNetwork/QtNetworkmod.sip

%Copying
Copyright (c) 2015 Riverbank Computing Limited <info@riverbankcomputing.com>

This file is part of PyQt4.

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 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.

If you do not wish to use this file under the terms of the GPL version 3.0
then you may purchase a commercial license. For more information contact
info@riverbankcomputing.com.

This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%End

%DefaultSupertype sip.simplewrapper

%Include qgraphicswebview.sip
%Include qwebdatabase.sip
%Include qwebelement.sip
%Include qwebframe.sip
%Include qwebkitglobal.sip
%Include qwebhistory.sip
%Include qwebhistoryinterface.sip
%Include qwebinspector.sip
%Include qwebkitversion.sip
%Include qwebpage.sip
%Include qwebpluginfactory.sip
%Include qwebsecurityorigin.sip
%Include qwebsettings.sip
%Include qwebview.sip
Empty file added python/QtWebKit/__init__.py
Empty file.
150 changes: 150 additions & 0 deletions python/QtWebKit/qgraphicswebview.sip
@@ -0,0 +1,150 @@
// qgraphicswebview.sip generated by MetaSIP
//
// This file is part of the QtWebKit Python extension module.
//
// Copyright (c) 2015 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt4.
//
// 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 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.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


%If (Qt_4_6_0 -)

class QGraphicsWebView : QGraphicsWidget
{
%TypeHeaderCode
#include <qgraphicswebview.h>
%End

%ConvertToSubClassCode
sipType = 0;

// For some reason Qt doesn't allocate a new type for this so we have to test
// the numeric and QObject types.
if (sipCpp->type() == 11)
{
QGraphicsWidget *gw = static_cast<QGraphicsWidget *>(sipCpp);

if (gw->inherits("QGraphicsWebView"))
{
*sipCppRet = static_cast<QGraphicsWebView *>(gw);
sipType = sipType_QGraphicsWebView;
}
}
%End

public:
explicit QGraphicsWebView(QGraphicsItem *parent /TransferThis/ = 0);
virtual ~QGraphicsWebView();
QWebPage *page() const;
void setPage(QWebPage * /KeepReference/);
QUrl url() const;
void setUrl(const QUrl &);
QString title() const;
QIcon icon() const;
qreal zoomFactor() const;
void setZoomFactor(qreal);
bool isModified() const;
void load(const QUrl &url) /ReleaseGIL/;
void load(const QNetworkRequest &request, QNetworkAccessManager::Operation operation = QNetworkAccessManager::GetOperation, const QByteArray &body = QByteArray()) /ReleaseGIL/;
void setHtml(const QString &html, const QUrl &baseUrl = QUrl());
void setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl());
QWebHistory *history() const;
QWebSettings *settings() const;
QAction *pageAction(QWebPage::WebAction action) const;
void triggerPageAction(QWebPage::WebAction action, bool checked = false);
bool findText(const QString &subString, QFlags<QWebPage::FindFlag> options = 0);
virtual void setGeometry(const QRectF &rect);
virtual void updateGeometry();
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value);
virtual bool event(QEvent *);
virtual QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint) const;
virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const;

public slots:
void stop();
void back();
void forward();
void reload();

signals:
void loadStarted();
void loadFinished(bool);
void loadProgress(int progress);
void urlChanged(const QUrl &);
void titleChanged(const QString &);
void iconChanged();
void statusBarMessage(const QString &message);
void linkClicked(const QUrl &);

protected:
virtual void mousePressEvent(QGraphicsSceneMouseEvent *);
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *);
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *);
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *);
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *);
virtual void wheelEvent(QGraphicsSceneWheelEvent *);
virtual void keyPressEvent(QKeyEvent *);
virtual void keyReleaseEvent(QKeyEvent *);
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *);
virtual void dragEnterEvent(QGraphicsSceneDragDropEvent *);
virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent *);
virtual void dragMoveEvent(QGraphicsSceneDragDropEvent *);
virtual void dropEvent(QGraphicsSceneDragDropEvent *);
virtual void focusInEvent(QFocusEvent *);
virtual void focusOutEvent(QFocusEvent *);
virtual void inputMethodEvent(QInputMethodEvent *);
virtual bool focusNextPrevChild(bool next);
virtual bool sceneEvent(QEvent *);

public:
%If (Qt_4_7_0 -)
bool resizesToContents() const;
%End
%If (Qt_4_7_0 -)
void setResizesToContents(bool enabled);
%End
%If (Qt_4_7_0 -)
bool isTiledBackingStoreFrozen() const;
%End
%If (Qt_4_7_0 -)
void setTiledBackingStoreFrozen(bool frozen);
%End
%If (Qt_4_8_0 -)
QFlags<QPainter::RenderHint> renderHints() const;
%End
%If (Qt_4_8_0 -)
void setRenderHints(QFlags<QPainter::RenderHint> hints);
%End
%If (Qt_4_8_0 -)
void setRenderHint(QPainter::RenderHint hint, bool enabled = true);
%End
};

%End

%ModuleHeaderCode
#if QT_VERSION >= 0x040600
// This is needed by the %ConvertSubClassCode.
#include <QGraphicsWebView>
#endif

// This is needed for Qt v5.0.0.
#if defined(B0)
#undef B0
#endif
%End
46 changes: 46 additions & 0 deletions python/QtWebKit/qwebdatabase.sip
@@ -0,0 +1,46 @@
// qwebdatabase.sip generated by MetaSIP
//
// This file is part of the QtWebKit Python extension module.
//
// Copyright (c) 2015 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt4.
//
// 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 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.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


%If (Qt_4_5_0 -)

class QWebDatabase
{
%TypeHeaderCode
#include <qwebdatabase.h>
%End

public:
QWebDatabase(const QWebDatabase &other);
~QWebDatabase();
QString name() const;
QString displayName() const;
qint64 expectedSize() const;
qint64 size() const;
QString fileName() const;
QWebSecurityOrigin origin() const;
static void removeDatabase(const QWebDatabase &db);
%If (Qt_4_6_0 -)
static void removeAllDatabases();
%End
};

%End

0 comments on commit 4aaa6d4

Please sign in to comment.