Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I1656c712dfe99bc37d8ff21caa4ea51c3b375952
This commit is contained in:
commit
44b7d97d56
|
@ -42,7 +42,6 @@
|
|||
import QtQuick 2.0
|
||||
import "content"
|
||||
|
||||
|
||||
Rectangle {
|
||||
id: window
|
||||
|
||||
|
@ -56,11 +55,9 @@ Rectangle {
|
|||
anchors.margins: 10
|
||||
width: parent.width
|
||||
|
||||
|
||||
Row {
|
||||
spacing: 6
|
||||
width: column.width
|
||||
height: column.h
|
||||
|
||||
Text {
|
||||
id: subjectLabel
|
||||
|
@ -71,6 +68,7 @@ Rectangle {
|
|||
text: "Subject:"
|
||||
y: 3
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: subjectBorder
|
||||
Accessible.role: Accessible.EditableText
|
||||
|
@ -88,19 +86,18 @@ Rectangle {
|
|||
text: "Vacation plans"
|
||||
KeyNavigation.tab: textEdit
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: textBorder
|
||||
Accessible.role: Accessible.EditableText
|
||||
property alias text : textEdit.text
|
||||
property alias text: textEdit.text
|
||||
border.width: 1
|
||||
border.color: "black"
|
||||
width: parent.width - 2
|
||||
|
||||
height: 200
|
||||
|
||||
TextEdit {
|
||||
id: textEdit
|
||||
y: 3
|
||||
|
@ -113,6 +110,7 @@ Rectangle {
|
|||
KeyNavigation.priority: KeyNavigation.BeforeItem
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
id : status
|
||||
width: column.width
|
||||
|
@ -120,23 +118,30 @@ Rectangle {
|
|||
|
||||
Row {
|
||||
spacing: 6
|
||||
Button { id: sendButton; width: 100; height: column.h + 20; text: "Send";
|
||||
onClicked : { status.text = "Send" }
|
||||
Button {
|
||||
id: sendButton
|
||||
width: 100; height: 20
|
||||
text: "Send"
|
||||
onClicked: { status.text = "Send" }
|
||||
KeyNavigation.tab: discardButton
|
||||
}
|
||||
Button { id: discardButton; width: 100; height: column.h + 20; text: "Discard";
|
||||
onClicked : { status.text = "Discard" }
|
||||
Button { id: discardButton
|
||||
width: 100; height: 20
|
||||
text: "Discard"
|
||||
onClicked: { status.text = "Discard" }
|
||||
KeyNavigation.tab: checkBox
|
||||
}
|
||||
}
|
||||
|
||||
Row {
|
||||
spacing: 6
|
||||
|
||||
Checkbox {
|
||||
id: checkBox
|
||||
checked: false
|
||||
KeyNavigation.tab: slider
|
||||
}
|
||||
|
||||
Slider {
|
||||
id: slider
|
||||
value: 10
|
||||
|
|
|
@ -64,8 +64,7 @@ Rectangle {
|
|||
GradientStop { position: 1.0;
|
||||
color: button.focus ? "red" : "blue" }
|
||||
}
|
||||
// border.width: 1
|
||||
//border.color: "black";
|
||||
|
||||
radius: 5
|
||||
antialiasing: true
|
||||
|
||||
|
@ -84,5 +83,6 @@ Rectangle {
|
|||
anchors.fill: parent
|
||||
onClicked: parent.clicked()
|
||||
}
|
||||
|
||||
Keys.onSpacePressed: clicked()
|
||||
}
|
||||
|
|
|
@ -39,10 +39,8 @@
|
|||
**
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
|
||||
FocusScope {
|
||||
id: checkbox
|
||||
|
||||
|
@ -56,24 +54,29 @@ FocusScope {
|
|||
|
||||
Row {
|
||||
spacing: 2
|
||||
|
||||
Rectangle {
|
||||
width: 12
|
||||
height: 12
|
||||
border.width: checkbox.focus ? 2 : 1
|
||||
border.color: "black"
|
||||
|
||||
Text {
|
||||
id: checkboxText
|
||||
text: checkbox.checked ? "x" : ""
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
text: checkbox.text
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: checkbox.checked = !checkbox.checked
|
||||
}
|
||||
|
||||
Keys.onSpacePressed: checkbox.checked = !checkbox.checked
|
||||
}
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
**
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
// Minimal slider implementation
|
||||
|
@ -49,10 +48,10 @@ Rectangle {
|
|||
property alias text: buttonText.text
|
||||
Accessible.role: Accessible.Slider
|
||||
|
||||
property int value : 5 // required
|
||||
property int minimumValue : 0 // optional (default INT_MIN)
|
||||
property int maximumValue : 20 // optional (default INT_MAX)
|
||||
property int stepSize : 1 // optional (default 1)
|
||||
property int value: 5 // required
|
||||
property int minimumValue: 0 // optional (default INT_MIN)
|
||||
property int maximumValue: 20 // optional (default INT_MAX)
|
||||
property int stepSize: 1 // optional (default 1)
|
||||
|
||||
width: 100
|
||||
height: 30
|
||||
|
@ -77,6 +76,7 @@ Rectangle {
|
|||
anchors.centerIn: parent
|
||||
font.pixelSize: parent.height * .5
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
|
@ -84,6 +84,7 @@ Rectangle {
|
|||
slider.value = pos
|
||||
}
|
||||
}
|
||||
|
||||
Keys.onLeftPressed: value > minimumValue ? value = value - stepSize : minimumValue
|
||||
Keys.onRightPressed: value < maximumValue ? value = value + stepSize : maximumValue
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ import QtQuick 2.0
|
|||
|
||||
Canvas {
|
||||
width: 400; height: 200
|
||||
contextType: "2d"
|
||||
|
||||
Path {
|
||||
id: myPath
|
||||
|
|
|
@ -193,7 +193,7 @@ void QQuickPathView::initItem(int index, QQuickItem *item)
|
|||
if (att) {
|
||||
att->m_view = this;
|
||||
qreal percent = d->positionOfIndex(index);
|
||||
if (percent < 1.0) {
|
||||
if (percent < 1.0 && d->path) {
|
||||
foreach (const QString &attr, d->path->attributes())
|
||||
att->setValue(attr.toUtf8(), d->path->attributeAt(attr, percent));
|
||||
item->setZ(d->requestedZ);
|
||||
|
@ -227,8 +227,10 @@ QQmlOpenMetaObjectType *QQuickPathViewPrivate::attachedType()
|
|||
if (!attType) {
|
||||
// pre-create one metatype to share with all attached objects
|
||||
attType = new QQmlOpenMetaObjectType(&QQuickPathViewAttached::staticMetaObject, qmlEngine(q));
|
||||
foreach (const QString &attr, path->attributes())
|
||||
attType->createProperty(attr.toUtf8());
|
||||
if (path) {
|
||||
foreach (const QString &attr, path->attributes())
|
||||
attType->createProperty(attr.toUtf8());
|
||||
}
|
||||
}
|
||||
|
||||
return attType;
|
||||
|
@ -423,6 +425,8 @@ void QQuickPathView::pathUpdated()
|
|||
|
||||
void QQuickPathViewPrivate::updateItem(QQuickItem *item, qreal percent)
|
||||
{
|
||||
if (!path)
|
||||
return;
|
||||
if (QQuickPathViewAttached *att = attached(item)) {
|
||||
if (qFuzzyCompare(att->m_percent, percent))
|
||||
return;
|
||||
|
|
|
@ -169,7 +169,7 @@ QImage QQuickTextureFactory::image() const
|
|||
an image provider named "colors", and the images to be loaded are "yellow"
|
||||
and "red", respectively:
|
||||
|
||||
\snippet qml/imageprovider/imageprovider-example.qml 0
|
||||
\snippet quick/imageprovider/imageprovider-example.qml 0
|
||||
|
||||
When these images are loaded by QML, it looks for a matching image provider
|
||||
and calls its requestImage() or requestPixmap() method (depending on its
|
||||
|
@ -180,9 +180,9 @@ QImage QQuickTextureFactory::image() const
|
|||
requested by the above QML. This implementation dynamically
|
||||
generates QPixmap images that are filled with the requested color:
|
||||
|
||||
\snippet qml/imageprovider/imageprovider.cpp 0
|
||||
\snippet quick/imageprovider/imageprovider.cpp 0
|
||||
\codeline
|
||||
\snippet qml/imageprovider/imageprovider.cpp 1
|
||||
\snippet quick/imageprovider/imageprovider.cpp 1
|
||||
|
||||
To make this provider accessible to QML, it is registered with the QML engine
|
||||
with a "colors" identifier:
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
import QtQuick 2.0
|
||||
|
||||
PathView {
|
||||
model: 1
|
||||
delegate: Item {}
|
||||
}
|
|
@ -118,6 +118,7 @@ private slots:
|
|||
void pathUpdateOnStartChanged();
|
||||
void package();
|
||||
void emptyModel();
|
||||
void emptyPath();
|
||||
void closed();
|
||||
void pathUpdate();
|
||||
void visualDataModel();
|
||||
|
@ -1354,6 +1355,19 @@ void tst_QQuickPathView::emptyModel()
|
|||
|
||||
}
|
||||
|
||||
void tst_QQuickPathView::emptyPath()
|
||||
{
|
||||
QQuickView *window = createView();
|
||||
|
||||
window->setSource(testFileUrl("emptypath.qml"));
|
||||
qApp->processEvents();
|
||||
|
||||
QQuickPathView *pathview = qobject_cast<QQuickPathView*>(window->rootObject());
|
||||
QVERIFY(pathview != 0);
|
||||
|
||||
delete window;
|
||||
}
|
||||
|
||||
void tst_QQuickPathView::closed()
|
||||
{
|
||||
QQmlEngine engine;
|
||||
|
|
|
@ -2329,7 +2329,7 @@ void tst_qquicktextedit::cursorDelegate()
|
|||
void tst_qquicktextedit::remoteCursorDelegate()
|
||||
{
|
||||
TestHTTPServer server(SERVER_PORT);
|
||||
server.serveDirectory(dataDirectory());
|
||||
server.serveDirectory(dataDirectory(), TestHTTPServer::Delay);
|
||||
|
||||
QQuickView view;
|
||||
|
||||
|
|
Loading…
Reference in New Issue