Templatize the former extras

Change-Id: Ief9ee07d1f5f6c80500bfa611bace860481e2a3f
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
This commit is contained in:
J-P Nurmi 2015-09-23 15:23:39 +02:00
parent 8a5f6de53f
commit 8b349ca9d2
21 changed files with 65 additions and 77 deletions

View File

@ -41,6 +41,7 @@
import QtQuick 2.6
import QtQuick.Calendar 2.0
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
Item {
id: dateTimePicker
@ -85,7 +86,7 @@ Item {
delegate: TumblerDelegate {
text: modelData
font.pixelSize: fontMetrics.font.pixelSize * (AbstractTumbler.tumbler.activeFocus ? 2 : 1.25)
font.pixelSize: fontMetrics.font.pixelSize * (T.Tumbler.tumbler.activeFocus ? 2 : 1.25)
}
function updateModel() {
@ -106,7 +107,7 @@ Item {
model: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
delegate: TumblerDelegate {
text: modelData
font.pixelSize: fontMetrics.font.pixelSize * (AbstractTumbler.tumbler.activeFocus ? 2 : 1.25)
font.pixelSize: fontMetrics.font.pixelSize * (T.Tumbler.tumbler.activeFocus ? 2 : 1.25)
}
onCurrentIndexChanged: dayTumbler.updateModel()
}
@ -122,7 +123,7 @@ Item {
}
delegate: TumblerDelegate {
text: modelData
font.pixelSize: fontMetrics.font.pixelSize * (AbstractTumbler.tumbler.activeFocus ? 2 : 1.25)
font.pixelSize: fontMetrics.font.pixelSize * (T.Tumbler.tumbler.activeFocus ? 2 : 1.25)
}
}
}
@ -137,7 +138,7 @@ Item {
model: 12
delegate: TumblerDelegate {
text: modelData.toString().length < 2 ? "0" + modelData : modelData
font.pixelSize: fontMetrics.font.pixelSize * (AbstractTumbler.tumbler.activeFocus ? 2 : 1.25)
font.pixelSize: fontMetrics.font.pixelSize * (T.Tumbler.tumbler.activeFocus ? 2 : 1.25)
}
}
@ -146,7 +147,7 @@ Item {
model: 60
delegate: TumblerDelegate {
text: modelData.toString().length < 2 ? "0" + modelData : modelData
font.pixelSize: fontMetrics.font.pixelSize * (AbstractTumbler.tumbler.activeFocus ? 2 : 1.25)
font.pixelSize: fontMetrics.font.pixelSize * (T.Tumbler.tumbler.activeFocus ? 2 : 1.25)
}
}
@ -154,7 +155,7 @@ Item {
id: amPmTumbler
model: ["AM", "PM"]
delegate: TumblerDelegate {
font.pixelSize: fontMetrics.font.pixelSize * (AbstractTumbler.tumbler.activeFocus ? 2 : 1.25)
font.pixelSize: fontMetrics.font.pixelSize * (T.Tumbler.tumbler.activeFocus ? 2 : 1.25)
}
contentItem: ListView {

View File

@ -40,11 +40,12 @@
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
Text {
text: isNaN(modelData) ? modelData : modelData + 1
color: "#666666"
opacity: 0.4 + Math.max(0, 1 - Math.abs(AbstractTumbler.displacement)) * 0.6
opacity: 0.4 + Math.max(0, 1 - Math.abs(T.Tumbler.displacement)) * 0.6
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter

View File

@ -36,8 +36,9 @@
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
AbstractDial {
T.Dial {
id: control
implicitWidth: 100

View File

@ -36,8 +36,9 @@
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
AbstractDrawer {
T.Drawer {
id: control
width: parent ? parent.width : 0 // TODO: Window.width

View File

@ -36,8 +36,9 @@
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
AbstractSwipeView {
T.SwipeView {
id: control
implicitWidth: Math.max(background ? background.implicitWidth : 0,

View File

@ -36,8 +36,9 @@
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
AbstractTumbler {
T.Tumbler {
id: control
implicitWidth: 60
implicitHeight: 200
@ -47,7 +48,7 @@ AbstractTumbler {
id: label
text: modelData
color: "#666666"
opacity: 0.4 + Math.max(0, 1 - Math.abs(AbstractTumbler.displacement)) * 0.6
opacity: 0.4 + Math.max(0, 1 - Math.abs(T.Tumbler.displacement)) * 0.6
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}

View File

@ -39,20 +39,12 @@ QML_FILES = \
Tumbler.qml
HEADERS += \
$$PWD/qquickdial_p.h \
$$PWD/qquickdrawer_p.h \
$$PWD/qquickswipeview_p.h \
$$PWD/qquicktheme_p.h \
$$PWD/qquickthemedata_p.h \
$$PWD/qquicktumbler_p.h
$$PWD/qquicktheme_p.h
SOURCES += \
$$PWD/qquickdial.cpp \
$$PWD/qquickdrawer.cpp \
$$PWD/qquickswipeview.cpp \
$$PWD/qquicktheme.cpp \
$$PWD/qquickthemedata.cpp \
$$PWD/qquicktumbler.cpp \
$$PWD/qtquickcontrols2plugin.cpp
RESOURCES += \

View File

@ -38,32 +38,7 @@
#include <QtCore/qdir.h>
#include <QtQuickTemplates/private/qquickexclusivegroup_p.h>
#include <QtQuickTemplates/private/qquickapplicationwindow_p.h>
#include <QtQuickTemplates/private/qquickbusyindicator_p.h>
#include <QtQuickTemplates/private/qquickbutton_p.h>
#include <QtQuickTemplates/private/qquickcheckbox_p.h>
#include <QtQuickTemplates/private/qquickframe_p.h>
#include <QtQuickTemplates/private/qquickgroupbox_p.h>
#include <QtQuickTemplates/private/qquicklabel_p.h>
#include <QtQuickTemplates/private/qquickpageindicator_p.h>
#include <QtQuickTemplates/private/qquickprogressbar_p.h>
#include <QtQuickTemplates/private/qquickradiobutton_p.h>
#include <QtQuickTemplates/private/qquickscrollbar_p.h>
#include <QtQuickTemplates/private/qquickscrollindicator_p.h>
#include <QtQuickTemplates/private/qquickslider_p.h>
#include <QtQuickTemplates/private/qquickstackview_p.h>
#include <QtQuickTemplates/private/qquickswitch_p.h>
#include <QtQuickTemplates/private/qquicktabbar_p.h>
#include <QtQuickTemplates/private/qquicktabbutton_p.h>
#include <QtQuickTemplates/private/qquicktextarea_p.h>
#include <QtQuickTemplates/private/qquicktextfield_p.h>
#include <QtQuickTemplates/private/qquicktogglebutton_p.h>
#include <QtQuickTemplates/private/qquicktoolbar_p.h>
#include <QtQuickTemplates/private/qquicktoolbutton_p.h>
#include "qquickdial_p.h"
#include "qquickdrawer_p.h"
#include "qquickswipeview_p.h"
#include "qquicktumbler_p.h"
#include "qquicktheme_p.h"
void initResources()
@ -87,14 +62,8 @@ void QtQuickControls2Plugin::registerTypes(const char *uri)
{
qmlRegisterUncreatableType<QQuickThemeAttached>(uri, 2, 0, "Theme", "Theme is an attached property");
qmlRegisterType<QQuickDial>(uri, 2, 0, "AbstractDial");
qmlRegisterType<QQuickDrawer>(uri, 2, 0, "AbstractDrawer");
qmlRegisterType<QQuickExclusiveGroup>(uri, 2, 0, "ExclusiveGroup");
qmlRegisterType<QQuickExclusiveGroupAttached>();
qmlRegisterType<QQuickSwipeView>(uri, 2, 0, "AbstractSwipeView");
qmlRegisterType<QQuickSwipeViewAttached>();
qmlRegisterType<QQuickTumbler>(uri, 2, 0, "AbstractTumbler");
qmlRegisterType<QQuickTumblerAttached>();
QDir baseDir(baseUrl().toLocalFile());
qmlRegisterType(QUrl::fromLocalFile(baseDir.filePath(QStringLiteral("ApplicationWindow.qml"))), uri, 2, 0, "ApplicationWindow");

View File

@ -42,6 +42,8 @@
#include <QtQuickTemplates/private/qquickcheckbox_p.h>
#include <QtQuickTemplates/private/qquickcontrol_p.h>
#include <QtQuickTemplates/private/qquickcontainer_p.h>
#include <QtQuickTemplates/private/qquickdial_p.h>
#include <QtQuickTemplates/private/qquickdrawer_p.h>
#include <QtQuickTemplates/private/qquickframe_p.h>
#include <QtQuickTemplates/private/qquickgroupbox_p.h>
#include <QtQuickTemplates/private/qquicklabel_p.h>
@ -52,6 +54,7 @@
#include <QtQuickTemplates/private/qquickscrollindicator_p.h>
#include <QtQuickTemplates/private/qquickslider_p.h>
#include <QtQuickTemplates/private/qquickstackview_p.h>
#include <QtQuickTemplates/private/qquickswipeview_p.h>
#include <QtQuickTemplates/private/qquickswitch_p.h>
#include <QtQuickTemplates/private/qquicktabbar_p.h>
#include <QtQuickTemplates/private/qquicktabbutton_p.h>
@ -60,6 +63,7 @@
#include <QtQuickTemplates/private/qquicktogglebutton_p.h>
#include <QtQuickTemplates/private/qquicktoolbar_p.h>
#include <QtQuickTemplates/private/qquicktoolbutton_p.h>
#include <QtQuickTemplates/private/qquicktumbler_p.h>
QT_BEGIN_NAMESPACE
@ -78,8 +82,10 @@ void QtQuickTemplates2Plugin::registerTypes(const char *uri)
qmlRegisterType<QQuickBusyIndicator>(uri, 2, 0, "BusyIndicator");
qmlRegisterType<QQuickButton>(uri, 2, 0, "Button");
qmlRegisterType<QQuickCheckBox>(uri, 2, 0, "CheckBox");
qmlRegisterType<QQuickControl>(uri, 2, 0, "Control");
qmlRegisterType<QQuickContainer>(uri, 2, 0, "Container");
qmlRegisterType<QQuickControl>(uri, 2, 0, "Control");
qmlRegisterType<QQuickDial>(uri, 2, 0, "Dial");
qmlRegisterType<QQuickDrawer>(uri, 2, 0, "Drawer");
qmlRegisterType<QQuickFrame>(uri, 2, 0, "Frame");
qmlRegisterType<QQuickGroupBox>(uri, 2, 0, "GroupBox");
qmlRegisterType<QQuickLabel>(uri, 2, 0, "Label");
@ -90,6 +96,8 @@ void QtQuickTemplates2Plugin::registerTypes(const char *uri)
qmlRegisterType<QQuickScrollIndicator>(uri, 2, 0, "ScrollIndicator");
qmlRegisterType<QQuickSlider>(uri, 2, 0, "Slider");
qmlRegisterType<QQuickStackView>(uri, 2, 0, "StackView");
qmlRegisterType<QQuickSwipeViewAttached>();
qmlRegisterType<QQuickSwipeView>(uri, 2, 0, "SwipeView");
qmlRegisterType<QQuickSwitch>(uri, 2, 0, "Switch");
qmlRegisterType<QQuickTabBar>(uri, 2, 0, "TabBar");
qmlRegisterType<QQuickTabButton>(uri, 2, 0, "TabButton");
@ -98,6 +106,8 @@ void QtQuickTemplates2Plugin::registerTypes(const char *uri)
qmlRegisterType<QQuickToggleButton>(uri, 2, 0, "ToggleButton");
qmlRegisterType<QQuickToolBar>(uri, 2, 0, "ToolBar");
qmlRegisterType<QQuickToolButton>(uri, 2, 0, "ToolButton");
qmlRegisterType<QQuickTumblerAttached>();
qmlRegisterType<QQuickTumbler>(uri, 2, 0, "Tumbler");
qmlRegisterRevision<QQuickText, 6>(uri, 2, 0);
qmlRegisterRevision<QQuickTextInput, 6>(uri, 2, 0);

View File

@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE
class QQuickDialAttached;
class QQuickDialPrivate;
class QQuickDial : public QQuickControl
class Q_QUICKTEMPLATES_EXPORT QQuickDial : public QQuickControl
{
Q_OBJECT
Q_PROPERTY(qreal from READ from WRITE setFrom NOTIFY fromChanged FINAL)

View File

@ -55,7 +55,7 @@ QT_BEGIN_NAMESPACE
class QQuickPropertyAnimation;
class QQuickDrawerPrivate;
class QQuickDrawer : public QQuickControl
class Q_QUICKTEMPLATES_EXPORT QQuickDrawer : public QQuickControl
{
Q_OBJECT
Q_PROPERTY(Qt::Edge edge READ edge WRITE setEdge NOTIFY edgeChanged FINAL)

View File

@ -55,7 +55,7 @@ QT_BEGIN_NAMESPACE
class QQuickSwipeViewAttached;
class QQuickSwipeViewPrivate;
class QQuickSwipeView : public QQuickContainer
class Q_QUICKTEMPLATES_EXPORT QQuickSwipeView : public QQuickContainer
{
Q_OBJECT
@ -77,7 +77,7 @@ private:
class QQuickSwipeViewAttachedPrivate;
class QQuickSwipeViewAttached : public QObject
class Q_QUICKTEMPLATES_EXPORT QQuickSwipeViewAttached : public QObject
{
Q_OBJECT
Q_PROPERTY(int index READ index NOTIFY indexChanged FINAL)

View File

@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE
class QQuickTumblerAttached;
class QQuickTumblerPrivate;
class QQuickTumbler : public QQuickControl
class Q_QUICKTEMPLATES_EXPORT QQuickTumbler : public QQuickControl
{
Q_OBJECT
Q_PROPERTY(QVariant model READ model WRITE setModel NOTIFY modelChanged FINAL)
@ -114,7 +114,7 @@ Q_DECLARE_TYPEINFO(QQuickTumbler, Q_COMPLEX_TYPE);
class QQuickTumblerAttachedPrivate;
class QQuickTumblerAttached : public QObject
class Q_QUICKTEMPLATES_EXPORT QQuickTumblerAttached : public QObject
{
Q_OBJECT
Q_PROPERTY(QQuickTumbler *tumbler READ tumbler CONSTANT)

View File

@ -13,6 +13,8 @@ HEADERS += \
$$PWD/qquickcontainer_p_p.h \
$$PWD/qquickcontrol_p.h \
$$PWD/qquickcontrol_p_p.h \
$$PWD/qquickdial_p.h \
$$PWD/qquickdrawer_p.h \
$$PWD/qquickexclusivegroup_p.h \
$$PWD/qquickframe_p.h \
$$PWD/qquickframe_p_p.h \
@ -28,6 +30,7 @@ HEADERS += \
$$PWD/qquickslider_p.h \
$$PWD/qquickstackview_p.h \
$$PWD/qquickstackview_p_p.h \
$$PWD/qquickswipeview_p.h \
$$PWD/qquickswitch_p.h \
$$PWD/qquicktabbar_p.h \
$$PWD/qquicktabbutton_p.h \
@ -37,7 +40,8 @@ HEADERS += \
$$PWD/qquicktextfield_p_p.h \
$$PWD/qquicktogglebutton_p.h \
$$PWD/qquicktoolbar_p.h \
$$PWD/qquicktoolbutton_p.h
$$PWD/qquicktoolbutton_p.h \
$$PWD/qquicktumbler_p.h
SOURCES += \
$$PWD/qquickabstractbutton.cpp \
@ -48,6 +52,8 @@ SOURCES += \
$$PWD/qquickcheckbox.cpp \
$$PWD/qquickcontainer.cpp \
$$PWD/qquickcontrol.cpp \
$$PWD/qquickdial.cpp \
$$PWD/qquickdrawer.cpp \
$$PWD/qquickexclusivegroup.cpp \
$$PWD/qquickframe.cpp \
$$PWD/qquickgroupbox.cpp \
@ -61,6 +67,7 @@ SOURCES += \
$$PWD/qquickslider.cpp \
$$PWD/qquickstackview.cpp \
$$PWD/qquickstackview_p.cpp \
$$PWD/qquickswipeview.cpp \
$$PWD/qquickswitch.cpp \
$$PWD/qquicktabbar.cpp \
$$PWD/qquicktabbutton.cpp \
@ -68,4 +75,5 @@ SOURCES += \
$$PWD/qquicktextfield.cpp \
$$PWD/qquicktogglebutton.cpp \
$$PWD/qquicktoolbar.cpp \
$$PWD/qquicktoolbutton.cpp
$$PWD/qquicktoolbutton.cpp \
$$PWD/qquicktumbler.cpp

View File

@ -41,6 +41,7 @@
import QtQuick 2.2
import QtTest 1.0
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
TestCase {
id: testCase
@ -404,9 +405,9 @@ TestCase {
id: pageAttached
Text {
property int index: AbstractSwipeView.index
property SwipeView view: AbstractSwipeView.view
property bool isCurrentItem: AbstractSwipeView.isCurrentItem
property int index: T.SwipeView.index
property SwipeView view: T.SwipeView.view
property bool isCurrentItem: T.SwipeView.isCurrentItem
}
}
@ -425,13 +426,13 @@ TestCase {
compare(control.count, titles.length)
for (i = 0; i < control.count; ++i) {
compare(control.itemAt(i).text, titles[i])
compare(control.itemAt(i).AbstractSwipeView.index, i)
compare(control.itemAt(i).AbstractSwipeView.isCurrentItem, i === 0)
compare(control.itemAt(i).T.SwipeView.index, i)
compare(control.itemAt(i).T.SwipeView.isCurrentItem, i === 0)
}
control.currentIndex = data.currentBefore
for (i = 0; i < control.count; ++i) {
compare(control.itemAt(i).AbstractSwipeView.isCurrentItem, i === data.currentBefore)
compare(control.itemAt(i).T.SwipeView.isCurrentItem, i === data.currentBefore)
}
control.moveItem(data.from, data.to)
@ -446,8 +447,8 @@ TestCase {
compare(control.count, titles.length)
for (i = 0; i < control.count; ++i) {
compare(control.itemAt(i).text, titles[i])
compare(control.itemAt(i).AbstractSwipeView.index, i);
compare(control.itemAt(i).AbstractSwipeView.isCurrentItem, i === data.currentAfter)
compare(control.itemAt(i).T.SwipeView.index, i);
compare(control.itemAt(i).T.SwipeView.isCurrentItem, i === data.currentAfter)
}
control.destroy()

View File

@ -41,6 +41,7 @@
import QtQuick 2.2
import QtTest 1.0
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
TestCase {
id: testCase
@ -286,7 +287,7 @@ TestCase {
property Component displacementDelegate: Text {
objectName: "delegate" + index
text: modelData
opacity: 0.2 + Math.max(0, 1 - Math.abs(AbstractTumbler.displacement)) * 0.8
opacity: 0.2 + Math.max(0, 1 - Math.abs(T.Tumbler.displacement)) * 0.8
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
@ -295,7 +296,7 @@ TestCase {
anchors.right: parent.right
}
property real displacement: AbstractTumbler.displacement
property real displacement: T.Tumbler.displacement
}
function test_displacement(data) {
@ -531,16 +532,16 @@ TestCase {
}
property Component wrongDelegateTypeComponent: QtObject {
property real displacement: AbstractTumbler.displacement
property real displacement: T.Tumbler.displacement
}
property Component noParentDelegateComponent: Item {
property real displacement: AbstractTumbler.displacement
property real displacement: T.Tumbler.displacement
}
property Component gridViewComponent: GridView {}
property Component simpleDisplacementDelegate: Text {
property real displacement: AbstractTumbler.displacement
property real displacement: T.Tumbler.displacement
property int index: -1
}

View File

@ -40,6 +40,7 @@
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
Item {
width: 200
@ -61,7 +62,7 @@ Item {
Text {
text: modelData.toString().length < 2 ? "0" + modelData : modelData
color: "#666666"
opacity: 0.4 + Math.max(0, 1 - Math.abs(AbstractTumbler.displacement)) * 0.6
opacity: 0.4 + Math.max(0, 1 - Math.abs(T.Tumbler.displacement)) * 0.6
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.pixelSize: fontMetrics.font.pixelSize * 1.25
@ -77,7 +78,7 @@ Item {
delegate: Text {
text: (modelData.toString().length < 2 ? "0" : "") + (modelData + 1)
color: "#666666"
opacity: 0.4 + Math.max(0, 1 - Math.abs(AbstractTumbler.displacement)) * 0.6
opacity: 0.4 + Math.max(0, 1 - Math.abs(T.Tumbler.displacement)) * 0.6
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.pixelSize: fontMetrics.font.pixelSize * 1.25