e svg for the ruler
This commit is contained in:
parent
8c07b27cb2
commit
8e14ed33a4
@ -38,99 +38,34 @@ Rectangle {
|
|||||||
//BEGIN Connections
|
//BEGIN Connections
|
||||||
Connections {
|
Connections {
|
||||||
target: panel
|
target: panel
|
||||||
onOffsetChanged: offsetHandle.value = panel.offset
|
onOffsetChanged: ruler.offset = panel.offset
|
||||||
onMinimumLengthChanged: minimumLengthHandle.value = panel.minimumLength
|
onMinimumLengthChanged: ruler.minimumLength = panel.minimumLength
|
||||||
onMaximumLengthChanged: maximumLengthHandle.value = panel.maximumLength
|
onMaximumLengthChanged: ruler.maximumLength = panel.maximumLength
|
||||||
}
|
}
|
||||||
//END Connections
|
//END Connections
|
||||||
|
|
||||||
|
|
||||||
//BEGIN UI components
|
//BEGIN UI components
|
||||||
// Offset
|
|
||||||
OffsetButton {
|
|
||||||
id: offsetHandle
|
|
||||||
}
|
|
||||||
|
|
||||||
//Minimum length
|
Ruler {
|
||||||
Rectangle {
|
id: ruler
|
||||||
id: minimumLengthHandle
|
state: {
|
||||||
width: 32
|
switch (panel.location) {
|
||||||
height: 32
|
//TopEdge
|
||||||
|
case 3:
|
||||||
property int value
|
return "TopEdge"
|
||||||
onValueChanged: {
|
//LeftEdge
|
||||||
if (panel.location == 5 || panel.location == 6) {
|
case 5:
|
||||||
y = panel.minimumLength + panel.offset
|
return "LeftEdge"
|
||||||
} else {
|
//RightEdge
|
||||||
x = panel.minimumLength + panel.offset
|
case 6:
|
||||||
|
return "RightEdge"
|
||||||
|
//BottomEdge
|
||||||
|
case 4:
|
||||||
|
default:
|
||||||
|
return "BottomEdge"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
drag {
|
|
||||||
target: parent
|
|
||||||
axis: (panel.location == 5 || panel.location == 6) ? Drag.YAxis : Drag.XAxis
|
|
||||||
}
|
|
||||||
anchors.fill: parent
|
|
||||||
onPositionChanged: {
|
|
||||||
if (panel.location == 5 || panel.location == 6) {
|
|
||||||
panel.minimumLength = parent.y - panel.offset
|
|
||||||
} else {
|
|
||||||
panel.minimumLength = parent.x - panel.offset
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Component.onCompleted: {
|
|
||||||
if (panel.location == 5 || panel.location == 6) {
|
|
||||||
parent.y = panel.minimumLength + panel.offset
|
|
||||||
} else {
|
|
||||||
parent.x = panel.minimumLength + panel.offset
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
PlasmaComponents.Label {
|
|
||||||
text: "Min"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Maximum length
|
|
||||||
Rectangle {
|
|
||||||
id: maximumLengthHandle
|
|
||||||
width: 32
|
|
||||||
height: 32
|
|
||||||
|
|
||||||
property int value
|
|
||||||
onValueChanged: {
|
|
||||||
if (panel.location == 5 || panel.location == 6) {
|
|
||||||
y = panel.maximumLength + panel.offset
|
|
||||||
} else {
|
|
||||||
x = panel.maximumLength + panel.offset
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
drag {
|
|
||||||
target: parent
|
|
||||||
axis: (panel.location == 5 || panel.location == 6) ? Drag.YAxis : Drag.XAxis
|
|
||||||
}
|
|
||||||
anchors.fill: parent
|
|
||||||
onPositionChanged: {
|
|
||||||
if (panel.location == 5 || panel.location == 6) {
|
|
||||||
panel.maximumLength = parent.y - panel.offset
|
|
||||||
} else {
|
|
||||||
panel.maximumLength = parent.x - panel.offset
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Component.onCompleted: {
|
|
||||||
if (panel.location == 5 || panel.location == 6) {
|
|
||||||
parent.y = panel.maximumLength + panel.offset
|
|
||||||
} else {
|
|
||||||
parent.x = panel.maximumLength + panel.offset
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
PlasmaComponents.Label {
|
|
||||||
text: "Max"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
|
@ -0,0 +1,95 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2013 Marco Martin <mart@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import QtQuick 2.0
|
||||||
|
import org.kde.plasma.components 2.0 as PlasmaComponents
|
||||||
|
import org.kde.plasma.extras 2.0 as PlasmaExtras
|
||||||
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
|
import org.kde.plasma.configuration 2.0
|
||||||
|
import org.kde.qtextracomponents 2.0 as QtExtras
|
||||||
|
|
||||||
|
|
||||||
|
PlasmaCore.SvgItem {
|
||||||
|
id: root
|
||||||
|
svg: containmentControlsSvg
|
||||||
|
state: parent.state
|
||||||
|
width: naturalSize.width
|
||||||
|
height: naturalSize.height
|
||||||
|
|
||||||
|
property int value
|
||||||
|
onValueChanged: {
|
||||||
|
if (panel.location == 5 || panel.location == 6) {
|
||||||
|
y = panel.maximumLength + panel.offset
|
||||||
|
} else {
|
||||||
|
x = panel.maximumLength + panel.offset
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
drag {
|
||||||
|
target: parent
|
||||||
|
axis: (panel.location == 5 || panel.location == 6) ? Drag.YAxis : Drag.XAxis
|
||||||
|
}
|
||||||
|
anchors.fill: parent
|
||||||
|
onPositionChanged: {
|
||||||
|
if (panel.location == 5 || panel.location == 6) {
|
||||||
|
panel.maximumLength = parent.y - panel.offset
|
||||||
|
} else {
|
||||||
|
panel.maximumLength = parent.x - panel.offset
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component.onCompleted: {
|
||||||
|
if (panel.location == 5 || panel.location == 6) {
|
||||||
|
parent.y = panel.maximumLength + panel.offset
|
||||||
|
} else {
|
||||||
|
parent.x = panel.maximumLength + panel.offset
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "TopEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "north-maxslider"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "BottomEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "south-maxslider"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "LeftEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "west-maxslider"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "RightEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "east-maxslider"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,95 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2013 Marco Martin <mart@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import QtQuick 2.0
|
||||||
|
import org.kde.plasma.components 2.0 as PlasmaComponents
|
||||||
|
import org.kde.plasma.extras 2.0 as PlasmaExtras
|
||||||
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
|
import org.kde.plasma.configuration 2.0
|
||||||
|
import org.kde.qtextracomponents 2.0 as QtExtras
|
||||||
|
|
||||||
|
|
||||||
|
PlasmaCore.SvgItem {
|
||||||
|
id: root
|
||||||
|
svg: containmentControlsSvg
|
||||||
|
state: parent.state
|
||||||
|
width: naturalSize.width
|
||||||
|
height: naturalSize.height
|
||||||
|
|
||||||
|
property int value
|
||||||
|
onValueChanged: {
|
||||||
|
if (panel.location == 5 || panel.location == 6) {
|
||||||
|
y = panel.minimumLength + panel.offset
|
||||||
|
} else {
|
||||||
|
x = panel.minimumLength + panel.offset
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
drag {
|
||||||
|
target: parent
|
||||||
|
axis: (panel.location == 5 || panel.location == 6) ? Drag.YAxis : Drag.XAxis
|
||||||
|
}
|
||||||
|
anchors.fill: parent
|
||||||
|
onPositionChanged: {
|
||||||
|
if (panel.location == 5 || panel.location == 6) {
|
||||||
|
panel.minimumLength = parent.y - panel.offset
|
||||||
|
} else {
|
||||||
|
panel.minimumLength = parent.x - panel.offset
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Component.onCompleted: {
|
||||||
|
if (panel.location == 5 || panel.location == 6) {
|
||||||
|
parent.y = panel.minimumLength + panel.offset
|
||||||
|
} else {
|
||||||
|
parent.x = panel.minimumLength + panel.offset
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "TopEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "north-minslider"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "BottomEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "south-minslider"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "LeftEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "west-minslider"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "RightEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "east-minslider"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -24,10 +24,12 @@ import org.kde.plasma.configuration 2.0
|
|||||||
import org.kde.qtextracomponents 2.0 as QtExtras
|
import org.kde.qtextracomponents 2.0 as QtExtras
|
||||||
|
|
||||||
|
|
||||||
Rectangle {
|
PlasmaCore.SvgItem {
|
||||||
id: offsetHandle
|
id: root
|
||||||
width: 32
|
svg: containmentControlsSvg
|
||||||
height: 32
|
state: parent.state
|
||||||
|
width: naturalSize.width
|
||||||
|
height: naturalSize.height
|
||||||
|
|
||||||
property int value
|
property int value
|
||||||
onValueChanged: {
|
onValueChanged: {
|
||||||
@ -59,7 +61,35 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PlasmaComponents.Label {
|
|
||||||
text: "Offset"
|
states: [
|
||||||
}
|
State {
|
||||||
|
name: "TopEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "north-offsetslider"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "BottomEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "south-offsetslider"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "LeftEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "west-offsetslider"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "RightEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
elementId: "east-offsetslider"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@ -0,0 +1,221 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2013 Marco Martin <mart@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 2.010-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import QtQuick 2.0
|
||||||
|
import org.kde.plasma.components 2.0 as PlasmaComponents
|
||||||
|
import org.kde.plasma.extras 2.0 as PlasmaExtras
|
||||||
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
|
import org.kde.plasma.configuration 2.0
|
||||||
|
import org.kde.qtextracomponents 2.0 as QtExtras
|
||||||
|
|
||||||
|
|
||||||
|
PlasmaCore.FrameSvgItem {
|
||||||
|
id: root
|
||||||
|
imagePath: "widgets/containment-controls"
|
||||||
|
state: "BottomEdge"
|
||||||
|
implicitWidth: offsetButton.implicitwidth + minimumLengthHandle.implicitwidth
|
||||||
|
implicitHeight: 32//offsetButton.implicitheight + minimumLengthHandle.implicitheight
|
||||||
|
PlasmaCore.Svg {
|
||||||
|
id: containmentControlsSvg
|
||||||
|
imagePath: "widgets/containment-controls"
|
||||||
|
}
|
||||||
|
OffsetHandle {
|
||||||
|
id: offsetButton
|
||||||
|
}
|
||||||
|
MinimumLengthHandle {
|
||||||
|
id: minimumLengthHandle
|
||||||
|
}
|
||||||
|
MaximumLengthHandle {
|
||||||
|
id: maximumLengthHandle
|
||||||
|
}
|
||||||
|
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "TopEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
prefix: "north"
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: root
|
||||||
|
anchors {
|
||||||
|
top: root.parent.top
|
||||||
|
bottom: undefined
|
||||||
|
left: root.parent.left
|
||||||
|
right: root.parent.right
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: offsetHandle
|
||||||
|
anchors {
|
||||||
|
top: undefined
|
||||||
|
bottom: root.bottom
|
||||||
|
left: undefined
|
||||||
|
right: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: minimumLengthHandle
|
||||||
|
anchors {
|
||||||
|
top: root.top
|
||||||
|
bottom: undefined
|
||||||
|
left: undefined
|
||||||
|
right: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: maximumLengthHandle
|
||||||
|
anchors {
|
||||||
|
top: undefined
|
||||||
|
bottom: root.bottom
|
||||||
|
left: undefined
|
||||||
|
right: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "BottomEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
prefix: "south"
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: root
|
||||||
|
anchors {
|
||||||
|
top: undefined
|
||||||
|
bottom: root.parent.bottom
|
||||||
|
left: root.parent.left
|
||||||
|
right: root.parent.right
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: offsetHandle
|
||||||
|
anchors {
|
||||||
|
top: root.top
|
||||||
|
bottom: undefined
|
||||||
|
left: undefined
|
||||||
|
right: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: minimumLengthHandle
|
||||||
|
anchors {
|
||||||
|
top: undefined
|
||||||
|
bottom: root.bottom
|
||||||
|
left: undefined
|
||||||
|
right: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: maximumLengthHandle
|
||||||
|
anchors {
|
||||||
|
top: root.top
|
||||||
|
bottom: undefined
|
||||||
|
left: undefined
|
||||||
|
right: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "LeftEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
prefix: "west"
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: root
|
||||||
|
anchors {
|
||||||
|
top: root.parent.top
|
||||||
|
bottom: root.parent.bottom
|
||||||
|
left: root.parent.left
|
||||||
|
right: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: offsetHandle
|
||||||
|
anchors {
|
||||||
|
top: undefined
|
||||||
|
bottom: undefined
|
||||||
|
left: undefined
|
||||||
|
right: root.right
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: minimumLengthHandle
|
||||||
|
anchors {
|
||||||
|
top: undefined
|
||||||
|
bottom: undefined
|
||||||
|
left: root.left
|
||||||
|
right: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: maximumLengthHandle
|
||||||
|
anchors {
|
||||||
|
top: undefined
|
||||||
|
bottom: undefined
|
||||||
|
left: undefined
|
||||||
|
right: root.right
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "RightEdge"
|
||||||
|
PropertyChanges {
|
||||||
|
target: root
|
||||||
|
prefix: "east"
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: root
|
||||||
|
anchors {
|
||||||
|
top: root.parent.top
|
||||||
|
bottom: root.parent.bottom
|
||||||
|
left: undefined
|
||||||
|
right: root.parent.right
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: offsetHandle
|
||||||
|
anchors {
|
||||||
|
top: undefined
|
||||||
|
bottom: undefined
|
||||||
|
left: parent.left
|
||||||
|
right: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: minimumLengthHandle
|
||||||
|
anchors {
|
||||||
|
top: undefined
|
||||||
|
bottom: undefined
|
||||||
|
left: undefined
|
||||||
|
right: parent.right
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AnchorChanges {
|
||||||
|
target: maximumLengthHandle
|
||||||
|
anchors {
|
||||||
|
top: undefined
|
||||||
|
bottom: undefined
|
||||||
|
left: parent.left
|
||||||
|
right: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user