Merge remote-tracking branch 'origin/stable' into dev

Change-Id: I1656c712dfe99bc37d8ff21caa4ea51c3b375952
This commit is contained in:
Frederik Gladhorn 2013-01-23 18:27:44 +01:00
commit 44b7d97d56
10 changed files with 61 additions and 27 deletions

View File

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

View File

@ -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()
}

View File

@ -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
}

View File

@ -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
}

View File

@ -43,6 +43,7 @@ import QtQuick 2.0
Canvas {
width: 400; height: 200
contextType: "2d"
Path {
id: myPath

View File

@ -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;

View File

@ -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:

View File

@ -0,0 +1,6 @@
import QtQuick 2.0
PathView {
model: 1
delegate: Item {}
}

View File

@ -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;

View File

@ -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;