summaryrefslogtreecommitdiffstats
path: root/lib/widgets
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2013-08-13 18:56:34 +0200
committerJocelyn Turcotte <jocelyn.turcotte@digia.com>2013-08-20 17:42:45 +0200
commit9a3641f43572ce9e77dd6770f0029e82bd92d70c (patch)
tree1f3096efce177160efa139808194b160d4ad1102 /lib/widgets
parent2a7cba9b412e5c77d46897c3c89405b64a1729b6 (diff)
Use QObject::d_ptr for public API classes
This follows the model used by the rest of Qt, potentially avoiding binary compatibility issues. The compromise is that we now depend on core-private, thus forcing us to follow Qt's release cycle. Change-Id: Ib2df51071fc35935ac99edf7b9c5562949cb43e2 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'lib/widgets')
-rw-r--r--lib/widgets/Api/qwebengineview.cpp14
-rw-r--r--lib/widgets/Api/qwebengineview.h4
-rw-r--r--lib/widgets/Api/qwebengineview_p.h5
-rw-r--r--lib/widgets/widgets.pro1
4 files changed, 12 insertions, 12 deletions
diff --git a/lib/widgets/Api/qwebengineview.cpp b/lib/widgets/Api/qwebengineview.cpp
index a7a135fc8..369aa6efa 100644
--- a/lib/widgets/Api/qwebengineview.cpp
+++ b/lib/widgets/Api/qwebengineview.cpp
@@ -49,19 +49,22 @@
#include <QUrl>
QWebEngineViewPrivate::QWebEngineViewPrivate()
- : m_isLoading(false)
+ : QWidgetPrivate(QObjectPrivateVersion)
+ , m_isLoading(false)
, adapter(new WebContentsAdapter(this))
{
}
void QWebEngineViewPrivate::titleChanged(const QString &title)
{
- Q_EMIT q_ptr->titleChanged(title);
+ Q_Q(QWebEngineView);
+ Q_EMIT q->titleChanged(title);
}
void QWebEngineViewPrivate::urlChanged(const QUrl &url)
{
- Q_EMIT q_ptr->urlChanged(url);
+ Q_Q(QWebEngineView);
+ Q_EMIT q->urlChanged(url);
}
void QWebEngineViewPrivate::loadingStateChanged()
@@ -99,10 +102,9 @@ RenderWidgetHostViewQtDelegate *QWebEngineViewPrivate::CreateRenderWidgetHostVie
return new RenderWidgetHostViewQtDelegateWidget;
}
-QWebEngineView::QWebEngineView()
- : d_ptr(new QWebEngineViewPrivate)
+QWebEngineView::QWebEngineView(QWidget *parent)
+ : QWidget(*(new QWebEngineViewPrivate), parent, 0)
{
- d_ptr->q_ptr=this;
// This causes the child RenderWidgetHostViewQtDelegateWidgets to fill this widget.
setLayout(new QStackedLayout);
}
diff --git a/lib/widgets/Api/qwebengineview.h b/lib/widgets/Api/qwebengineview.h
index a86218538..b75f62369 100644
--- a/lib/widgets/Api/qwebengineview.h
+++ b/lib/widgets/Api/qwebengineview.h
@@ -45,14 +45,13 @@
#include <qtwebenginewidgetsglobal.h>
#include <QWidget>
-#include <QScopedPointer>
class QWebEngineViewPrivate;
class QWEBENGINEWIDGETS_EXPORT QWebEngineView : public QWidget {
Q_OBJECT
public:
- QWebEngineView();
+ QWebEngineView(QWidget *parent = 0);
~QWebEngineView();
void load(const QUrl& url);
@@ -73,7 +72,6 @@ Q_SIGNALS:
private:
Q_DECLARE_PRIVATE(QWebEngineView);
- QScopedPointer<QWebEngineViewPrivate> d_ptr;
};
#endif // QWEBENGINEVIEW_H
diff --git a/lib/widgets/Api/qwebengineview_p.h b/lib/widgets/Api/qwebengineview_p.h
index 5c623a097..9ac5e57e8 100644
--- a/lib/widgets/Api/qwebengineview_p.h
+++ b/lib/widgets/Api/qwebengineview_p.h
@@ -45,16 +45,15 @@
#include "web_contents_adapter_client.h"
#include <QScopedPointer>
+#include <QtWidgets/private/qwidget_p.h>
class QWebEngineView;
class RenderWidgetHostViewQtDelegate;
class WebContentsAdapter;
-class QWebEngineViewPrivate : public WebContentsAdapterClient
+class QWebEngineViewPrivate : public QWidgetPrivate, public WebContentsAdapterClient
{
Q_DECLARE_PUBLIC(QWebEngineView)
- QWebEngineView *q_ptr;
-
public:
QWebEngineViewPrivate();
diff --git a/lib/widgets/widgets.pro b/lib/widgets/widgets.pro
index 9a5591b82..45b71284e 100644
--- a/lib/widgets/widgets.pro
+++ b/lib/widgets/widgets.pro
@@ -10,6 +10,7 @@ MODULE = webenginewidgets
DEFINES += QT_BUILD_WEBENGINEWIDGETS_LIB
QT += widgets
+QT_PRIVATE += widgets-private gui-private core-private
# FIXME: all this should eventually be turned into QT += webenginecore
macx:LIBPATH = $$getOutDir()/$$getConfigDir()