summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-12-19 13:00:17 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2016-12-19 12:01:11 +0000
commit9a51d857e826cb30d660177789c237852a8cc107 (patch)
tree062dad799550eda99f0a71fa12213055439eb53e
parent8419d93e540fe7435883a2933eb6c6243a562f2c (diff)
Pimplify widget classes
Change-Id: I52a071208fa8824f4044a8947be494d6695c13ea Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
-rw-r--r--src/android/view/qnativeandroidviewgroup.cpp5
-rw-r--r--src/android/widget/qnativeandroidabsseekbar.cpp10
-rw-r--r--src/android/widget/qnativeandroidabsseekbar_p.h8
-rw-r--r--src/android/widget/qnativeandroidabsseekbar_p_p.h62
-rw-r--r--src/android/widget/qnativeandroidadapterview.cpp39
-rw-r--r--src/android/widget/qnativeandroidadapterview_p.h5
-rw-r--r--src/android/widget/qnativeandroidadapterview_p_p.h66
-rw-r--r--src/android/widget/qnativeandroidarrayadapter.cpp45
-rw-r--r--src/android/widget/qnativeandroidarrayadapter_p.h6
-rw-r--r--src/android/widget/qnativeandroidbaseadapter.cpp10
-rw-r--r--src/android/widget/qnativeandroidbaseadapter_p.h8
-rw-r--r--src/android/widget/qnativeandroidbaseadapter_p_p.h62
-rw-r--r--src/android/widget/qnativeandroidbutton.cpp10
-rw-r--r--src/android/widget/qnativeandroidbutton_p.h8
-rw-r--r--src/android/widget/qnativeandroidbutton_p_p.h62
-rw-r--r--src/android/widget/qnativeandroidcalendarview.cpp10
-rw-r--r--src/android/widget/qnativeandroidcalendarview_p.h6
-rw-r--r--src/android/widget/qnativeandroidcheckbox.cpp4
-rw-r--r--src/android/widget/qnativeandroidcompoundbutton.cpp23
-rw-r--r--src/android/widget/qnativeandroidcompoundbutton_p.h8
-rw-r--r--src/android/widget/qnativeandroidcompoundbutton_p_p.h65
-rw-r--r--src/android/widget/qnativeandroiddatepicker.cpp10
-rw-r--r--src/android/widget/qnativeandroiddatepicker_p.h6
-rw-r--r--src/android/widget/qnativeandroidedittext.cpp4
-rw-r--r--src/android/widget/qnativeandroidframelayout.cpp10
-rw-r--r--src/android/widget/qnativeandroidframelayout_p.h8
-rw-r--r--src/android/widget/qnativeandroidframelayout_p_p.h62
-rw-r--r--src/android/widget/qnativeandroidimageview.cpp54
-rw-r--r--src/android/widget/qnativeandroidimageview_p.h10
-rw-r--r--src/android/widget/qnativeandroidlinearlayout.cpp71
-rw-r--r--src/android/widget/qnativeandroidlinearlayout_p.h14
-rw-r--r--src/android/widget/qnativeandroidlinearlayout_p_p.h71
-rw-r--r--src/android/widget/qnativeandroidlistview.cpp4
-rw-r--r--src/android/widget/qnativeandroidnumberpicker.cpp27
-rw-r--r--src/android/widget/qnativeandroidnumberpicker_p.h6
-rw-r--r--src/android/widget/qnativeandroidpopupmenu.cpp37
-rw-r--r--src/android/widget/qnativeandroidpopupmenu_p.h7
-rw-r--r--src/android/widget/qnativeandroidprogressbar.cpp67
-rw-r--r--src/android/widget/qnativeandroidprogressbar_p.h12
-rw-r--r--src/android/widget/qnativeandroidprogressbar_p_p.h69
-rw-r--r--src/android/widget/qnativeandroidradiobutton.cpp4
-rw-r--r--src/android/widget/qnativeandroidradiogroup.cpp25
-rw-r--r--src/android/widget/qnativeandroidradiogroup_p.h5
-rw-r--r--src/android/widget/qnativeandroidratingbar.cpp27
-rw-r--r--src/android/widget/qnativeandroidratingbar_p.h6
-rw-r--r--src/android/widget/qnativeandroidrelativelayout.cpp4
-rw-r--r--src/android/widget/qnativeandroidscrollview.cpp33
-rw-r--r--src/android/widget/qnativeandroidscrollview_p.h6
-rw-r--r--src/android/widget/qnativeandroidsearchview.cpp4
-rw-r--r--src/android/widget/qnativeandroidseekbar.cpp16
-rw-r--r--src/android/widget/qnativeandroidseekbar_p.h5
-rw-r--r--src/android/widget/qnativeandroidspace.cpp4
-rw-r--r--src/android/widget/qnativeandroidspinner.cpp4
-rw-r--r--src/android/widget/qnativeandroidswitch.cpp4
-rw-r--r--src/android/widget/qnativeandroidtabhost.cpp16
-rw-r--r--src/android/widget/qnativeandroidtabhost_p.h5
-rw-r--r--src/android/widget/qnativeandroidtabspec.cpp22
-rw-r--r--src/android/widget/qnativeandroidtabspec_p.h6
-rw-r--r--src/android/widget/qnativeandroidtabwidget.cpp4
-rw-r--r--src/android/widget/qnativeandroidtextview.cpp83
-rw-r--r--src/android/widget/qnativeandroidtextview_p.h13
-rw-r--r--src/android/widget/qnativeandroidtextview_p_p.h69
-rw-r--r--src/android/widget/qnativeandroidtimepicker.cpp10
-rw-r--r--src/android/widget/qnativeandroidtimepicker_p.h6
-rw-r--r--src/android/widget/qnativeandroidtoast.cpp38
-rw-r--r--src/android/widget/qnativeandroidtoast_p.h6
-rw-r--r--src/android/widget/qnativeandroidtogglebutton.cpp37
-rw-r--r--src/android/widget/qnativeandroidtogglebutton_p.h6
-rw-r--r--src/android/widget/qnativeandroidviewanimator.cpp42
-rw-r--r--src/android/widget/qnativeandroidviewanimator_p.h7
-rw-r--r--src/android/widget/qnativeandroidviewanimator_p_p.h66
-rw-r--r--src/android/widget/qnativeandroidviewflipper.cpp4
-rw-r--r--src/android/widget/qnativeandroidviewswitcher.cpp4
-rw-r--r--src/android/widget/widget.pri10
74 files changed, 1339 insertions, 333 deletions
diff --git a/src/android/view/qnativeandroidviewgroup.cpp b/src/android/view/qnativeandroidviewgroup.cpp
index 86de858..8b6c398 100644
--- a/src/android/view/qnativeandroidviewgroup.cpp
+++ b/src/android/view/qnativeandroidviewgroup.cpp
@@ -47,6 +47,11 @@ QNativeAndroidViewGroup::QNativeAndroidViewGroup(QNativeAndroidContext *context)
{
}
+QNativeAndroidViewGroup::QNativeAndroidViewGroup(QNativeAndroidViewGroupPrivate &dd, QNativeAndroidContext *context)
+ : QNativeAndroidView(dd, context)
+{
+}
+
QNativeAndroidLayoutParams *QNativeAndroidViewGroup::qmlAttachedProperties(QObject *object)
{
QNativeAndroidView *view = qobject_cast<QNativeAndroidView*>(object);
diff --git a/src/android/widget/qnativeandroidabsseekbar.cpp b/src/android/widget/qnativeandroidabsseekbar.cpp
index 5e1eb4f..8ecde66 100644
--- a/src/android/widget/qnativeandroidabsseekbar.cpp
+++ b/src/android/widget/qnativeandroidabsseekbar.cpp
@@ -35,11 +35,17 @@
****************************************************************************/
#include "qnativeandroidabsseekbar_p.h"
+#include "qnativeandroidabsseekbar_p_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidAbsSeekBar::QNativeAndroidAbsSeekBar(QNativeAndroidContext *context) :
- QNativeAndroidProgressBar(context)
+QNativeAndroidAbsSeekBar::QNativeAndroidAbsSeekBar(QNativeAndroidContext *context)
+ : QNativeAndroidProgressBar(*(new QNativeAndroidAbsSeekBarPrivate), context)
+{
+}
+
+QNativeAndroidAbsSeekBar::QNativeAndroidAbsSeekBar(QNativeAndroidAbsSeekBarPrivate &dd, QNativeAndroidContext *context)
+ : QNativeAndroidProgressBar(dd, context)
{
}
diff --git a/src/android/widget/qnativeandroidabsseekbar_p.h b/src/android/widget/qnativeandroidabsseekbar_p.h
index 7d4bc47..4ec1250 100644
--- a/src/android/widget/qnativeandroidabsseekbar_p.h
+++ b/src/android/widget/qnativeandroidabsseekbar_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidAbsSeekBarPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidAbsSeekBar : public QNativeAndroidProgressBar
{
Q_OBJECT
@@ -60,8 +62,14 @@ public:
explicit QNativeAndroidAbsSeekBar(QNativeAndroidContext *context = nullptr);
protected:
+ QNativeAndroidAbsSeekBar(QNativeAndroidAbsSeekBarPrivate &dd, QNativeAndroidContext *context = nullptr);
+
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
+
+private:
+ Q_DISABLE_COPY(QNativeAndroidAbsSeekBar)
+ Q_DECLARE_PRIVATE(QNativeAndroidAbsSeekBar)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidabsseekbar_p_p.h b/src/android/widget/qnativeandroidabsseekbar_p_p.h
new file mode 100644
index 0000000..64c8291
--- /dev/null
+++ b/src/android/widget/qnativeandroidabsseekbar_p_p.h
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt QML Android module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** 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 QNATIVEANDROIDABSSEEKBAR_P_P_H
+#define QNATIVEANDROIDABSSEEKBAR_P_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtNativeAndroid/private/qnativeandroidprogressbar_p_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QNativeAndroidAbsSeekBarPrivate : public QNativeAndroidProgressBarPrivate
+{
+public:
+};
+
+QT_END_NAMESPACE
+
+#endif // QNATIVEANDROIDABSSEEKBAR_P_P_H
diff --git a/src/android/widget/qnativeandroidadapterview.cpp b/src/android/widget/qnativeandroidadapterview.cpp
index 1688bf2..3e74930 100644
--- a/src/android/widget/qnativeandroidadapterview.cpp
+++ b/src/android/widget/qnativeandroidadapterview.cpp
@@ -35,35 +35,38 @@
****************************************************************************/
#include "qnativeandroidadapterview_p.h"
+#include "qnativeandroidadapterview_p_p.h"
#include "qnativeandroidbaseadapter_p.h"
#include "qtnativeandroidfunctions_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidAdapterView::QNativeAndroidAdapterView(QNativeAndroidContext *context) :
- QNativeAndroidViewGroup(context), m_adapter(0)
+QNativeAndroidAdapterView::QNativeAndroidAdapterView(QNativeAndroidContext *context)
+ : QNativeAndroidViewGroup(*(new QNativeAndroidAdapterViewPrivate), context)
{
}
QNativeAndroidBaseAdapter *QNativeAndroidAdapterView::adapter() const
{
- return m_adapter;
+ Q_D(const QNativeAndroidAdapterView);
+ return d->adapter;
}
void QNativeAndroidAdapterView::setAdapter(QNativeAndroidBaseAdapter *adapter)
{
- if (m_adapter != adapter) {
- if (m_adapter) {
- m_adapter->setContext(0);
- disconnect(m_adapter, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidAdapterView::updateAdapter);
- m_adapter->destruct();
+ Q_D(QNativeAndroidAdapterView);
+ if (d->adapter != adapter) {
+ if (d->adapter) {
+ d->adapter->setContext(0);
+ disconnect(d->adapter, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidAdapterView::updateAdapter);
+ d->adapter->destruct();
}
- m_adapter = adapter;
- if (m_adapter) {
- m_adapter->setContext(context());
- connect(m_adapter, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidAdapterView::updateAdapter);
+ d->adapter = adapter;
+ if (d->adapter) {
+ d->adapter->setContext(context());
+ connect(d->adapter, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidAdapterView::updateAdapter);
if (isValid())
- m_adapter->construct();
+ d->adapter->construct();
}
emit adapterChanged();
}
@@ -83,7 +86,8 @@ QAndroidJniObject QNativeAndroidAdapterView::onCreate()
void QNativeAndroidAdapterView::onInflate(QAndroidJniObject &instance)
{
- m_listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeAdapterViewListener",
+ Q_D(QNativeAndroidAdapterView);
+ d->listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeAdapterViewListener",
"(Landroid/widget/AdapterView;J)V",
instance.object(),
reinterpret_cast<jlong>(this));
@@ -92,7 +96,7 @@ void QNativeAndroidAdapterView::onInflate(QAndroidJniObject &instance)
static bool nativeMethodsRegistered = false;
if (!nativeMethodsRegistered) {
- onRegisterNativeMethods(m_listener.object());
+ onRegisterNativeMethods(d->listener.object());
nativeMethodsRegistered = true;
}
}
@@ -125,12 +129,13 @@ void QNativeAndroidAdapterView::objectChange(ObjectChange change)
void QNativeAndroidAdapterView::updateAdapter()
{
+ Q_D(QNativeAndroidAdapterView);
if (!isValid())
return;
QAndroidJniObject adapter;
- if (m_adapter)
- adapter = m_adapter->instance();
+ if (d->adapter)
+ adapter = d->adapter->instance();
QAndroidJniObject view = instance();
QtNativeAndroid::callFunction([=]() {
diff --git a/src/android/widget/qnativeandroidadapterview_p.h b/src/android/widget/qnativeandroidadapterview_p.h
index 9c57324..bae1fff 100644
--- a/src/android/widget/qnativeandroidadapterview_p.h
+++ b/src/android/widget/qnativeandroidadapterview_p.h
@@ -53,6 +53,7 @@
QT_BEGIN_NAMESPACE
class QNativeAndroidBaseAdapter;
+class QNativeAndroidAdapterViewPrivate;
class Q_NATIVEANDROID_EXPORT QNativeAndroidAdapterView : public QNativeAndroidViewGroup
{
@@ -85,8 +86,8 @@ private Q_SLOTS:
void updateAdapter();
private:
- QAndroidJniObject m_listener;
- QNativeAndroidBaseAdapter *m_adapter;
+ Q_DISABLE_COPY(QNativeAndroidAdapterView)
+ Q_DECLARE_PRIVATE(QNativeAndroidAdapterView)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidadapterview_p_p.h b/src/android/widget/qnativeandroidadapterview_p_p.h
new file mode 100644
index 0000000..cb82307
--- /dev/null
+++ b/src/android/widget/qnativeandroidadapterview_p_p.h
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt QML Android module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** 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 QNATIVEANDROIDADAPTERVIEW_P_P_H
+#define QNATIVEANDROIDADAPTERVIEW_P_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtNativeAndroid/private/qnativeandroidviewgroup_p_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QNativeAndroidBaseAdapter;
+
+class QNativeAndroidAdapterViewPrivate : public QNativeAndroidViewGroupPrivate
+{
+public:
+ QAndroidJniObject listener;
+ QNativeAndroidBaseAdapter *adapter = nullptr;
+};
+
+QT_END_NAMESPACE
+
+#endif // QNATIVEANDROIDADAPTERVIEW_P_P_H
diff --git a/src/android/widget/qnativeandroidarrayadapter.cpp b/src/android/widget/qnativeandroidarrayadapter.cpp
index ee3b784..5371dc9 100644
--- a/src/android/widget/qnativeandroidarrayadapter.cpp
+++ b/src/android/widget/qnativeandroidarrayadapter.cpp
@@ -35,38 +35,50 @@
****************************************************************************/
#include "qnativeandroidarrayadapter_p.h"
+#include "qnativeandroidbaseadapter_p_p.h"
#include "qnativeandroidadapterview_p.h"
#include "qtnativeandroidfunctions_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidArrayAdapter::QNativeAndroidArrayAdapter(QObject *parent) :
- QNativeAndroidBaseAdapter(parent), m_style(17367043) // TODO: android.R.layout.simple_list_item_1
+class QNativeAndroidArrayAdapterPrivate : public QNativeAndroidBaseAdapterPrivate
+{
+public:
+ int style = 17367043; // TODO: android.R.layout.simple_list_item_1
+ QStringList array;
+};
+
+QNativeAndroidArrayAdapter::QNativeAndroidArrayAdapter(QObject *parent)
+ : QNativeAndroidBaseAdapter(*(new QNativeAndroidArrayAdapterPrivate), parent)
{
}
int QNativeAndroidArrayAdapter::style() const
{
- return m_style;
+ Q_D(const QNativeAndroidArrayAdapter);
+ return d->style;
}
void QNativeAndroidArrayAdapter::setStyle(int style)
{
- if (m_style != style) {
- m_style = style;
+ Q_D(QNativeAndroidArrayAdapter);
+ if (d->style != style) {
+ d->style = style;
emit styleChanged();
}
}
QStringList QNativeAndroidArrayAdapter::array() const
{
- return m_array;
+ Q_D(const QNativeAndroidArrayAdapter);
+ return d->array;
}
void QNativeAndroidArrayAdapter::setArray(const QStringList &array)
{
- if (m_array != array) {
- m_array = array; // TODO: sync
+ Q_D(QNativeAndroidArrayAdapter);
+ if (d->array != array) {
+ d->array = array; // TODO: sync
emit countChanged();
emit arrayChanged();
}
@@ -74,18 +86,21 @@ void QNativeAndroidArrayAdapter::setArray(const QStringList &array)
int QNativeAndroidArrayAdapter::count() const
{
- return m_array.count();
+ Q_D(const QNativeAndroidArrayAdapter);
+ return d->array.count();
}
QString QNativeAndroidArrayAdapter::getItem(int position) const
{
- return m_array.value(position);
+ Q_D(const QNativeAndroidArrayAdapter);
+ return d->array.value(position);
}
void QNativeAndroidArrayAdapter::clear()
{
- if (!m_array.isEmpty()) {
- m_array.clear(); // TODO: sync
+ Q_D(QNativeAndroidArrayAdapter);
+ if (!d->array.isEmpty()) {
+ d->array.clear(); // TODO: sync
emit countChanged();
emit arrayChanged();
}
@@ -93,17 +108,19 @@ void QNativeAndroidArrayAdapter::clear()
QAndroidJniObject QNativeAndroidArrayAdapter::onCreate()
{
+ Q_D(QNativeAndroidArrayAdapter);
return QAndroidJniObject("android/widget/ArrayAdapter",
"(Landroid/content/Context;I)V",
ctx().object(),
- m_style);
+ d->style);
}
void QNativeAndroidArrayAdapter::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidArrayAdapter);
QNativeAndroidBaseAdapter::onInflate(instance);
- foreach (const QString &str, m_array)
+ foreach (const QString &str, d->array)
instance.callMethod<void>("add", "(Ljava/lang/Object;)V", QAndroidJniObject::fromString(str).object());
}
diff --git a/src/android/widget/qnativeandroidarrayadapter_p.h b/src/android/widget/qnativeandroidarrayadapter_p.h
index 654c88b..df081f3 100644
--- a/src/android/widget/qnativeandroidarrayadapter_p.h
+++ b/src/android/widget/qnativeandroidarrayadapter_p.h
@@ -53,6 +53,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidArrayAdapterPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidArrayAdapter : public QNativeAndroidBaseAdapter
{
Q_OBJECT
@@ -83,8 +85,8 @@ protected:
void onInflate(QAndroidJniObject &instance) override;
private:
- int m_style;
- QStringList m_array;
+ Q_DISABLE_COPY(QNativeAndroidArrayAdapter)
+ Q_DECLARE_PRIVATE(QNativeAndroidArrayAdapter)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidbaseadapter.cpp b/src/android/widget/qnativeandroidbaseadapter.cpp
index 139f662..3eae828 100644
--- a/src/android/widget/qnativeandroidbaseadapter.cpp
+++ b/src/android/widget/qnativeandroidbaseadapter.cpp
@@ -35,11 +35,17 @@
****************************************************************************/
#include "qnativeandroidbaseadapter_p.h"
+#include "qnativeandroidbaseadapter_p_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidBaseAdapter::QNativeAndroidBaseAdapter(QObject *parent) :
- QNativeAndroidContextual(parent)
+QNativeAndroidBaseAdapter::QNativeAndroidBaseAdapter(QObject *parent)
+ : QNativeAndroidContextual(*(new QNativeAndroidBaseAdapterPrivate), parent)
+{
+}
+
+QNativeAndroidBaseAdapter::QNativeAndroidBaseAdapter(QNativeAndroidBaseAdapterPrivate &dd, QObject *parent)
+ : QNativeAndroidContextual(dd, parent)
{
}
diff --git a/src/android/widget/qnativeandroidbaseadapter_p.h b/src/android/widget/qnativeandroidbaseadapter_p.h
index 95384a0..1a2e322 100644
--- a/src/android/widget/qnativeandroidbaseadapter_p.h
+++ b/src/android/widget/qnativeandroidbaseadapter_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidBaseAdapterPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidBaseAdapter : public QNativeAndroidContextual
{
Q_OBJECT
@@ -69,8 +71,14 @@ Q_SIGNALS:
void countChanged();
protected:
+ QNativeAndroidBaseAdapter(QNativeAndroidBaseAdapterPrivate &dd, QObject *parent = nullptr);
+
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
+
+private:
+ Q_DISABLE_COPY(QNativeAndroidBaseAdapter)
+ Q_DECLARE_PRIVATE(QNativeAndroidBaseAdapter)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidbaseadapter_p_p.h b/src/android/widget/qnativeandroidbaseadapter_p_p.h
new file mode 100644
index 0000000..57dce31
--- /dev/null
+++ b/src/android/widget/qnativeandroidbaseadapter_p_p.h
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt QML Android module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** 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 QNATIVEANDROIDBASEADAPTER_P_P_H
+#define QNATIVEANDROIDBASEADAPTER_P_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtNativeAndroid/private/qnativeandroidcontextual_p_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QNativeAndroidBaseAdapterPrivate : public QNativeAndroidContextualPrivate
+{
+public:
+};
+
+QT_END_NAMESPACE
+
+#endif // QNATIVEANDROIDBASEADAPTER_P_P_H
diff --git a/src/android/widget/qnativeandroidbutton.cpp b/src/android/widget/qnativeandroidbutton.cpp
index 3222013..9ea6fd7 100644
--- a/src/android/widget/qnativeandroidbutton.cpp
+++ b/src/android/widget/qnativeandroidbutton.cpp
@@ -35,11 +35,17 @@
****************************************************************************/
#include "qnativeandroidbutton_p.h"
+#include "qnativeandroidbutton_p_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidButton::QNativeAndroidButton(QNativeAndroidContext *context) :
- QNativeAndroidTextView(context)
+QNativeAndroidButton::QNativeAndroidButton(QNativeAndroidContext *context)
+ : QNativeAndroidTextView(*(new QNativeAndroidButtonPrivate), context)
+{
+}
+
+QNativeAndroidButton::QNativeAndroidButton(QNativeAndroidButtonPrivate &dd, QNativeAndroidContext *context)
+ : QNativeAndroidTextView(dd, context)
{
}
diff --git a/src/android/widget/qnativeandroidbutton_p.h b/src/android/widget/qnativeandroidbutton_p.h
index 11a5a95..cae76bc 100644
--- a/src/android/widget/qnativeandroidbutton_p.h
+++ b/src/android/widget/qnativeandroidbutton_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidButtonPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidButton : public QNativeAndroidTextView
{
Q_OBJECT
@@ -60,8 +62,14 @@ public:
explicit QNativeAndroidButton(QNativeAndroidContext *context = nullptr);
protected:
+ QNativeAndroidButton(QNativeAndroidButtonPrivate &dd, QNativeAndroidContext *context = nullptr);
+
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
+
+private:
+ Q_DISABLE_COPY(QNativeAndroidButton)
+ Q_DECLARE_PRIVATE(QNativeAndroidButton)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidbutton_p_p.h b/src/android/widget/qnativeandroidbutton_p_p.h
new file mode 100644
index 0000000..bdba7de
--- /dev/null
+++ b/src/android/widget/qnativeandroidbutton_p_p.h
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt QML Android module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** 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 QNATIVEANDROIDBUTTON_P_P_H
+#define QNATIVEANDROIDBUTTON_P_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtNativeAndroid/private/qnativeandroidtextview_p_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QNativeAndroidButtonPrivate : public QNativeAndroidTextViewPrivate
+{
+public:
+};
+
+QT_END_NAMESPACE
+
+#endif // QNATIVEANDROIDBUTTON_P_P_H
diff --git a/src/android/widget/qnativeandroidcalendarview.cpp b/src/android/widget/qnativeandroidcalendarview.cpp
index 16efbb8..eeba638 100644
--- a/src/android/widget/qnativeandroidcalendarview.cpp
+++ b/src/android/widget/qnativeandroidcalendarview.cpp
@@ -35,11 +35,17 @@
****************************************************************************/
#include "qnativeandroidcalendarview_p.h"
+#include "qnativeandroidframelayout_p_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidCalendarView::QNativeAndroidCalendarView(QNativeAndroidContext *context) :
- QNativeAndroidFrameLayout(context)
+class QNativeAndroidCalendarViewPrivate : public QNativeAndroidFrameLayoutPrivate
+{
+public:
+};
+
+QNativeAndroidCalendarView::QNativeAndroidCalendarView(QNativeAndroidContext *context)
+ : QNativeAndroidFrameLayout(*(new QNativeAndroidCalendarViewPrivate), context)
{
}
diff --git a/src/android/widget/qnativeandroidcalendarview_p.h b/src/android/widget/qnativeandroidcalendarview_p.h
index 47835cc..1367a49 100644
--- a/src/android/widget/qnativeandroidcalendarview_p.h
+++ b/src/android/widget/qnativeandroidcalendarview_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidCalendarViewPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidCalendarView : public QNativeAndroidFrameLayout
{
Q_OBJECT
@@ -62,6 +64,10 @@ public:
protected:
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
+
+private:
+ Q_DISABLE_COPY(QNativeAndroidCalendarView)
+ Q_DECLARE_PRIVATE(QNativeAndroidCalendarView)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidcheckbox.cpp b/src/android/widget/qnativeandroidcheckbox.cpp
index 3cc23db..60ed1c7 100644
--- a/src/android/widget/qnativeandroidcheckbox.cpp
+++ b/src/android/widget/qnativeandroidcheckbox.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidCheckBox::QNativeAndroidCheckBox(QNativeAndroidContext *context) :
- QNativeAndroidCompoundButton(context)
+QNativeAndroidCheckBox::QNativeAndroidCheckBox(QNativeAndroidContext *context)
+ : QNativeAndroidCompoundButton(context)
{
}
diff --git a/src/android/widget/qnativeandroidcompoundbutton.cpp b/src/android/widget/qnativeandroidcompoundbutton.cpp
index e224a3a..ee2cdd6 100644
--- a/src/android/widget/qnativeandroidcompoundbutton.cpp
+++ b/src/android/widget/qnativeandroidcompoundbutton.cpp
@@ -35,18 +35,25 @@
****************************************************************************/
#include "qnativeandroidcompoundbutton_p.h"
+#include "qnativeandroidcompoundbutton_p_p.h"
#include "qtnativeandroidfunctions_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidCompoundButton::QNativeAndroidCompoundButton(QNativeAndroidContext *context) :
- QNativeAndroidButton(context), m_checked(false)
+QNativeAndroidCompoundButton::QNativeAndroidCompoundButton(QNativeAndroidContext *context)
+ : QNativeAndroidButton(*(new QNativeAndroidCompoundButtonPrivate), context)
+{
+}
+
+QNativeAndroidCompoundButton::QNativeAndroidCompoundButton(QNativeAndroidCompoundButtonPrivate &dd, QNativeAndroidContext *context)
+ : QNativeAndroidButton(dd, context)
{
}
bool QNativeAndroidCompoundButton::isChecked() const
{
- return m_checked;
+ Q_D(const QNativeAndroidCompoundButton);
+ return d->checked;
}
void QNativeAndroidCompoundButton::setChecked(bool checked)
@@ -57,8 +64,9 @@ void QNativeAndroidCompoundButton::setChecked(bool checked)
bool QNativeAndroidCompoundButton::updateChecked(bool arg)
{
+ Q_D(QNativeAndroidCompoundButton);
if (arg != isChecked()) {
- m_checked = arg;
+ d->checked = arg;
emit checkedChanged();
return true;
}
@@ -79,20 +87,21 @@ QAndroidJniObject QNativeAndroidCompoundButton::onCreate()
void QNativeAndroidCompoundButton::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidCompoundButton);
QNativeAndroidButton::onInflate(instance);
- m_listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeCompoundButtonListener",
+ d->listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeCompoundButtonListener",
"(Landroid/widget/CompoundButton;J)V",
instance.object(),
reinterpret_cast<jlong>(this));
static bool nativeMethodsRegistered = false;
if (!nativeMethodsRegistered) {
- onRegisterNativeMethods(m_listener.object());
+ onRegisterNativeMethods(d->listener.object());
nativeMethodsRegistered = true;
}
- instance.callMethod<void>("setChecked", "(Z)V", m_checked);
+ instance.callMethod<void>("setChecked", "(Z)V", d->checked);
}
void QNativeAndroidCompoundButton::onRegisterNativeMethods(jobject listener)
diff --git a/src/android/widget/qnativeandroidcompoundbutton_p.h b/src/android/widget/qnativeandroidcompoundbutton_p.h
index 227f6f2..d5be2d9 100644
--- a/src/android/widget/qnativeandroidcompoundbutton_p.h
+++ b/src/android/widget/qnativeandroidcompoundbutton_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidCompoundButtonPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidCompoundButton : public QNativeAndroidButton
{
Q_OBJECT
@@ -70,6 +72,8 @@ Q_SIGNALS:
void checkedChanged();
protected:
+ QNativeAndroidCompoundButton(QNativeAndroidCompoundButtonPrivate &dd, QNativeAndroidContext *context = nullptr);
+
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
@@ -80,8 +84,8 @@ private Q_SLOTS:
bool updateChecked(bool checked);
private:
- bool m_checked;
- QAndroidJniObject m_listener;
+ Q_DISABLE_COPY(QNativeAndroidCompoundButton)
+ Q_DECLARE_PRIVATE(QNativeAndroidCompoundButton)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidcompoundbutton_p_p.h b/src/android/widget/qnativeandroidcompoundbutton_p_p.h
new file mode 100644
index 0000000..22b66a8
--- /dev/null
+++ b/src/android/widget/qnativeandroidcompoundbutton_p_p.h
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt QML Android module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** 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 QNATIVEANDROIDCOMPOUNDBUTTON_P_P_H
+#define QNATIVEANDROIDCOMPOUNDBUTTON_P_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtNativeAndroid/private/qnativeandroidbutton_p_p.h>
+#include <QtAndroidExtras/qandroidjniobject.h>
+
+QT_BEGIN_NAMESPACE
+
+class QNativeAndroidCompoundButtonPrivate : public QNativeAndroidButtonPrivate
+{
+public:
+ bool checked = false;
+ QAndroidJniObject listener;
+};
+
+QT_END_NAMESPACE
+
+#endif // QNATIVEANDROIDCOMPOUNDBUTTON_P_P_H
diff --git a/src/android/widget/qnativeandroiddatepicker.cpp b/src/android/widget/qnativeandroiddatepicker.cpp
index f144eb8..d7a93fa 100644
--- a/src/android/widget/qnativeandroiddatepicker.cpp
+++ b/src/android/widget/qnativeandroiddatepicker.cpp
@@ -35,11 +35,17 @@
****************************************************************************/
#include "qnativeandroiddatepicker_p.h"
+#include "qnativeandroidframelayout_p_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidDatePicker::QNativeAndroidDatePicker(QNativeAndroidContext *context) :
- QNativeAndroidFrameLayout(context)
+class QNativeAndroidDatePickerPrivate : public QNativeAndroidFrameLayoutPrivate
+{
+public:
+};
+
+QNativeAndroidDatePicker::QNativeAndroidDatePicker(QNativeAndroidContext *context)
+ : QNativeAndroidFrameLayout(*(new QNativeAndroidDatePickerPrivate), context)
{
}
diff --git a/src/android/widget/qnativeandroiddatepicker_p.h b/src/android/widget/qnativeandroiddatepicker_p.h
index 47f25da..2b8a6d7 100644
--- a/src/android/widget/qnativeandroiddatepicker_p.h
+++ b/src/android/widget/qnativeandroiddatepicker_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidDatePickerPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidDatePicker : public QNativeAndroidFrameLayout
{
Q_OBJECT
@@ -62,6 +64,10 @@ public:
protected:
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
+
+private:
+ Q_DISABLE_COPY(QNativeAndroidDatePicker)
+ Q_DECLARE_PRIVATE(QNativeAndroidDatePicker)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidedittext.cpp b/src/android/widget/qnativeandroidedittext.cpp
index d09808c..174b075 100644
--- a/src/android/widget/qnativeandroidedittext.cpp
+++ b/src/android/widget/qnativeandroidedittext.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidEditText::QNativeAndroidEditText(QNativeAndroidContext *context) :
- QNativeAndroidTextView(context)
+QNativeAndroidEditText::QNativeAndroidEditText(QNativeAndroidContext *context)
+ : QNativeAndroidTextView(context)
{
}
diff --git a/src/android/widget/qnativeandroidframelayout.cpp b/src/android/widget/qnativeandroidframelayout.cpp
index 94798f6..50ad344 100644
--- a/src/android/widget/qnativeandroidframelayout.cpp
+++ b/src/android/widget/qnativeandroidframelayout.cpp
@@ -35,11 +35,17 @@
****************************************************************************/
#include "qnativeandroidframelayout_p.h"
+#include "qnativeandroidframelayout_p_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidFrameLayout::QNativeAndroidFrameLayout(QNativeAndroidContext *context) :
- QNativeAndroidViewGroup(context)
+QNativeAndroidFrameLayout::QNativeAndroidFrameLayout(QNativeAndroidContext *context)
+ : QNativeAndroidViewGroup(*(new QNativeAndroidFrameLayoutPrivate), context)
+{
+}
+
+QNativeAndroidFrameLayout::QNativeAndroidFrameLayout(QNativeAndroidFrameLayoutPrivate &dd, QNativeAndroidContext *context)
+ : QNativeAndroidViewGroup(dd, context)
{
}
diff --git a/src/android/widget/qnativeandroidframelayout_p.h b/src/android/widget/qnativeandroidframelayout_p.h
index dd321c9..45dfb0b 100644
--- a/src/android/widget/qnativeandroidframelayout_p.h
+++ b/src/android/widget/qnativeandroidframelayout_p.h
@@ -53,6 +53,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidFrameLayoutPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidFrameLayout : public QNativeAndroidViewGroup
{
Q_OBJECT
@@ -63,8 +65,14 @@ public:
static QNativeAndroidFrameLayoutParams *qmlAttachedProperties(QObject *object);
protected:
+ QNativeAndroidFrameLayout(QNativeAndroidFrameLayoutPrivate &dd, QNativeAndroidContext *context = nullptr);
+
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
+
+private:
+ Q_DISABLE_COPY(QNativeAndroidFrameLayout)
+ Q_DECLARE_PRIVATE(QNativeAndroidFrameLayout)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidframelayout_p_p.h b/src/android/widget/qnativeandroidframelayout_p_p.h
new file mode 100644
index 0000000..3e42a23
--- /dev/null
+++ b/src/android/widget/qnativeandroidframelayout_p_p.h
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt QML Android module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** 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 QNATIVEANDROIDFRAMELAYOUT_P_P_H
+#define QNATIVEANDROIDFRAMELAYOUT_P_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtNativeAndroid/private/qnativeandroidviewgroup_p_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QNativeAndroidFrameLayoutPrivate : public QNativeAndroidViewGroupPrivate
+{
+public:
+};
+
+QT_END_NAMESPACE
+
+#endif // QNATIVEANDROIDFRAMELAYOUT_P_P_H
diff --git a/src/android/widget/qnativeandroidimageview.cpp b/src/android/widget/qnativeandroidimageview.cpp
index 6d7ee31..b3e2f96 100644
--- a/src/android/widget/qnativeandroidimageview.cpp
+++ b/src/android/widget/qnativeandroidimageview.cpp
@@ -35,24 +35,36 @@
****************************************************************************/
#include "qnativeandroidimageview_p.h"
+#include "qnativeandroidview_p_p.h"
+#include "qnativeandroidoptional_p.h"
#include "qtnativeandroidfunctions_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidImageView::QNativeAndroidImageView(QNativeAndroidContext *context) :
- QNativeAndroidView(context), m_resource(0)
+class QNativeAndroidImageViewPrivate : public QNativeAndroidViewPrivate
+{
+public:
+ QUrl uri;
+ int resource = 0;
+ QNativeAndroidOptional<int> tint;
+};
+
+QNativeAndroidImageView::QNativeAndroidImageView(QNativeAndroidContext *context)
+ : QNativeAndroidView(*(new QNativeAndroidImageViewPrivate), context)
{
}
QUrl QNativeAndroidImageView::imageURI() const
{
- return m_uri;
+ Q_D(const QNativeAndroidImageView);
+ return d->uri;
}
void QNativeAndroidImageView::setImageURI(const QUrl &uri)
{
- if (m_uri != uri) {
- m_uri = uri;
+ Q_D(QNativeAndroidImageView);
+ if (d->uri != uri) {
+ d->uri = uri;
if (isValid()) {
QAndroidJniObject v = instance();
QAndroidJniObject u = getUri();
@@ -66,13 +78,15 @@ void QNativeAndroidImageView::setImageURI(const QUrl &uri)
int QNativeAndroidImageView::imageResource() const
{
- return m_resource;
+ Q_D(const QNativeAndroidImageView);
+ return d->resource;
}
void QNativeAndroidImageView::setImageResource(int resource)
{
- if (m_resource != resource) {
- m_resource = resource;
+ Q_D(QNativeAndroidImageView);
+ if (d->resource != resource) {
+ d->resource = resource;
QtNativeAndroid::callIntMethod(instance(), "setImageResource", resource);
emit imageResourceChanged();
}
@@ -80,15 +94,17 @@ void QNativeAndroidImageView::setImageResource(int resource)
int QNativeAndroidImageView::imageTintColor() const
{
- if (m_tint.isNull())
+ Q_D(const QNativeAndroidImageView);
+ if (d->tint.isNull())
return 0; // TODO
- return m_tint;
+ return d->tint;
}
void QNativeAndroidImageView::setImageTintColor(int color)
{
- if (m_tint.isNull() || m_tint != color) {
- m_tint = color;
+ Q_D(QNativeAndroidImageView);
+ if (d->tint.isNull() || d->tint != color) {
+ d->tint = color;
if (isValid()) {
QAndroidJniObject view = instance();
QtNativeAndroid::callFunction([=]() {
@@ -112,24 +128,26 @@ QAndroidJniObject QNativeAndroidImageView::onCreate()
void QNativeAndroidImageView::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidImageView);
QNativeAndroidView::onInflate(instance);
- if (m_uri.isValid())
+ if (d->uri.isValid())
instance.callMethod<void>("setImageURI", "(Landroid/net/Uri;)V", getUri().object());
- if (m_resource > 0)
- instance.callMethod<void>("setImageResource", "(I)V", m_resource);
- if (!m_tint.isNull()) {
+ if (d->resource > 0)
+ instance.callMethod<void>("setImageResource", "(I)V", d->resource);
+ if (!d->tint.isNull()) {
QAndroidJniObject tint = QAndroidJniObject::callStaticObjectMethod("android/content/res/ColorStateList",
"valueOf",
"(I)Landroid/content/res/ColorStateList;",
- m_tint);
+ d->tint);
instance.callMethod<void>("setImageTintList", "(Landroid/content/res/ColorStateList;)v", tint.object());
}
}
QAndroidJniObject QNativeAndroidImageView::getUri() const
{
- QAndroidJniObject str = QAndroidJniObject::fromString(m_uri.toString());
+ Q_D(const QNativeAndroidImageView);
+ QAndroidJniObject str = QAndroidJniObject::fromString(d->uri.toString());
return QAndroidJniObject::callStaticObjectMethod("android/net/Uri", "parse", "(Ljava/lang/String;)Landroid/net/Uri;", str.object());
}
diff --git a/src/android/widget/qnativeandroidimageview_p.h b/src/android/widget/qnativeandroidimageview_p.h
index 4b097fe..2ae0efb 100644
--- a/src/android/widget/qnativeandroidimageview_p.h
+++ b/src/android/widget/qnativeandroidimageview_p.h
@@ -49,11 +49,12 @@
//
#include <QtNativeAndroid/private/qnativeandroidview_p.h>
-#include <QtNativeAndroid/private/qnativeandroidoptional_p.h>
#include <QtCore/qurl.h>
QT_BEGIN_NAMESPACE
+class QNativeAndroidImageViewPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidImageView : public QNativeAndroidView
{
Q_OBJECT
@@ -83,11 +84,10 @@ protected:
void onInflate(QAndroidJniObject &instance) override;
private:
- QAndroidJniObject getUri() const;
+ Q_DISABLE_COPY(QNativeAndroidImageView)
+ Q_DECLARE_PRIVATE(QNativeAndroidImageView)
- QUrl m_uri;
- int m_resource;
- QNativeAndroidOptional<int> m_tint;
+ QAndroidJniObject getUri() const;
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidlinearlayout.cpp b/src/android/widget/qnativeandroidlinearlayout.cpp
index 04b7902..f47477a 100644
--- a/src/android/widget/qnativeandroidlinearlayout.cpp
+++ b/src/android/widget/qnativeandroidlinearlayout.cpp
@@ -35,11 +35,17 @@
****************************************************************************/
#include "qnativeandroidlinearlayout_p.h"
+#include "qnativeandroidlinearlayout_p_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidLinearLayout::QNativeAndroidLinearLayout(QNativeAndroidContext *context) :
- QNativeAndroidViewGroup(context)
+QNativeAndroidLinearLayout::QNativeAndroidLinearLayout(QNativeAndroidContext *context)
+ : QNativeAndroidViewGroup(*(new QNativeAndroidLinearLayoutPrivate), context)
+{
+}
+
+QNativeAndroidLinearLayout::QNativeAndroidLinearLayout(QNativeAndroidLinearLayoutPrivate &dd, QNativeAndroidContext *context)
+ : QNativeAndroidViewGroup(dd, context)
{
}
@@ -53,15 +59,17 @@ QNativeAndroidLinearLayoutParams *QNativeAndroidLinearLayout::qmlAttachedPropert
bool QNativeAndroidLinearLayout::isBaselineAligned() const
{
- if (m_baselineAligned.isNull())
+ Q_D(const QNativeAndroidLinearLayout);
+ if (d->baselineAligned.isNull())
return true;
- return m_baselineAligned;
+ return d->baselineAligned;
}
void QNativeAndroidLinearLayout::setBaselineAligned(bool aligned)
{
+ Q_D(QNativeAndroidLinearLayout);
if (aligned != isBaselineAligned()) {
- m_baselineAligned = aligned;
+ d->baselineAligned = aligned;
// if (isValid())
// jniObject().callMethod<void>("setBaselineAligned", "(Z)V", aligned);
emit baselineAlignedChanged();
@@ -70,15 +78,17 @@ void QNativeAndroidLinearLayout::setBaselineAligned(bool aligned)
int QNativeAndroidLinearLayout::baselineAlignedChildIndex() const
{
- if (m_baselineAlignedChildIndex.isNull())
+ Q_D(const QNativeAndroidLinearLayout);
+ if (d->baselineAlignedChildIndex.isNull())
return -1;
- return m_baselineAlignedChildIndex;
+ return d->baselineAlignedChildIndex;
}
void QNativeAndroidLinearLayout::setBaselineAlignedChildIndex(int index)
{
+ Q_D(QNativeAndroidLinearLayout);
if (index != baselineAlignedChildIndex()) {
- m_baselineAlignedChildIndex = index;
+ d->baselineAlignedChildIndex = index;
// if (isValid())
// jniObject().callMethod<void>("setBaselineAlignedChildIndex", "(I)V", index);
emit baselineAlignedChildIndexChanged();
@@ -87,15 +97,17 @@ void QNativeAndroidLinearLayout::setBaselineAlignedChildIndex(int index)
bool QNativeAndroidLinearLayout::isMeasureWithLargestChildEnabled() const
{
- if (m_measureWithLargestChild.isNull())
+ Q_D(const QNativeAndroidLinearLayout);
+ if (d->measureWithLargestChild.isNull())
return false;
- return m_measureWithLargestChild;
+ return d->measureWithLargestChild;
}
void QNativeAndroidLinearLayout::setMeasureWithLargestChildEnabled(bool enabled)
{
+ Q_D(QNativeAndroidLinearLayout);
if (enabled != isMeasureWithLargestChildEnabled()) {
- m_measureWithLargestChild = enabled;
+ d->measureWithLargestChild = enabled;
// if (isValid())
// jniObject().callMethod<void>("setMeasureWithLargestChildEnabled", "(Z)V", enabled);
emit measureWithLargestChildEnabledChanged();
@@ -104,15 +116,17 @@ void QNativeAndroidLinearLayout::setMeasureWithLargestChildEnabled(bool enabled)
QNativeAndroidLinearLayout::Orientation QNativeAndroidLinearLayout::orientation() const
{
- if (m_orientation.isNull())
+ Q_D(const QNativeAndroidLinearLayout);
+ if (d->orientation.isNull())
return HORIZONTAL;
- return m_orientation;
+ return d->orientation;
}
void QNativeAndroidLinearLayout::setOrientation(Orientation value)
{
+ Q_D(QNativeAndroidLinearLayout);
if (value != orientation()) {
- m_orientation = value;
+ d->orientation = value;
// if (isValid())
// jniObject().callMethod<void>("setOrientation", "(I)V", value);
emit orientationChanged();
@@ -121,15 +135,17 @@ void QNativeAndroidLinearLayout::setOrientation(Orientation value)
qreal QNativeAndroidLinearLayout::weightSum() const
{
- if (m_weightSum.isNull())
+ Q_D(const QNativeAndroidLinearLayout);
+ if (d->weightSum.isNull())
return -1.0f;
- return m_weightSum;
+ return d->weightSum;
}
void QNativeAndroidLinearLayout::setWeightSum(qreal sum)
{
+ Q_D(QNativeAndroidLinearLayout);
if (sum != weightSum()) {
- m_weightSum = sum;
+ d->weightSum = sum;
// if (isValid())
// jniObject().callMethod<void>("setWeightSum", "(J)V", sum);
emit weightSumChanged();
@@ -145,19 +161,20 @@ QAndroidJniObject QNativeAndroidLinearLayout::onCreate()
void QNativeAndroidLinearLayout::onInflate(QAndroidJniObject &instance)
{
- if (!m_baselineAligned.isNull())
- instance.callMethod<void>("setBaselineAligned", "(Z)V", m_baselineAligned);
- if (!m_measureWithLargestChild.isNull())
- instance.callMethod<void>("setMeasureWithLargestChildEnabled", "(Z)V", m_measureWithLargestChild);
- if (!m_orientation.isNull())
- instance.callMethod<void>("setOrientation", "(I)V", m_orientation);
- if (!m_weightSum.isNull())
- instance.callMethod<void>("setWeightSum", "(J)V", m_weightSum);
+ Q_D(QNativeAndroidLinearLayout);
+ if (!d->baselineAligned.isNull())
+ instance.callMethod<void>("setBaselineAligned", "(Z)V", d->baselineAligned);
+ if (!d->measureWithLargestChild.isNull())
+ instance.callMethod<void>("setMeasureWithLargestChildEnabled", "(Z)V", d->measureWithLargestChild);
+ if (!d->orientation.isNull())
+ instance.callMethod<void>("setOrientation", "(I)V", d->orientation);
+ if (!d->weightSum.isNull())
+ instance.callMethod<void>("setWeightSum", "(J)V", d->weightSum);
QNativeAndroidViewGroup::onInflate(instance);
- if (!m_baselineAlignedChildIndex.isNull())
- instance.callMethod<void>("setBaselineAlignedChildIndex", "(I)V", m_baselineAlignedChildIndex);
+ if (!d->baselineAlignedChildIndex.isNull())
+ instance.callMethod<void>("setBaselineAlignedChildIndex", "(I)V", d->baselineAlignedChildIndex);
}
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidlinearlayout_p.h b/src/android/widget/qnativeandroidlinearlayout_p.h
index ce63d4b..240724c 100644
--- a/src/android/widget/qnativeandroidlinearlayout_p.h
+++ b/src/android/widget/qnativeandroidlinearlayout_p.h
@@ -49,11 +49,12 @@
//
#include <QtNativeAndroid/private/qnativeandroidviewgroup_p.h>
-#include <QtNativeAndroid/private/qnativeandroidoptional_p.h>
#include <QtNativeAndroid/private/qnativeandroidlinearlayoutparams_p.h>
QT_BEGIN_NAMESPACE
+class QNativeAndroidLinearLayoutPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidLinearLayout : public QNativeAndroidViewGroup
{
Q_OBJECT
@@ -100,17 +101,14 @@ Q_SIGNALS:
void weightSumChanged();
protected:
+ QNativeAndroidLinearLayout(QNativeAndroidLinearLayoutPrivate &dd, QNativeAndroidContext *context = nullptr);
+
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
private:
- QNativeAndroidOptional<bool> m_baselineAligned;
- QNativeAndroidOptional<bool> m_baselineAlignedChildIndex;
- // TODO: Drawable divider
- // TODO: int gravity
- QNativeAndroidOptional<bool> m_measureWithLargestChild;
- QNativeAndroidOptional<Orientation> m_orientation;
- QNativeAndroidOptional<qreal> m_weightSum;
+ Q_DISABLE_COPY(QNativeAndroidLinearLayout)
+ Q_DECLARE_PRIVATE(QNativeAndroidLinearLayout)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidlinearlayout_p_p.h b/src/android/widget/qnativeandroidlinearlayout_p_p.h
new file mode 100644
index 0000000..06a91a3
--- /dev/null
+++ b/src/android/widget/qnativeandroidlinearlayout_p_p.h
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt QML Android module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** 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 QNATIVEANDROIDLINEARLAYOUT_P_P_H
+#define QNATIVEANDROIDLINEARLAYOUT_P_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtNativeAndroid/private/qnativeandroidviewgroup_p_p.h>
+#include <QtNativeAndroid/private/qnativeandroidlinearlayout_p.h>
+#include <QtNativeAndroid/private/qnativeandroidoptional_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QNativeAndroidLinearLayoutPrivate : public QNativeAndroidViewGroupPrivate
+{
+public:
+ QNativeAndroidOptional<bool> baselineAligned;
+ QNativeAndroidOptional<bool> baselineAlignedChildIndex;
+ // TODO: Drawable divider
+ // TODO: int gravity
+ QNativeAndroidOptional<bool> measureWithLargestChild;
+ QNativeAndroidOptional<QNativeAndroidLinearLayout::Orientation> orientation;
+ QNativeAndroidOptional<qreal> weightSum;
+};
+
+QT_END_NAMESPACE
+
+#endif // QNATIVEANDROIDLINEARLAYOUT_P_P_H
diff --git a/src/android/widget/qnativeandroidlistview.cpp b/src/android/widget/qnativeandroidlistview.cpp
index 5316568..af6a389 100644
--- a/src/android/widget/qnativeandroidlistview.cpp
+++ b/src/android/widget/qnativeandroidlistview.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidListView::QNativeAndroidListView(QNativeAndroidContext *context) :
- QNativeAndroidAdapterView(context)
+QNativeAndroidListView::QNativeAndroidListView(QNativeAndroidContext *context)
+ : QNativeAndroidAdapterView(context)
{
}
diff --git a/src/android/widget/qnativeandroidnumberpicker.cpp b/src/android/widget/qnativeandroidnumberpicker.cpp
index 7254368..10df2d6 100644
--- a/src/android/widget/qnativeandroidnumberpicker.cpp
+++ b/src/android/widget/qnativeandroidnumberpicker.cpp
@@ -35,18 +35,27 @@
****************************************************************************/
#include "qnativeandroidnumberpicker_p.h"
+#include "qnativeandroidlinearlayout_p_p.h"
#include "qtnativeandroidfunctions_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidNumberPicker::QNativeAndroidNumberPicker(QNativeAndroidContext *context) :
- QNativeAndroidLinearLayout(context), m_value(0)
+class QNativeAndroidNumberPickerPrivate : public QNativeAndroidLinearLayoutPrivate
+{
+public:
+ int value = 0;
+ QAndroidJniObject listener;
+};
+
+QNativeAndroidNumberPicker::QNativeAndroidNumberPicker(QNativeAndroidContext *context)
+ : QNativeAndroidLinearLayout(*(new QNativeAndroidNumberPickerPrivate), context)
{
}
int QNativeAndroidNumberPicker::value() const
{
- return m_value;
+ Q_D(const QNativeAndroidNumberPicker);
+ return d->value;
}
void QNativeAndroidNumberPicker::setValue(int value)
@@ -57,8 +66,9 @@ void QNativeAndroidNumberPicker::setValue(int value)
bool QNativeAndroidNumberPicker::updateValue(int value)
{
- if (m_value != value) {
- m_value = value;
+ Q_D(QNativeAndroidNumberPicker);
+ if (d->value != value) {
+ d->value = value;
emit valueChanged();
return true;
}
@@ -74,20 +84,21 @@ QAndroidJniObject QNativeAndroidNumberPicker::onCreate()
void QNativeAndroidNumberPicker::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidNumberPicker);
QNativeAndroidLinearLayout::onInflate(instance);
- m_listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeNumberPickerListener",
+ d->listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeNumberPickerListener",
"(Landroid/widget/NumberPicker;J)V",
instance.object(),
reinterpret_cast<jlong>(this));
static bool nativeMethodsRegistered = false;
if (!nativeMethodsRegistered) {
- onRegisterNativeMethods(m_listener.object());
+ onRegisterNativeMethods(d->listener.object());
nativeMethodsRegistered = true;
}
- instance.callMethod<void>("setValue", "(I)V", m_value);
+ instance.callMethod<void>("setValue", "(I)V", d->value);
}
void QNativeAndroidNumberPicker::onRegisterNativeMethods(jobject listener)
diff --git a/src/android/widget/qnativeandroidnumberpicker_p.h b/src/android/widget/qnativeandroidnumberpicker_p.h
index 550461a..0394c1d 100644
--- a/src/android/widget/qnativeandroidnumberpicker_p.h
+++ b/src/android/widget/qnativeandroidnumberpicker_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidNumberPickerPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidNumberPicker : public QNativeAndroidLinearLayout
{
Q_OBJECT
@@ -77,8 +79,8 @@ private Q_SLOTS:
bool updateValue(int value);
private:
- int m_value;
- QAndroidJniObject m_listener;
+ Q_DISABLE_COPY(QNativeAndroidNumberPicker)
+ Q_DECLARE_PRIVATE(QNativeAndroidNumberPicker)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidpopupmenu.cpp b/src/android/widget/qnativeandroidpopupmenu.cpp
index 6ec9342..dcb6b61 100644
--- a/src/android/widget/qnativeandroidpopupmenu.cpp
+++ b/src/android/widget/qnativeandroidpopupmenu.cpp
@@ -35,16 +35,26 @@
****************************************************************************/
#include "qnativeandroidpopupmenu_p.h"
+#include "qnativeandroidobject_p_p.h"
#include "qtnativeandroidfunctions_p.h"
#include "qnativeandroidmenuitem_p.h"
+#include "qnativeandroidoptional_p.h"
#include "qnativeandroidcontext_p.h"
#include "qnativeandroidview_p.h"
#include <QtCore/qdebug.h>
QT_BEGIN_NAMESPACE
-QNativeAndroidPopupMenu::QNativeAndroidPopupMenu(QObject *parent) :
- QNativeAndroidObject(parent), m_anchor(0)
+class QNativeAndroidPopupMenuPrivate : public QNativeAndroidObjectPrivate
+{
+public:
+ QNativeAndroidView *anchor = nullptr;
+ QNativeAndroidOptional<int> gravity;
+ QAndroidJniObject listener;
+};
+
+QNativeAndroidPopupMenu::QNativeAndroidPopupMenu(QObject *parent)
+ : QNativeAndroidObject(*(new QNativeAndroidPopupMenuPrivate), parent)
{
}
@@ -61,35 +71,40 @@ QList<QNativeAndroidMenuItem *> QNativeAndroidPopupMenu::items() const
QNativeAndroidView *QNativeAndroidPopupMenu::anchor() const
{
- return m_anchor;
+ Q_D(const QNativeAndroidPopupMenu);
+ return d->anchor;
}
void QNativeAndroidPopupMenu::setAnchor(QNativeAndroidView *anchor)
{
- if (m_anchor != anchor) {
- m_anchor = anchor;
+ Q_D(QNativeAndroidPopupMenu);
+ if (d->anchor != anchor) {
+ d->anchor = anchor;
emit anchorChanged();
}
}
int QNativeAndroidPopupMenu::gravity() const
{
- if (m_gravity.isNull())
+ Q_D(const QNativeAndroidPopupMenu);
+ if (d->gravity.isNull())
return 0; // TODO
- return m_gravity;
+ return d->gravity;
}
void QNativeAndroidPopupMenu::setGravity(int value)
{
+ Q_D(QNativeAndroidPopupMenu);
if (value != gravity()) {
- m_gravity = value;
+ d->gravity = value;
emit gravityChanged();
}
}
void QNativeAndroidPopupMenu::show()
{
- QNativeAndroidView *anchor = m_anchor ? m_anchor : qobject_cast<QNativeAndroidView *>(parent());
+ Q_D(QNativeAndroidPopupMenu);
+ QNativeAndroidView *anchor = d->anchor ? d->anchor : qobject_cast<QNativeAndroidView *>(parent());
if (!anchor) {
qWarning() << "PopupMenu parent must be either anchored or in a view.";
return;
@@ -106,10 +121,10 @@ void QNativeAndroidPopupMenu::show()
QtNativeAndroid::callFunction([=]() {
QAndroidJniObject popup;
- if (!m_gravity.isNull()) {
+ if (!d->gravity.isNull()) {
popup = QAndroidJniObject("android/widget/PopupMenu",
"(Landroid/content/Context;Landroid/view/View;I)V",
- c.object(), a.object(), m_gravity);
+ c.object(), a.object(), d->gravity);
} else {
popup = QAndroidJniObject("android/widget/PopupMenu",
"(Landroid/content/Context;Landroid/view/View;)V",
diff --git a/src/android/widget/qnativeandroidpopupmenu_p.h b/src/android/widget/qnativeandroidpopupmenu_p.h
index 608d028..06d6517 100644
--- a/src/android/widget/qnativeandroidpopupmenu_p.h
+++ b/src/android/widget/qnativeandroidpopupmenu_p.h
@@ -49,12 +49,12 @@
//
#include <QtNativeAndroid/private/qnativeandroidobject_p.h>
-#include <QtNativeAndroid/private/qnativeandroidoptional_p.h>
QT_BEGIN_NAMESPACE
class QNativeAndroidView;
class QNativeAndroidMenuItem;
+class QNativeAndroidPopupMenuPrivate;
class Q_NATIVEANDROID_EXPORT QNativeAndroidPopupMenu : public QNativeAndroidObject
{
@@ -84,9 +84,8 @@ Q_SIGNALS:
void itemClick();
private:
- QNativeAndroidView *m_anchor;
- QNativeAndroidOptional<int> m_gravity;
- QAndroidJniObject m_listener;
+ Q_DISABLE_COPY(QNativeAndroidPopupMenu)
+ Q_DECLARE_PRIVATE(QNativeAndroidPopupMenu)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidprogressbar.cpp b/src/android/widget/qnativeandroidprogressbar.cpp
index 62475fa..343913e 100644
--- a/src/android/widget/qnativeandroidprogressbar.cpp
+++ b/src/android/widget/qnativeandroidprogressbar.cpp
@@ -35,24 +35,32 @@
****************************************************************************/
#include "qnativeandroidprogressbar_p.h"
+#include "qnativeandroidprogressbar_p_p.h"
#include "qtnativeandroidfunctions_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidProgressBar::QNativeAndroidProgressBar(QNativeAndroidContext *context) :
- QNativeAndroidView(context), m_max(100), m_progress(0), m_secondary(0), m_indeterminate(false)
+QNativeAndroidProgressBar::QNativeAndroidProgressBar(QNativeAndroidContext *context)
+ : QNativeAndroidView(*(new QNativeAndroidProgressBarPrivate), context)
+{
+}
+
+QNativeAndroidProgressBar::QNativeAndroidProgressBar(QNativeAndroidProgressBarPrivate &dd, QNativeAndroidContext *context)
+ : QNativeAndroidView(dd, context)
{
}
bool QNativeAndroidProgressBar::isIndeterminate() const
{
- return m_indeterminate;
+ Q_D(const QNativeAndroidProgressBar);
+ return d->indeterminate;
}
void QNativeAndroidProgressBar::setIndeterminate(bool indeterminate)
{
- if (m_indeterminate != indeterminate) {
- m_indeterminate = indeterminate;
+ Q_D(QNativeAndroidProgressBar);
+ if (d->indeterminate != indeterminate) {
+ d->indeterminate = indeterminate;
QtNativeAndroid::callBoolMethod(instance(), "setIndeterminate", indeterminate);
emit indeterminateChanged();
}
@@ -60,7 +68,8 @@ void QNativeAndroidProgressBar::setIndeterminate(bool indeterminate)
int QNativeAndroidProgressBar::progress() const
{
- return m_progress;
+ Q_D(const QNativeAndroidProgressBar);
+ return d->progress;
}
void QNativeAndroidProgressBar::setProgress(int progress)
@@ -71,8 +80,9 @@ void QNativeAndroidProgressBar::setProgress(int progress)
bool QNativeAndroidProgressBar::updateProgress(int progress)
{
- if (m_progress != progress) {
- m_progress = progress;
+ Q_D(QNativeAndroidProgressBar);
+ if (d->progress != progress) {
+ d->progress = progress;
emit progressChanged();
return true;
}
@@ -81,13 +91,15 @@ bool QNativeAndroidProgressBar::updateProgress(int progress)
int QNativeAndroidProgressBar::secondaryProgress() const
{
- return m_secondary;
+ Q_D(const QNativeAndroidProgressBar);
+ return d->secondary;
}
void QNativeAndroidProgressBar::setSecondaryProgress(int progress)
{
- if (m_secondary != progress) {
- m_secondary = progress;
+ Q_D(QNativeAndroidProgressBar);
+ if (d->secondary != progress) {
+ d->secondary = progress;
QtNativeAndroid::callIntMethod(instance(), "setSecondaryProgress", progress);
emit secondaryProgressChanged();
}
@@ -95,13 +107,15 @@ void QNativeAndroidProgressBar::setSecondaryProgress(int progress)
int QNativeAndroidProgressBar::max() const
{
- return m_max;
+ Q_D(const QNativeAndroidProgressBar);
+ return d->max;
}
void QNativeAndroidProgressBar::setMax(int max)
{
- if (m_max != max) {
- m_max = max;
+ Q_D(QNativeAndroidProgressBar);
+ if (d->max != max) {
+ d->max = max;
QtNativeAndroid::callIntMethod(instance(), "setMax", max);
emit maxChanged();
}
@@ -109,14 +123,16 @@ void QNativeAndroidProgressBar::setMax(int max)
QNativeAndroidProgressBar::Style QNativeAndroidProgressBar::style() const
{
- if (m_style.isNull())
+ Q_D(const QNativeAndroidProgressBar);
+ if (d->style.isNull())
return Medium;
- return m_style;
+ return d->style;
}
void QNativeAndroidProgressBar::setStyle(Style style)
{
- m_style = style; // TODO: warning after construction or re-construct?
+ Q_D(QNativeAndroidProgressBar);
+ d->style = style; // TODO: warning after construction or re-construct?
}
QAndroidJniObject QNativeAndroidProgressBar::onCreate()
@@ -128,16 +144,17 @@ QAndroidJniObject QNativeAndroidProgressBar::onCreate()
void QNativeAndroidProgressBar::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidProgressBar);
QNativeAndroidView::onInflate(instance);
- if (m_progress > 0)
- instance.callMethod<void>("setProgress", "(I)V", m_progress);
- if (m_secondary > 0)
- instance.callMethod<void>("setSecondaryProgress", "(I)V", m_secondary);
- if (m_indeterminate)
- instance.callMethod<void>("setIndeterminate", "(Z)V", m_indeterminate);
- if (m_max != 100)
- instance.callMethod<void>("setMax", "(I)V", m_max);
+ if (d->progress > 0)
+ instance.callMethod<void>("setProgress", "(I)V", d->progress);
+ if (d->secondary > 0)
+ instance.callMethod<void>("setSecondaryProgress", "(I)V", d->secondary);
+ if (d->indeterminate)
+ instance.callMethod<void>("setIndeterminate", "(Z)V", d->indeterminate);
+ if (d->max != 100)
+ instance.callMethod<void>("setMax", "(I)V", d->max);
}
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidprogressbar_p.h b/src/android/widget/qnativeandroidprogressbar_p.h
index 2ef99a5..276b80a 100644
--- a/src/android/widget/qnativeandroidprogressbar_p.h
+++ b/src/android/widget/qnativeandroidprogressbar_p.h
@@ -49,10 +49,11 @@
//
#include <QtNativeAndroid/private/qnativeandroidview_p.h>
-#include <QtNativeAndroid/private/qnativeandroidoptional_p.h>
QT_BEGIN_NAMESPACE
+class QNativeAndroidProgressBarPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidProgressBar : public QNativeAndroidView
{
Q_OBJECT
@@ -99,6 +100,8 @@ Q_SIGNALS:
void maxChanged();
protected:
+ QNativeAndroidProgressBar(QNativeAndroidProgressBarPrivate &dd, QNativeAndroidContext *context = nullptr);
+
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
@@ -106,11 +109,8 @@ private Q_SLOTS:
bool updateProgress(int progress);
private:
- int m_max;
- int m_progress;
- int m_secondary;
- bool m_indeterminate;
- QNativeAndroidOptional<Style> m_style;
+ Q_DISABLE_COPY(QNativeAndroidProgressBar)
+ Q_DECLARE_PRIVATE(QNativeAndroidProgressBar)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidprogressbar_p_p.h b/src/android/widget/qnativeandroidprogressbar_p_p.h
new file mode 100644
index 0000000..8aa9420
--- /dev/null
+++ b/src/android/widget/qnativeandroidprogressbar_p_p.h
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt QML Android module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** 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 QNATIVEANDROIDPROGRESSBAR_P_P_H
+#define QNATIVEANDROIDPROGRESSBAR_P_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtNativeAndroid/private/qnativeandroidview_p_p.h>
+#include <QtNativeAndroid/private/qnativeandroidoptional_p.h>
+#include <QtNativeAndroid/private/qnativeandroidprogressbar_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QNativeAndroidProgressBarPrivate : public QNativeAndroidViewPrivate
+{
+public:
+ int max = 100;
+ int progress = 0;
+ int secondary = 0;
+ bool indeterminate = false;
+ QNativeAndroidOptional<QNativeAndroidProgressBar::Style> style;
+};
+
+QT_END_NAMESPACE
+
+#endif // QNATIVEANDROIDPROGRESSBAR_P_P_H
diff --git a/src/android/widget/qnativeandroidradiobutton.cpp b/src/android/widget/qnativeandroidradiobutton.cpp
index daf19ee..9a21b2e 100644
--- a/src/android/widget/qnativeandroidradiobutton.cpp
+++ b/src/android/widget/qnativeandroidradiobutton.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidRadioButton::QNativeAndroidRadioButton(QNativeAndroidContext *context) :
- QNativeAndroidCompoundButton(context)
+QNativeAndroidRadioButton::QNativeAndroidRadioButton(QNativeAndroidContext *context)
+ : QNativeAndroidCompoundButton(context)
{
}
diff --git a/src/android/widget/qnativeandroidradiogroup.cpp b/src/android/widget/qnativeandroidradiogroup.cpp
index 7e1770b..eb8d7b1 100644
--- a/src/android/widget/qnativeandroidradiogroup.cpp
+++ b/src/android/widget/qnativeandroidradiogroup.cpp
@@ -35,19 +35,28 @@
****************************************************************************/
#include "qnativeandroidradiogroup_p.h"
+#include "qnativeandroidlinearlayout_p_p.h"
#include "qnativeandroidradiobutton_p.h"
#include "qtnativeandroidfunctions_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidRadioGroup::QNativeAndroidRadioGroup(QNativeAndroidContext *context) :
- QNativeAndroidLinearLayout(context), m_checkedButton(0)
+class QNativeAndroidRadioGroupPrivate : public QNativeAndroidLinearLayoutPrivate
+{
+public:
+ QAndroidJniObject listener;
+ QNativeAndroidRadioButton* checkedButton = nullptr;
+};
+
+QNativeAndroidRadioGroup::QNativeAndroidRadioGroup(QNativeAndroidContext *context)
+ : QNativeAndroidLinearLayout(*(new QNativeAndroidRadioGroupPrivate), context)
{
}
QNativeAndroidRadioButton *QNativeAndroidRadioGroup::checkedButton() const
{
- return m_checkedButton;
+ Q_D(const QNativeAndroidRadioGroup);
+ return d->checkedButton;
}
void QNativeAndroidRadioGroup::setCheckedButton(QNativeAndroidRadioButton *button)
@@ -70,16 +79,17 @@ QAndroidJniObject QNativeAndroidRadioGroup::onCreate()
void QNativeAndroidRadioGroup::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidRadioGroup);
QNativeAndroidLinearLayout::onInflate(instance);
- m_listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeRadioGroupListener",
+ d->listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeRadioGroupListener",
"(Landroid/widget/RadioGroup;J)V",
instance.object(),
reinterpret_cast<jlong>(this));
static bool nativeMethodsRegistered = false;
if (!nativeMethodsRegistered) {
- onRegisterNativeMethods(m_listener.object());
+ onRegisterNativeMethods(d->listener.object());
nativeMethodsRegistered = true;
}
@@ -120,8 +130,9 @@ void QNativeAndroidRadioGroup::updateCheckedButtonId(int checkedId)
bool QNativeAndroidRadioGroup::updateCheckedButton(QNativeAndroidRadioButton *button)
{
- if (m_checkedButton != button) {
- m_checkedButton = button;
+ Q_D(QNativeAndroidRadioGroup);
+ if (d->checkedButton != button) {
+ d->checkedButton = button;
emit checkedButtonChanged();
return true;
}
diff --git a/src/android/widget/qnativeandroidradiogroup_p.h b/src/android/widget/qnativeandroidradiogroup_p.h
index df67864..2f1b39c 100644
--- a/src/android/widget/qnativeandroidradiogroup_p.h
+++ b/src/android/widget/qnativeandroidradiogroup_p.h
@@ -53,6 +53,7 @@
QT_BEGIN_NAMESPACE
class QNativeAndroidRadioButton;
+class QNativeAndroidRadioGroupPrivate;
class Q_NATIVEANDROID_EXPORT QNativeAndroidRadioGroup : public QNativeAndroidLinearLayout
{
@@ -83,8 +84,8 @@ private Q_SLOTS:
bool updateCheckedButton(QNativeAndroidRadioButton *button);
private:
- QAndroidJniObject m_listener;
- QNativeAndroidRadioButton* m_checkedButton;
+ Q_DISABLE_COPY(QNativeAndroidRadioGroup)
+ Q_DECLARE_PRIVATE(QNativeAndroidRadioGroup)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidratingbar.cpp b/src/android/widget/qnativeandroidratingbar.cpp
index 29f0683..d9903c2 100644
--- a/src/android/widget/qnativeandroidratingbar.cpp
+++ b/src/android/widget/qnativeandroidratingbar.cpp
@@ -35,18 +35,27 @@
****************************************************************************/
#include "qnativeandroidratingbar_p.h"
+#include "qnativeandroidabsseekbar_p_p.h"
#include "qtnativeandroidfunctions_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidRatingBar::QNativeAndroidRatingBar(QNativeAndroidContext *context) :
- QNativeAndroidAbsSeekBar(context), m_rating(0.0)
+class QNativeAndroidRatingBarPrivate : public QNativeAndroidAbsSeekBarPrivate
+{
+public:
+ qreal rating = 0.0;
+ QAndroidJniObject listener;
+};
+
+QNativeAndroidRatingBar::QNativeAndroidRatingBar(QNativeAndroidContext *context)
+ : QNativeAndroidAbsSeekBar(*(new QNativeAndroidRatingBarPrivate), context)
{
}
qreal QNativeAndroidRatingBar::rating() const
{
- return m_rating;
+ Q_D(const QNativeAndroidRatingBar);
+ return d->rating;
}
void QNativeAndroidRatingBar::setRating(qreal rating)
@@ -57,8 +66,9 @@ void QNativeAndroidRatingBar::setRating(qreal rating)
bool QNativeAndroidRatingBar::updateRating(qreal rating)
{
- if (!qFuzzyCompare(m_rating, rating)) {
- m_rating = rating;
+ Q_D(QNativeAndroidRatingBar);
+ if (!qFuzzyCompare(d->rating, rating)) {
+ d->rating = rating;
emit ratingChanged();
return true;
}
@@ -74,20 +84,21 @@ QAndroidJniObject QNativeAndroidRatingBar::onCreate()
void QNativeAndroidRatingBar::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidRatingBar);
QNativeAndroidAbsSeekBar::onInflate(instance);
- m_listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeRatingBarListener",
+ d->listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeRatingBarListener",
"(Landroid/widget/RatingBar;J)V",
instance.object(),
reinterpret_cast<jlong>(this));
static bool nativeMethodsRegistered = false;
if (!nativeMethodsRegistered) {
- onRegisterNativeMethods(m_listener.object());
+ onRegisterNativeMethods(d->listener.object());
nativeMethodsRegistered = true;
}
- instance.callMethod<void>("setRating", "(F)V", m_rating);
+ instance.callMethod<void>("setRating", "(F)V", d->rating);
}
void QNativeAndroidRatingBar::onRegisterNativeMethods(jobject listener)
diff --git a/src/android/widget/qnativeandroidratingbar_p.h b/src/android/widget/qnativeandroidratingbar_p.h
index 35ba5a5..ee8dd5a 100644
--- a/src/android/widget/qnativeandroidratingbar_p.h
+++ b/src/android/widget/qnativeandroidratingbar_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidRatingBarPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidRatingBar : public QNativeAndroidAbsSeekBar
{
Q_OBJECT
@@ -77,8 +79,8 @@ private Q_SLOTS:
bool updateRating(qreal rating);
private:
- qreal m_rating;
- QAndroidJniObject m_listener;
+ Q_DISABLE_COPY(QNativeAndroidRatingBar)
+ Q_DECLARE_PRIVATE(QNativeAndroidRatingBar)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidrelativelayout.cpp b/src/android/widget/qnativeandroidrelativelayout.cpp
index 04dae83..22b2797 100644
--- a/src/android/widget/qnativeandroidrelativelayout.cpp
+++ b/src/android/widget/qnativeandroidrelativelayout.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidRelativeLayout::QNativeAndroidRelativeLayout(QNativeAndroidContext *context) :
- QNativeAndroidViewGroup(context)
+QNativeAndroidRelativeLayout::QNativeAndroidRelativeLayout(QNativeAndroidContext *context)
+ : QNativeAndroidViewGroup(context)
{
}
diff --git a/src/android/widget/qnativeandroidscrollview.cpp b/src/android/widget/qnativeandroidscrollview.cpp
index f54fcb1..5614dde 100644
--- a/src/android/widget/qnativeandroidscrollview.cpp
+++ b/src/android/widget/qnativeandroidscrollview.cpp
@@ -35,20 +35,30 @@
****************************************************************************/
#include "qnativeandroidscrollview_p.h"
+#include "qnativeandroidframelayout_p_p.h"
#include "qtnativeandroidfunctions_p.h"
+#include "qnativeandroidoptional_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidScrollView::QNativeAndroidScrollView(QNativeAndroidContext *context) :
- QNativeAndroidFrameLayout(context)
+class QNativeAndroidScrollViewPrivate : public QNativeAndroidFrameLayoutPrivate
+{
+public:
+ QNativeAndroidOptional<int> scrollX;
+ QNativeAndroidOptional<int> scrollY;
+};
+
+QNativeAndroidScrollView::QNativeAndroidScrollView(QNativeAndroidContext *context)
+ : QNativeAndroidFrameLayout(*(new QNativeAndroidScrollViewPrivate), context)
{
}
int QNativeAndroidScrollView::scrollX() const
{
- if (m_scrollX.isNull())
+ Q_D(const QNativeAndroidScrollView);
+ if (d->scrollX.isNull())
return 0;
- return m_scrollX;
+ return d->scrollX;
}
void QNativeAndroidScrollView::setScrollX(int x)
@@ -59,8 +69,9 @@ void QNativeAndroidScrollView::setScrollX(int x)
bool QNativeAndroidScrollView::updateScrollX(int x)
{
- if (m_scrollX.isNull() || m_scrollX != x) {
- m_scrollX = x;
+ Q_D(QNativeAndroidScrollView);
+ if (d->scrollX.isNull() || d->scrollX != x) {
+ d->scrollX = x;
emit scrollXChanged();
}
return false;
@@ -68,9 +79,10 @@ bool QNativeAndroidScrollView::updateScrollX(int x)
int QNativeAndroidScrollView::scrollY() const
{
- if (m_scrollY.isNull())
+ Q_D(const QNativeAndroidScrollView);
+ if (d->scrollY.isNull())
return 0;
- return m_scrollY;
+ return d->scrollY;
}
void QNativeAndroidScrollView::setScrollY(int y)
@@ -81,8 +93,9 @@ void QNativeAndroidScrollView::setScrollY(int y)
bool QNativeAndroidScrollView::updateScrollY(int y)
{
- if (m_scrollY.isNull() || m_scrollY != y) {
- m_scrollY = y;
+ Q_D(QNativeAndroidScrollView);
+ if (d->scrollY.isNull() || d->scrollY != y) {
+ d->scrollY = y;
emit scrollYChanged();
}
return false;
diff --git a/src/android/widget/qnativeandroidscrollview_p.h b/src/android/widget/qnativeandroidscrollview_p.h
index 97bc668..d038bb6 100644
--- a/src/android/widget/qnativeandroidscrollview_p.h
+++ b/src/android/widget/qnativeandroidscrollview_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidScrollViewPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidScrollView : public QNativeAndroidFrameLayout
{
Q_OBJECT
@@ -83,8 +85,8 @@ private Q_SLOTS:
bool updateScrollY(int y);
private:
- QNativeAndroidOptional<int> m_scrollX;
- QNativeAndroidOptional<int> m_scrollY;
+ Q_DISABLE_COPY(QNativeAndroidScrollView)
+ Q_DECLARE_PRIVATE(QNativeAndroidScrollView)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidsearchview.cpp b/src/android/widget/qnativeandroidsearchview.cpp
index 279d1d5..abb93ed 100644
--- a/src/android/widget/qnativeandroidsearchview.cpp
+++ b/src/android/widget/qnativeandroidsearchview.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidSearchView::QNativeAndroidSearchView(QNativeAndroidContext *context) :
- QNativeAndroidLinearLayout(context)
+QNativeAndroidSearchView::QNativeAndroidSearchView(QNativeAndroidContext *context)
+ : QNativeAndroidLinearLayout(context)
{
}
diff --git a/src/android/widget/qnativeandroidseekbar.cpp b/src/android/widget/qnativeandroidseekbar.cpp
index 4c3c7c1..78c5f43 100644
--- a/src/android/widget/qnativeandroidseekbar.cpp
+++ b/src/android/widget/qnativeandroidseekbar.cpp
@@ -35,11 +35,18 @@
****************************************************************************/
#include "qnativeandroidseekbar_p.h"
+#include "qnativeandroidabsseekbar_p_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidSeekBar::QNativeAndroidSeekBar(QNativeAndroidContext *context) :
- QNativeAndroidAbsSeekBar(context)
+class QNativeAndroidSeekBarPrivate : public QNativeAndroidAbsSeekBarPrivate
+{
+public:
+ QAndroidJniObject listener;
+};
+
+QNativeAndroidSeekBar::QNativeAndroidSeekBar(QNativeAndroidContext *context)
+ : QNativeAndroidAbsSeekBar(*(new QNativeAndroidSeekBarPrivate), context)
{
}
@@ -52,16 +59,17 @@ QAndroidJniObject QNativeAndroidSeekBar::onCreate()
void QNativeAndroidSeekBar::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidSeekBar);
QNativeAndroidAbsSeekBar::onInflate(instance);
- m_listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeSeekBarListener",
+ d->listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeSeekBarListener",
"(Landroid/widget/SeekBar;J)V",
instance.object(),
reinterpret_cast<jlong>(this));
static bool nativeMethodsRegistered = false;
if (!nativeMethodsRegistered) {
- onRegisterNativeMethods(m_listener.object());
+ onRegisterNativeMethods(d->listener.object());
nativeMethodsRegistered = true;
}
}
diff --git a/src/android/widget/qnativeandroidseekbar_p.h b/src/android/widget/qnativeandroidseekbar_p.h
index a54eaf0..1cfe021 100644
--- a/src/android/widget/qnativeandroidseekbar_p.h
+++ b/src/android/widget/qnativeandroidseekbar_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidSeekBarPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidSeekBar : public QNativeAndroidAbsSeekBar
{
Q_OBJECT
@@ -67,7 +69,8 @@ protected:
static void onProgressChanged(JNIEnv *env, jobject object, jlong instance, jint progress, jboolean fromUser);
private:
- QAndroidJniObject m_listener;
+ Q_DISABLE_COPY(QNativeAndroidSeekBar)
+ Q_DECLARE_PRIVATE(QNativeAndroidSeekBar)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidspace.cpp b/src/android/widget/qnativeandroidspace.cpp
index d8840b7..7e11e57 100644
--- a/src/android/widget/qnativeandroidspace.cpp
+++ b/src/android/widget/qnativeandroidspace.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidSpace::QNativeAndroidSpace(QNativeAndroidContext *context) :
- QNativeAndroidView(context)
+QNativeAndroidSpace::QNativeAndroidSpace(QNativeAndroidContext *context)
+ : QNativeAndroidView(context)
{
}
diff --git a/src/android/widget/qnativeandroidspinner.cpp b/src/android/widget/qnativeandroidspinner.cpp
index a4881b6..b8acd8c 100644
--- a/src/android/widget/qnativeandroidspinner.cpp
+++ b/src/android/widget/qnativeandroidspinner.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidSpinner::QNativeAndroidSpinner(QNativeAndroidContext *context) :
- QNativeAndroidAdapterView(context)
+QNativeAndroidSpinner::QNativeAndroidSpinner(QNativeAndroidContext *context)
+ : QNativeAndroidAdapterView(context)
{
}
diff --git a/src/android/widget/qnativeandroidswitch.cpp b/src/android/widget/qnativeandroidswitch.cpp
index 5e2479e..133a9ca 100644
--- a/src/android/widget/qnativeandroidswitch.cpp
+++ b/src/android/widget/qnativeandroidswitch.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidSwitch::QNativeAndroidSwitch(QNativeAndroidContext *context) :
- QNativeAndroidCompoundButton(context)
+QNativeAndroidSwitch::QNativeAndroidSwitch(QNativeAndroidContext *context)
+ : QNativeAndroidCompoundButton(context)
{
}
diff --git a/src/android/widget/qnativeandroidtabhost.cpp b/src/android/widget/qnativeandroidtabhost.cpp
index 8b62c3e..2f8702b 100644
--- a/src/android/widget/qnativeandroidtabhost.cpp
+++ b/src/android/widget/qnativeandroidtabhost.cpp
@@ -35,12 +35,19 @@
****************************************************************************/
#include "qnativeandroidtabhost_p.h"
+#include "qnativeandroidframelayout_p_p.h"
#include "qnativeandroidtabspec_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidTabHost::QNativeAndroidTabHost(QNativeAndroidContext *context) :
- QNativeAndroidFrameLayout(context)
+class QNativeAndroidTabHostPrivate : public QNativeAndroidFrameLayoutPrivate
+{
+public:
+ QAndroidJniObject listener;
+};
+
+QNativeAndroidTabHost::QNativeAndroidTabHost(QNativeAndroidContext *context)
+ : QNativeAndroidFrameLayout(*(new QNativeAndroidTabHostPrivate), context)
{
}
@@ -53,16 +60,17 @@ QAndroidJniObject QNativeAndroidTabHost::onCreate()
void QNativeAndroidTabHost::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidTabHost);
QNativeAndroidFrameLayout::onInflate(instance);
- m_listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeTabHostListener",
+ d->listener = QAndroidJniObject("org/qtproject/qt5/android/bindings/widget/QtNativeTabHostListener",
"(Landroid/widget/TabHost;J)V",
instance.object(),
reinterpret_cast<jlong>(this));
static bool nativeMethodsRegistered = false;
if (!nativeMethodsRegistered) {
- onRegisterNativeMethods(m_listener.object());
+ onRegisterNativeMethods(d->listener.object());
nativeMethodsRegistered = true;
}
diff --git a/src/android/widget/qnativeandroidtabhost_p.h b/src/android/widget/qnativeandroidtabhost_p.h
index ee98dbe..5b7295d 100644
--- a/src/android/widget/qnativeandroidtabhost_p.h
+++ b/src/android/widget/qnativeandroidtabhost_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidTabHostPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidTabHost : public QNativeAndroidFrameLayout
{
Q_OBJECT
@@ -70,7 +72,8 @@ protected:
static void onTabChanged(JNIEnv *env, jobject object, jlong instance, jstring tabId);
private:
- QAndroidJniObject m_listener;
+ Q_DISABLE_COPY(QNativeAndroidTabHost)
+ Q_DECLARE_PRIVATE(QNativeAndroidTabHost)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidtabspec.cpp b/src/android/widget/qnativeandroidtabspec.cpp
index bef07be..05756b1 100644
--- a/src/android/widget/qnativeandroidtabspec.cpp
+++ b/src/android/widget/qnativeandroidtabspec.cpp
@@ -39,11 +39,18 @@
#include "qnativeandroidview_p.h"
#include "qtnativeandroidfunctions_p.h"
#include <QtAndroidExtras/qandroidjniobject.h>
+#include <QtCore/private/qobject_p.h>
QT_BEGIN_NAMESPACE
-QNativeAndroidTabSpec::QNativeAndroidTabSpec(QNativeAndroidView *view) :
- QObject(view)
+class QNativeAndroidTabSpecPrivate : public QObjectPrivate
+{
+public:
+ QString label;
+};
+
+QNativeAndroidTabSpec::QNativeAndroidTabSpec(QNativeAndroidView *view)
+ : QObject(*(new QNativeAndroidTabSpecPrivate), view)
{
QNativeAndroidView *parent = qobject_cast<QNativeAndroidView *>(view->parent());
if (parent)
@@ -60,13 +67,15 @@ QNativeAndroidTabSpec *QNativeAndroidTabSpec::qmlAttachedProperties(QObject *obj
QString QNativeAndroidTabSpec::label() const
{
- return m_label;
+ Q_D(const QNativeAndroidTabSpec);
+ return d->label;
}
void QNativeAndroidTabSpec::setLabel(const QString &label)
{
- if (m_label != label) {
- m_label = label;
+ Q_D(QNativeAndroidTabSpec);
+ if (d->label != label) {
+ d->label = label;
// TODO: invalidate
emit labelChanged();
}
@@ -74,6 +83,7 @@ void QNativeAndroidTabSpec::setLabel(const QString &label)
void QNativeAndroidTabSpec::setup(QAndroidJniObject &host, int index)
{
+ Q_D(QNativeAndroidTabSpec);
int id = -1;
QNativeAndroidView *content = qobject_cast<QNativeAndroidView *>(parent());
if (content)
@@ -86,7 +96,7 @@ void QNativeAndroidTabSpec::setup(QAndroidJniObject &host, int index)
spec.callObjectMethod("setIndicator",
"(Ljava/lang/CharSequence;)Landroid/widget/TabHost$TabSpec;",
- QAndroidJniObject::fromString(m_label).object());
+ QAndroidJniObject::fromString(d->label).object());
if (id != -1) {
spec.callObjectMethod("setContent",
diff --git a/src/android/widget/qnativeandroidtabspec_p.h b/src/android/widget/qnativeandroidtabspec_p.h
index fdaebf1..dafeada 100644
--- a/src/android/widget/qnativeandroidtabspec_p.h
+++ b/src/android/widget/qnativeandroidtabspec_p.h
@@ -51,13 +51,14 @@
#include <QtNativeAndroid/private/qtnativeandroidglobal_p.h>
#include <QtCore/qobject.h>
-#include <QtAndroidExtras/qandroidjniobject.h>
#include <QtQml/qqml.h>
QT_BEGIN_NAMESPACE
+class QAndroidJniObject;
class QNativeAndroidView;
class QNativeAndroidTabHost;
+class QNativeAndroidTabSpecPrivate;
class Q_NATIVEANDROID_EXPORT QNativeAndroidTabSpec : public QObject
{
@@ -78,7 +79,8 @@ Q_SIGNALS:
void labelChanged();
private:
- QString m_label;
+ Q_DISABLE_COPY(QNativeAndroidTabSpec)
+ Q_DECLARE_PRIVATE(QNativeAndroidTabSpec)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidtabwidget.cpp b/src/android/widget/qnativeandroidtabwidget.cpp
index 86440a7..7579390 100644
--- a/src/android/widget/qnativeandroidtabwidget.cpp
+++ b/src/android/widget/qnativeandroidtabwidget.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidTabWidget::QNativeAndroidTabWidget(QNativeAndroidContext *context) :
- QNativeAndroidLinearLayout(context)
+QNativeAndroidTabWidget::QNativeAndroidTabWidget(QNativeAndroidContext *context)
+ : QNativeAndroidLinearLayout(context)
{
setIdentifier(16908307); // TODO: android.R.id.tabs
}
diff --git a/src/android/widget/qnativeandroidtextview.cpp b/src/android/widget/qnativeandroidtextview.cpp
index 0805571..a4a0d37 100644
--- a/src/android/widget/qnativeandroidtextview.cpp
+++ b/src/android/widget/qnativeandroidtextview.cpp
@@ -35,25 +35,33 @@
****************************************************************************/
#include "qnativeandroidtextview_p.h"
+#include "qnativeandroidtextview_p_p.h"
#include "qtnativeandroidfunctions_p.h"
#include "qnativeandroidcolor_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidTextView::QNativeAndroidTextView(QNativeAndroidContext *context) :
- QNativeAndroidView(context), m_singleLine(false)
+QNativeAndroidTextView::QNativeAndroidTextView(QNativeAndroidContext *context)
+ : QNativeAndroidView(*(new QNativeAndroidTextViewPrivate), context)
+{
+}
+
+QNativeAndroidTextView::QNativeAndroidTextView(QNativeAndroidTextViewPrivate &dd, QNativeAndroidContext *context)
+ : QNativeAndroidView(dd, context)
{
}
QString QNativeAndroidTextView::text() const
{
- return m_text;
+ Q_D(const QNativeAndroidTextView);
+ return d->text;
}
void QNativeAndroidTextView::setText(const QString &text)
{
- if (m_text != text) {
- m_text = text;
+ Q_D(QNativeAndroidTextView);
+ if (d->text != text) {
+ d->text = text;
QtNativeAndroid::callTextMethod(instance(), "setText", text);
emit textChanged();
}
@@ -61,15 +69,17 @@ void QNativeAndroidTextView::setText(const QString &text)
int QNativeAndroidTextView::textColor() const
{
- if (m_textColor.isNull())
+ Q_D(const QNativeAndroidTextView);
+ if (d->textColor.isNull())
return QNativeAndroidColor::BLACK; // TODO
- return m_textColor;
+ return d->textColor;
}
void QNativeAndroidTextView::setTextColor(int color)
{
+ Q_D(QNativeAndroidTextView);
if (color != textColor()) {
- m_textColor = color;
+ d->textColor = color;
QtNativeAndroid::callIntMethod(instance(), "setTextColor", color);
emit textColorChanged();
}
@@ -77,15 +87,17 @@ void QNativeAndroidTextView::setTextColor(int color)
qreal QNativeAndroidTextView::textSize() const
{
- if (m_textSize.isNull())
+ Q_D(const QNativeAndroidTextView);
+ if (d->textSize.isNull())
return -1;
- return m_textSize;
+ return d->textSize;
}
void QNativeAndroidTextView::setTextSize(qreal size)
{
+ Q_D(QNativeAndroidTextView);
if (size != textSize()) {
- m_textSize = size;
+ d->textSize = size;
QtNativeAndroid::callRealMethod(instance(), "setTextSize", size);
emit textSizeChanged();
}
@@ -93,13 +105,15 @@ void QNativeAndroidTextView::setTextSize(qreal size)
QString QNativeAndroidTextView::hint() const
{
- return m_hint;
+ Q_D(const QNativeAndroidTextView);
+ return d->hint;
}
void QNativeAndroidTextView::setHint(const QString &hint)
{
- if (m_hint != hint) {
- m_hint = hint;
+ Q_D(QNativeAndroidTextView);
+ if (d->hint != hint) {
+ d->hint = hint;
QtNativeAndroid::callTextMethod(instance(), "setHint", hint);
emit hintChanged();
}
@@ -107,13 +121,15 @@ void QNativeAndroidTextView::setHint(const QString &hint)
bool QNativeAndroidTextView::isSingleLine() const
{
- return m_singleLine;
+ Q_D(const QNativeAndroidTextView);
+ return d->singleLine;
}
void QNativeAndroidTextView::setSingleLine(bool singleLine)
{
- if (m_singleLine != singleLine) {
- m_singleLine = singleLine;
+ Q_D(QNativeAndroidTextView);
+ if (d->singleLine != singleLine) {
+ d->singleLine = singleLine;
QtNativeAndroid::callBoolMethod(instance(), "setSingleLine", singleLine);
emit singleLineChanged();
}
@@ -121,15 +137,17 @@ void QNativeAndroidTextView::setSingleLine(bool singleLine)
int QNativeAndroidTextView::inputType() const
{
- if (m_inputType.isNull())
+ Q_D(const QNativeAndroidTextView);
+ if (d->inputType.isNull())
return 0; // TODO
- return m_inputType;
+ return d->inputType;
}
void QNativeAndroidTextView::setInputType(int type)
{
- if (m_inputType.isNull() || m_inputType != type) {
- m_inputType = type;
+ Q_D(QNativeAndroidTextView);
+ if (d->inputType.isNull() || d->inputType != type) {
+ d->inputType = type;
QtNativeAndroid::callIntMethod(instance(), "setInputType", type);
emit inputTypeChanged();
}
@@ -144,20 +162,21 @@ QAndroidJniObject QNativeAndroidTextView::onCreate()
void QNativeAndroidTextView::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidTextView);
QNativeAndroidView::onInflate(instance);
- if (!m_text.isNull())
- instance.callMethod<void>("setText", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(m_text).object());
- if (!m_textColor.isNull())
- instance.callMethod<void>("setTextColor", "(I)V", m_textColor);
- if (!m_textSize.isNull())
- instance.callMethod<void>("setTextSize", "(F)V", m_textSize);
- if (!m_hint.isNull())
- instance.callMethod<void>("setHint", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(m_hint).object());
- if (m_singleLine)
+ if (!d->text.isNull())
+ instance.callMethod<void>("setText", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(d->text).object());
+ if (!d->textColor.isNull())
+ instance.callMethod<void>("setTextColor", "(I)V", d->textColor);
+ if (!d->textSize.isNull())
+ instance.callMethod<void>("setTextSize", "(F)V", d->textSize);
+ if (!d->hint.isNull())
+ instance.callMethod<void>("setHint", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(d->hint).object());
+ if (d->singleLine)
instance.callMethod<void>("setSingleLine");
- if (!m_inputType.isNull())
- instance.callMethod<void>("setInputType", "(I)V", m_inputType);
+ if (!d->inputType.isNull())
+ instance.callMethod<void>("setInputType", "(I)V", d->inputType);
}
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidtextview_p.h b/src/android/widget/qnativeandroidtextview_p.h
index c5089a5..01602b0 100644
--- a/src/android/widget/qnativeandroidtextview_p.h
+++ b/src/android/widget/qnativeandroidtextview_p.h
@@ -49,11 +49,12 @@
//
#include <QtNativeAndroid/private/qnativeandroidview_p.h>
-#include <QtNativeAndroid/private/qnativeandroidoptional_p.h>
#include <QtGui/qcolor.h>
QT_BEGIN_NAMESPACE
+class QNativeAndroidTextViewPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidTextView : public QNativeAndroidView
{
Q_OBJECT
@@ -94,16 +95,14 @@ Q_SIGNALS:
void inputTypeChanged();
protected:
+ QNativeAndroidTextView(QNativeAndroidTextViewPrivate &dd, QNativeAndroidContext *context = nullptr);
+
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
private:
- QString m_text;
- QString m_hint;
- QNativeAndroidOptional<int> m_textColor;
- QNativeAndroidOptional<qreal> m_textSize;
- bool m_singleLine;
- QNativeAndroidOptional<int> m_inputType;
+ Q_DISABLE_COPY(QNativeAndroidTextView)
+ Q_DECLARE_PRIVATE(QNativeAndroidTextView)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidtextview_p_p.h b/src/android/widget/qnativeandroidtextview_p_p.h
new file mode 100644
index 0000000..5bbf85c
--- /dev/null
+++ b/src/android/widget/qnativeandroidtextview_p_p.h
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt QML Android module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** 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 QNATIVEANDROIDTEXTVIEW_P_P_H
+#define QNATIVEANDROIDTEXTVIEW_P_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtNativeAndroid/private/qnativeandroidview_p_p.h>
+#include <QtNativeAndroid/private/qnativeandroidoptional_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QNativeAndroidTextViewPrivate : public QNativeAndroidViewPrivate
+{
+public:
+ QString text;
+ QString hint;
+ QNativeAndroidOptional<int> textColor;
+ QNativeAndroidOptional<qreal> textSize;
+ bool singleLine = false;
+ QNativeAndroidOptional<int> inputType;
+};
+
+QT_END_NAMESPACE
+
+#endif // QNATIVEANDROIDTEXTVIEW_P_P_H
diff --git a/src/android/widget/qnativeandroidtimepicker.cpp b/src/android/widget/qnativeandroidtimepicker.cpp
index 8701f0c..3133ef4 100644
--- a/src/android/widget/qnativeandroidtimepicker.cpp
+++ b/src/android/widget/qnativeandroidtimepicker.cpp
@@ -35,11 +35,17 @@
****************************************************************************/
#include "qnativeandroidtimepicker_p.h"
+#include "qnativeandroidframelayout_p_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidTimePicker::QNativeAndroidTimePicker(QNativeAndroidContext *context) :
- QNativeAndroidFrameLayout(context)
+class QNativeAndroidTimePickerPrivate : public QNativeAndroidFrameLayoutPrivate
+{
+public:
+};
+
+QNativeAndroidTimePicker::QNativeAndroidTimePicker(QNativeAndroidContext *context)
+ : QNativeAndroidFrameLayout(*(new QNativeAndroidTimePickerPrivate), context)
{
}
diff --git a/src/android/widget/qnativeandroidtimepicker_p.h b/src/android/widget/qnativeandroidtimepicker_p.h
index 10798a7..983692d 100644
--- a/src/android/widget/qnativeandroidtimepicker_p.h
+++ b/src/android/widget/qnativeandroidtimepicker_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidTimePickerPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidTimePicker : public QNativeAndroidFrameLayout
{
Q_OBJECT
@@ -62,6 +64,10 @@ public:
protected:
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
+
+private:
+ Q_DISABLE_COPY(QNativeAndroidTimePicker)
+ Q_DECLARE_PRIVATE(QNativeAndroidTimePicker)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidtoast.cpp b/src/android/widget/qnativeandroidtoast.cpp
index 2c743dd..5750832 100644
--- a/src/android/widget/qnativeandroidtoast.cpp
+++ b/src/android/widget/qnativeandroidtoast.cpp
@@ -35,47 +35,61 @@
****************************************************************************/
#include "qnativeandroidtoast_p.h"
+#include "qnativeandroidobject_p_p.h"
#include "qtnativeandroidfunctions_p.h"
+#include "qnativeandroidoptional_p.h"
#include "qnativeandroidview_p.h"
#include <QtCore/qdebug.h>
QT_BEGIN_NAMESPACE
-QNativeAndroidToast::QNativeAndroidToast(QObject *parent) :
- QNativeAndroidObject(parent)
+class QNativeAndroidToastPrivate : public QNativeAndroidObjectPrivate
+{
+public:
+ QString text;
+ QNativeAndroidOptional<int> gravity;
+};
+
+QNativeAndroidToast::QNativeAndroidToast(QObject *parent)
+ : QNativeAndroidObject(*(new QNativeAndroidToastPrivate), parent)
{
}
QString QNativeAndroidToast::text() const
{
- return m_text;
+ Q_D(const QNativeAndroidToast);
+ return d->text;
}
void QNativeAndroidToast::setText(const QString &text)
{
- if (m_text != text) {
- m_text = text;
+ Q_D(QNativeAndroidToast);
+ if (d->text != text) {
+ d->text = text;
emit textChanged();
}
}
int QNativeAndroidToast::gravity() const
{
- if (m_gravity.isNull())
+ Q_D(const QNativeAndroidToast);
+ if (d->gravity.isNull())
return 0; // TODO
- return m_gravity;
+ return d->gravity;
}
void QNativeAndroidToast::setGravity(int value)
{
+ Q_D(QNativeAndroidToast);
if (value != gravity()) {
- m_gravity = value;
+ d->gravity = value;
emit gravityChanged();
}
}
void QNativeAndroidToast::show()
{
+ Q_D(QNativeAndroidToast);
QNativeAndroidView *view = qobject_cast<QNativeAndroidView *>(parent());
if (!view) {
qWarning() << "Toast must be in a view.";
@@ -90,12 +104,12 @@ void QNativeAndroidToast::show()
QtNativeAndroid::callFunction([=]() {
QAndroidJniObject toast;
- if (!m_text.isNull()) {
+ if (!d->text.isNull()) {
toast = QAndroidJniObject::callStaticObjectMethod("android/widget/Toast",
"makeText",
"(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;",
ctx.object(),
- QAndroidJniObject::fromString(m_text).object(),
+ QAndroidJniObject::fromString(d->text).object(),
0); // TODO: LENGTH_SHORT (0), LENGTH_LONG (1)
} else {
toast = QAndroidJniObject("android/widget/Toast",
@@ -104,8 +118,8 @@ void QNativeAndroidToast::show()
}
inflate(toast);
- if (!m_gravity.isNull())
- toast.callMethod<void>("setGravity", "(I)V", m_gravity);
+ if (!d->gravity.isNull())
+ toast.callMethod<void>("setGravity", "(I)V", d->gravity);
toast.callMethod<void>("show");
});
diff --git a/src/android/widget/qnativeandroidtoast_p.h b/src/android/widget/qnativeandroidtoast_p.h
index c9037cf..d9f57a9 100644
--- a/src/android/widget/qnativeandroidtoast_p.h
+++ b/src/android/widget/qnativeandroidtoast_p.h
@@ -49,11 +49,11 @@
//
#include <QtNativeAndroid/private/qnativeandroidobject_p.h>
-#include <QtNativeAndroid/private/qnativeandroidoptional_p.h>
QT_BEGIN_NAMESPACE
class QNativeAndroidView;
+class QNativeAndroidToastPrivate;
class Q_NATIVEANDROID_EXPORT QNativeAndroidToast : public QNativeAndroidObject
{
@@ -79,8 +79,8 @@ Q_SIGNALS:
void gravityChanged();
private:
- QString m_text;
- QNativeAndroidOptional<int> m_gravity;
+ Q_DISABLE_COPY(QNativeAndroidToast)
+ Q_DECLARE_PRIVATE(QNativeAndroidToast)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidtogglebutton.cpp b/src/android/widget/qnativeandroidtogglebutton.cpp
index b39d29d..f71b253 100644
--- a/src/android/widget/qnativeandroidtogglebutton.cpp
+++ b/src/android/widget/qnativeandroidtogglebutton.cpp
@@ -35,24 +35,34 @@
****************************************************************************/
#include "qnativeandroidtogglebutton_p.h"
+#include "qnativeandroidcompoundbutton_p_p.h"
#include "qtnativeandroidfunctions_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidToggleButton::QNativeAndroidToggleButton(QNativeAndroidContext *context) :
- QNativeAndroidCompoundButton(context)
+class QNativeAndroidToggleButtonPrivate : public QNativeAndroidCompoundButtonPrivate
+{
+public:
+ QString textOn;
+ QString textOff;
+};
+
+QNativeAndroidToggleButton::QNativeAndroidToggleButton(QNativeAndroidContext *context)
+ : QNativeAndroidCompoundButton(*(new QNativeAndroidToggleButtonPrivate), context)
{
}
QString QNativeAndroidToggleButton::textOn() const
{
- return m_textOn;
+ Q_D(const QNativeAndroidToggleButton);
+ return d->textOn;
}
void QNativeAndroidToggleButton::setTextOn(const QString &text)
{
- if (m_textOn != text) {
- m_textOn = text;
+ Q_D(QNativeAndroidToggleButton);
+ if (d->textOn != text) {
+ d->textOn = text;
QtNativeAndroid::callTextMethod(instance(), "setTextOn", text);
emit textOnChanged();
}
@@ -60,13 +70,15 @@ void QNativeAndroidToggleButton::setTextOn(const QString &text)
QString QNativeAndroidToggleButton::textOff() const
{
- return m_textOff;
+ Q_D(const QNativeAndroidToggleButton);
+ return d->textOff;
}
void QNativeAndroidToggleButton::setTextOff(const QString &text)
{
- if (m_textOff != text) {
- m_textOff = text;
+ Q_D(QNativeAndroidToggleButton);
+ if (d->textOff != text) {
+ d->textOff = text;
QtNativeAndroid::callTextMethod(instance(), "setTextOff", text);
emit textOffChanged();
}
@@ -81,12 +93,13 @@ QAndroidJniObject QNativeAndroidToggleButton::onCreate()
void QNativeAndroidToggleButton::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidToggleButton);
QNativeAndroidCompoundButton::onInflate(instance);
- if (!m_textOn.isNull())
- instance.callMethod<void>("setTextOn", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(m_textOn).object());
- if (!m_textOff.isNull())
- instance.callMethod<void>("setTextOff", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(m_textOff).object());
+ if (!d->textOn.isNull())
+ instance.callMethod<void>("setTextOn", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(d->textOn).object());
+ if (!d->textOff.isNull())
+ instance.callMethod<void>("setTextOff", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(d->textOff).object());
}
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidtogglebutton_p.h b/src/android/widget/qnativeandroidtogglebutton_p.h
index ad91ccd..8f8fd33 100644
--- a/src/android/widget/qnativeandroidtogglebutton_p.h
+++ b/src/android/widget/qnativeandroidtogglebutton_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidToggleButtonPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidToggleButton : public QNativeAndroidCompoundButton
{
Q_OBJECT
@@ -76,8 +78,8 @@ protected:
void onInflate(QAndroidJniObject &instance) override;
private:
- QString m_textOn;
- QString m_textOff;
+ Q_DISABLE_COPY(QNativeAndroidToggleButton)
+ Q_DECLARE_PRIVATE(QNativeAndroidToggleButton)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidviewanimator.cpp b/src/android/widget/qnativeandroidviewanimator.cpp
index d42701c..3e2066d 100644
--- a/src/android/widget/qnativeandroidviewanimator.cpp
+++ b/src/android/widget/qnativeandroidviewanimator.cpp
@@ -35,26 +35,29 @@
****************************************************************************/
#include "qnativeandroidviewanimator_p.h"
+#include "qnativeandroidviewanimator_p_p.h"
#include "qtnativeandroidfunctions_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidViewAnimator::QNativeAndroidViewAnimator(QNativeAndroidContext *context) :
- QNativeAndroidFrameLayout(context)
+QNativeAndroidViewAnimator::QNativeAndroidViewAnimator(QNativeAndroidContext *context)
+ : QNativeAndroidFrameLayout(*(new QNativeAndroidViewAnimatorPrivate), context)
{
}
int QNativeAndroidViewAnimator::displayedChild() const
{
- if (m_displayedChild.isNull())
+ Q_D(const QNativeAndroidViewAnimator);
+ if (d->displayedChild.isNull())
return 0;
- return m_displayedChild;
+ return d->displayedChild;
}
void QNativeAndroidViewAnimator::setDisplayedChild(int child)
{
+ Q_D(QNativeAndroidViewAnimator);
if (child != displayedChild()) {
- m_displayedChild = child;
+ d->displayedChild = child;
QtNativeAndroid::callIntMethod(instance(), "setDisplayedChild", child);
emit displayedChildChanged();
}
@@ -62,15 +65,17 @@ void QNativeAndroidViewAnimator::setDisplayedChild(int child)
int QNativeAndroidViewAnimator::inAnimation() const
{
- if (m_inAnimation.isNull())
+ Q_D(const QNativeAndroidViewAnimator);
+ if (d->inAnimation.isNull())
return -1;
- return m_inAnimation;
+ return d->inAnimation;
}
void QNativeAndroidViewAnimator::setInAnimation(int animation)
{
+ Q_D(QNativeAndroidViewAnimator);
if (animation != inAnimation()) {
- m_inAnimation = animation;
+ d->inAnimation = animation;
if (instance().isValid()) {
QtNativeAndroid::callFunction([=]() {
instance().callMethod<void>("setInAnimation", "(Landroid/content/Context;I)V", ctx().object(), animation);
@@ -83,15 +88,17 @@ void QNativeAndroidViewAnimator::setInAnimation(int animation)
int QNativeAndroidViewAnimator::outAnimation() const
{
- if (m_outAnimation.isNull())
+ Q_D(const QNativeAndroidViewAnimator);
+ if (d->outAnimation.isNull())
return -1;
- return m_outAnimation;
+ return d->outAnimation;
}
void QNativeAndroidViewAnimator::setOutAnimation(int animation)
{
+ Q_D(QNativeAndroidViewAnimator);
if (animation != outAnimation()) {
- m_outAnimation = animation;
+ d->outAnimation = animation;
if (instance().isValid()) {
QtNativeAndroid::callFunction([=]() {
instance().callMethod<void>("setOutAnimation", "(Landroid/content/Context;I)V", ctx().object(), animation);
@@ -121,14 +128,15 @@ QAndroidJniObject QNativeAndroidViewAnimator::onCreate()
void QNativeAndroidViewAnimator::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidViewAnimator);
QNativeAndroidFrameLayout::onInflate(instance);
- if (!m_displayedChild.isNull())
- instance.callMethod<void>("setDisplayedChild", "(I)V", m_displayedChild);
- if (!m_inAnimation.isNull())
- instance.callMethod<void>("setInAnimation", "(Landroid/content/Context;I)V", ctx().object(), m_inAnimation);
- if (!m_outAnimation.isNull())
- instance.callMethod<void>("setOutAnimation", "(Landroid/content/Context;I)V", ctx().object(), m_outAnimation);
+ if (!d->displayedChild.isNull())
+ instance.callMethod<void>("setDisplayedChild", "(I)V", d->displayedChild);
+ if (!d->inAnimation.isNull())
+ instance.callMethod<void>("setInAnimation", "(Landroid/content/Context;I)V", ctx().object(), d->inAnimation);
+ if (!d->outAnimation.isNull())
+ instance.callMethod<void>("setOutAnimation", "(Landroid/content/Context;I)V", ctx().object(), d->outAnimation);
}
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidviewanimator_p.h b/src/android/widget/qnativeandroidviewanimator_p.h
index 3bd250e..e7813df 100644
--- a/src/android/widget/qnativeandroidviewanimator_p.h
+++ b/src/android/widget/qnativeandroidviewanimator_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidViewAnimatorPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidViewAnimator : public QNativeAndroidFrameLayout
{
Q_OBJECT
@@ -85,9 +87,8 @@ protected:
void onInflate(QAndroidJniObject &instance) override;
private:
- QNativeAndroidOptional<int> m_displayedChild;
- QNativeAndroidOptional<int> m_inAnimation;
- QNativeAndroidOptional<int> m_outAnimation;
+ Q_DISABLE_COPY(QNativeAndroidViewAnimator)
+ Q_DECLARE_PRIVATE(QNativeAndroidViewAnimator)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidviewanimator_p_p.h b/src/android/widget/qnativeandroidviewanimator_p_p.h
new file mode 100644
index 0000000..93bea01
--- /dev/null
+++ b/src/android/widget/qnativeandroidviewanimator_p_p.h
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt QML Android module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** 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 QNATIVEANDROIDVIEWANIMATOR_P_P_H
+#define QNATIVEANDROIDVIEWANIMATOR_P_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtNativeAndroid/private/qnativeandroidframelayout_p_p.h>
+#include <QtNativeAndroid/private/qnativeandroidoptional_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QNativeAndroidViewAnimatorPrivate : public QNativeAndroidFrameLayoutPrivate
+{
+public:
+ QNativeAndroidOptional<int> displayedChild;
+ QNativeAndroidOptional<int> inAnimation;
+ QNativeAndroidOptional<int> outAnimation;
+};
+
+QT_END_NAMESPACE
+
+#endif // QNATIVEANDROIDVIEWANIMATOR_P_P_H
diff --git a/src/android/widget/qnativeandroidviewflipper.cpp b/src/android/widget/qnativeandroidviewflipper.cpp
index fa46eef..1037fcc 100644
--- a/src/android/widget/qnativeandroidviewflipper.cpp
+++ b/src/android/widget/qnativeandroidviewflipper.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidViewFlipper::QNativeAndroidViewFlipper(QNativeAndroidContext *context) :
- QNativeAndroidViewAnimator(context)
+QNativeAndroidViewFlipper::QNativeAndroidViewFlipper(QNativeAndroidContext *context)
+ : QNativeAndroidViewAnimator(context)
{
}
diff --git a/src/android/widget/qnativeandroidviewswitcher.cpp b/src/android/widget/qnativeandroidviewswitcher.cpp
index e12811a..09dc325 100644
--- a/src/android/widget/qnativeandroidviewswitcher.cpp
+++ b/src/android/widget/qnativeandroidviewswitcher.cpp
@@ -38,8 +38,8 @@
QT_BEGIN_NAMESPACE
-QNativeAndroidViewSwitcher::QNativeAndroidViewSwitcher(QNativeAndroidContext *context) :
- QNativeAndroidViewAnimator(context)
+QNativeAndroidViewSwitcher::QNativeAndroidViewSwitcher(QNativeAndroidContext *context)
+ : QNativeAndroidViewAnimator(context)
{
}
diff --git a/src/android/widget/widget.pri b/src/android/widget/widget.pri
index d19b477..661f1f6 100644
--- a/src/android/widget/widget.pri
+++ b/src/android/widget/widget.pri
@@ -2,19 +2,26 @@ INCLUDEPATH += $$PWD
HEADERS += \
$$PWD/qnativeandroidabsseekbar_p.h \
+ $$PWD/qnativeandroidabsseekbar_p_p.h \
$$PWD/qnativeandroidadapterview_p.h \
+ $$PWD/qnativeandroidadapterview_p_p.h \
$$PWD/qnativeandroidarrayadapter_p.h \
$$PWD/qnativeandroidbaseadapter_p.h \
+ $$PWD/qnativeandroidbaseadapter_p_p.h \
$$PWD/qnativeandroidbutton_p.h \
+ $$PWD/qnativeandroidbutton_p_p.h \
$$PWD/qnativeandroidcalendarview_p.h \
$$PWD/qnativeandroidcheckbox_p.h \
$$PWD/qnativeandroidcompoundbutton_p.h \
+ $$PWD/qnativeandroidcompoundbutton_p_p.h \
$$PWD/qnativeandroiddatepicker_p.h \
$$PWD/qnativeandroidedittext_p.h \
$$PWD/qnativeandroidframelayout_p.h \
+ $$PWD/qnativeandroidframelayout_p_p.h \
$$PWD/qnativeandroidframelayoutparams_p.h \
$$PWD/qnativeandroidimageview_p.h \
$$PWD/qnativeandroidlinearlayout_p.h \
+ $$PWD/qnativeandroidlinearlayout_p_p.h \
$$PWD/qnativeandroidlinearlayoutparams_p.h \
$$PWD/qnativeandroidlistview_p.h \
$$PWD/qnativeandroidmarginlayoutparams_p.h \
@@ -22,6 +29,7 @@ HEADERS += \
$$PWD/qnativeandroidnumberpicker_p.h \
$$PWD/qnativeandroidpopupmenu_p.h \
$$PWD/qnativeandroidprogressbar_p.h \
+ $$PWD/qnativeandroidprogressbar_p_p.h \
$$PWD/qnativeandroidradiobutton_p.h \
$$PWD/qnativeandroidradiogroup_p.h \
$$PWD/qnativeandroidratingbar_p.h \
@@ -37,10 +45,12 @@ HEADERS += \
$$PWD/qnativeandroidtabspec_p.h \
$$PWD/qnativeandroidtabwidget_p.h \
$$PWD/qnativeandroidtextview_p.h \
+ $$PWD/qnativeandroidtextview_p_p.h \
$$PWD/qnativeandroidtimepicker_p.h \
$$PWD/qnativeandroidtoast_p.h \
$$PWD/qnativeandroidtogglebutton_p.h \
$$PWD/qnativeandroidviewanimator_p.h \
+ $$PWD/qnativeandroidviewanimator_p_p.h \
$$PWD/qnativeandroidviewflipper_p.h \
$$PWD/qnativeandroidviewswitcher_p.h