|
|
2017-04-20
, 10:05
|
|
|
Posts: 433 |
Thanked: 727 times |
Joined on Oct 2012
@ Costa Blanca, Espaņa
|
#12
|
Solution:
Code:import QtQuick 2.0 import Sailfish.Silica 1.0 Page { id: page MouseArea { id: dragArea width: 270 height: 270 Connections { target: dragArea.parent onHeightChanged: { var xx = dragArea.x var yy = dragArea.y if (dragArea.parent.width > dragArea.parent.height) { dragArea.x = yy dragArea.y = dragArea.parent.height - dragArea.height - xx } else { dragArea.x = dragArea.parent.width - dragArea.width - yy dragArea.y = xx } } } Rectangle { anchors.fill: parent color: "red" } drag.target: dragArea drag.minimumX: 0 drag.minimumY: 0 drag.maximumY: parent.height - height drag.maximumX: parent.width - width } }
| The Following User Says Thank You to Markkyboy For This Useful Post: | ||
|
|
2017-04-20
, 13:13
|
|
|
Posts: 6,436 |
Thanked: 12,701 times |
Joined on Nov 2011
@ Ängelholm, Sweden
|
#13
|
| The Following User Says Thank You to coderus For This Useful Post: | ||
|
|
2017-04-20
, 13:48
|
|
|
Posts: 394 |
Thanked: 1,341 times |
Joined on Dec 2009
|
#14
|
| The Following User Says Thank You to velox For This Useful Post: | ||
|
|
2017-04-20
, 13:50
|
|
|
Posts: 433 |
Thanked: 727 times |
Joined on Oct 2012
@ Costa Blanca, Espaņa
|
#15
|
obviously you should integrate it with lipstick yourself. i have no idea what are you doing.
import QtQuick 2.0
import Sailfish.Silica 1.0
import org.nemomobile.time 1.0
import org.nemomobile.lipstick 0.1
import "../main"
Item {
id: clock
anchors.fill: parent
property alias time: timeText.time
property bool color: Theme.primaryColor
property bool followPeekPosition
property alias updatesEnabled: timeText.updatesEnabled
Rectangle {
id: rect
width: 270; height: 270
color: "#55000000"
anchors {
top: parent.top
topMargin: Theme.paddingMedium
horizontalCenter: parent.horizontalCenter
}
Drag.active: dragArea.drag.active
ClockItem {
id: timeText
color: Theme.primaryColor
anchors {
top: rect.top
horizontalCenter: rect.horizontalCenter
}
text: { updatesEnabled: timeText.time
minimumPixelSize: 10
fontPixelSize: 76
fontSizeMode: Text.Fit
Qt.formatTime(new Date(), "<b>hh</b>")
}
}
Text {
id: date
color: Theme.primaryColor
anchors {
top: timeText.baseline
topMargin: Theme.paddingSmall
horizontalCenter: rect.horizontalCenter
}
text: { updatesEnabled: timeText.time
minimumPixelSize: 10
fontPixelSize: 76
fontSizeMode: Text.Fit
Qt.formatDate(new Date(), "ddd dd MMM")
}
}
ClockItem {
id: minutes
color: Theme.primaryColor
anchors {
top: date.baseline
topMargin: -Theme.paddingMedium
horizontalCenter: rect.horizontalCenter
}
text: { updatesEnabled: timeText.time
minimumPixelSize: 10
fontPixelSize: 76
fontSizeMode: Text.Fit
Qt.formatTime(new Date(), "<b>mm</b>")
}
}
MouseArea {
id: dragArea
anchors.fill: parent
drag.target: rect
drag.axis: Drag.XandYAxis
drag.minimumX: 0
drag.maximumX: 270
drag.minimumY: -10
drag.maximumY: 600
onPressed: {
rect.anchors.top = undefined
rect.anchors.topMargin = undefined
rect.anchors.horizontalCenter = undefined
}
}
}
}
| The Following User Says Thank You to Markkyboy For This Useful Post: | ||
|
|
2017-04-20
, 13:52
|
|
|
Posts: 433 |
Thanked: 727 times |
Joined on Oct 2012
@ Costa Blanca, Espaņa
|
#16
|
Indeed, your very first sentence in the first post was "I have a draggable rectangle on a page" which, I think, led most people to assume you meant the Page Component from Silica. If that's not the case, you're going to have to adapt it yourself.
| The Following User Says Thank You to Markkyboy For This Useful Post: | ||
|
|
2017-04-21
, 14:39
|
|
|
Posts: 433 |
Thanked: 727 times |
Joined on Oct 2012
@ Costa Blanca, Espaņa
|
#17
|
MouseArea {
id: dragArea
anchors.fill: parent
drag.target: rect
drag.filterChildren: true
drag.axis: Drag.XandYAxis
drag.minimumX: 10
drag.maximumX: lockScreen.width -10 - rect.width
drag.minimumY: -10
drag.maximumY: lockScreen.height -25 - rect.height -50
onPressed: {
rect.anchors.top = undefined
rect.anchors.topMargin = undefined
rect.anchors.horizontalCenter = undefined
}
import QtQuick 2.0
import Sailfish.Silica 1.0
import org.nemomobile.time 1.0
import org.nemomobile.lipstick 0.1
import "../main"
Item {
id: clock
anchors.fill: parent
property alias time: timeText.time
property bool color: Theme.primaryColor
property bool followPeekPosition
property alias updatesEnabled: timeText.updatesEnabled
width: Math.max(timeText.width, date.width)
height: timeText.font.pixelSize + date.font.pixelSize + Theme.paddingMedium * 2
baselineOffset: timeText.y + timeText.baselineOffset
Rectangle {
id: rect
width: 350; height: 220
radius: 90
color: Theme.highlightDimmerColor
border.color: Theme.secondaryHighlightColor
border.width: +3
anchors {
top: lockScreen.top
topMargin: Theme.paddingSmall
horizontalCenter: parent.horizontalCenter
}
Drag.active: dragArea.drag.active
ClockItem {
id: timeText
color: Theme.primaryColor
font { pixelSize: Theme.fontSizeHuge * 2.0; family: Theme.fontFamilyHeading }
anchors {
top: rect.top
topMargin: Theme.paddingSmall
bottomMargin: -timeText.font.pixelSize
horizontalCenter: rect.horizontalCenter
}
}
Text {
id: date
color: Theme.primaryColor
anchors {
top: timeText.baseline
topMargin: Theme.paddingSmall
horizontalCenter: rect.horizontalCenter
}
font { pixelSize: Theme.fontSizeLarge * 1.1; family: Theme.fontFamily }
text: { updatesEnabled: timeText.time
Qt.formatDate(new Date(), "ddd dd MMM")
}
}
MouseArea {
id: dragArea
anchors.fill: parent
drag.target: rect
drag.filterChildren: true
drag.axis: Drag.XandYAxis
drag.minimumX: 10
drag.maximumX: lockScreen.width -10 - rect.width
drag.minimumY: -10
drag.maximumY: lockScreen.height -25 - rect.height -50
onPressed: {
rect.anchors.top = undefined
rect.anchors.topMargin = undefined
rect.anchors.horizontalCenter = undefined
}
}
}
}
| The Following 3 Users Say Thank You to Markkyboy For This Useful Post: | ||
import QtQuick 2.0 import Sailfish.Silica 1.0 Page { id: page MouseArea { id: dragArea width: 270 height: 270 Connections { target: dragArea.parent onHeightChanged: { var xx = dragArea.x var yy = dragArea.y if (dragArea.parent.width > dragArea.parent.height) { dragArea.x = yy dragArea.y = dragArea.parent.height - dragArea.height - xx } else { dragArea.x = dragArea.parent.width - dragArea.width - yy dragArea.y = xx } } } Rectangle { anchors.fill: parent color: "red" } drag.target: dragArea drag.minimumX: 0 drag.minimumY: 0 drag.maximumY: parent.height - height drag.maximumX: parent.width - width } }Telegram | Openrepos | GitHub | Revolut donations