support for separators
This commit is contained in:
parent
7a55e44d5b
commit
5007558edb
@ -28,6 +28,26 @@ Item {
|
|||||||
property Item visualParent
|
property Item visualParent
|
||||||
property int status: DialogStatus.Closed
|
property int status: DialogStatus.Closed
|
||||||
|
|
||||||
|
onVisualParentChanged: {
|
||||||
|
//if is a menuitem move to menuColumn
|
||||||
|
if (visualParent.separator !== undefined) {
|
||||||
|
var obj = arrowComponent.createObject(visualParent)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: arrowComponent
|
||||||
|
PlasmaCore.SvgItem {
|
||||||
|
svg: PlasmaCore.Svg {imagePath: "widgets/arrows"}
|
||||||
|
elementId: "right-arrow"
|
||||||
|
width: naturalSize.width
|
||||||
|
height: naturalSize.height
|
||||||
|
anchors {
|
||||||
|
right: parent.right
|
||||||
|
verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
function open()
|
function open()
|
||||||
{
|
{
|
||||||
var parent = root.visualParent ? root.visualParent : root.parent
|
var parent = root.visualParent ? root.visualParent : root.parent
|
||||||
@ -50,9 +70,9 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onChildrenChanged: {
|
onChildrenChanged: {
|
||||||
//if is a menuitem move to menuColumn
|
|
||||||
for (var i = 0; i < children.length; ++i) {
|
for (var i = 0; i < children.length; ++i) {
|
||||||
var item = children[i]
|
var item = children[i]
|
||||||
|
//if is a menuitem move to menuColumn
|
||||||
if (item.separator !== undefined) {
|
if (item.separator !== undefined) {
|
||||||
item.parent = menuColumn
|
item.parent = menuColumn
|
||||||
}
|
}
|
||||||
|
@ -50,11 +50,21 @@ Item {
|
|||||||
signal clicked
|
signal clicked
|
||||||
|
|
||||||
implicitWidth: textArea.paintedWidth + iconLoader.width*2 + 6
|
implicitWidth: textArea.paintedWidth + iconLoader.width*2 + 6
|
||||||
implicitHeight: textArea.paintedHeight + 6
|
implicitHeight: Math.max(theme.smallIconSize, textArea.paintedHeight + 6)
|
||||||
|
width: Math.max(implicitWidth, parent.width)
|
||||||
|
|
||||||
property bool separator: false
|
property bool separator: false
|
||||||
|
onSeparatorChanged: {
|
||||||
|
if (separator) {
|
||||||
|
internal.separatorItem = separatorComponent.createObject(root)
|
||||||
|
} else {
|
||||||
|
internal.separatorItem.destroy()
|
||||||
|
}
|
||||||
|
}
|
||||||
property alias icon: iconLoader.source
|
property alias icon: iconLoader.source
|
||||||
|
|
||||||
|
enabled: !separator
|
||||||
|
|
||||||
Private.IconLoader {
|
Private.IconLoader {
|
||||||
id: iconLoader
|
id: iconLoader
|
||||||
width: parent.height
|
width: parent.height
|
||||||
@ -72,10 +82,24 @@ Item {
|
|||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
elide: Text.ElideRight
|
elide: Text.ElideRight
|
||||||
}
|
}
|
||||||
/*Component.onCompleted: {
|
|
||||||
contentItem.width = 300//Math.max(contentItem.width, root.width)
|
|
||||||
}*/
|
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
id: internal
|
||||||
|
property Item separatorItem
|
||||||
|
}
|
||||||
|
Component {
|
||||||
|
id: separatorComponent
|
||||||
|
PlasmaCore.FrameSvgItem {
|
||||||
|
imagePath: "widgets/viewitem"
|
||||||
|
prefix: "normal"
|
||||||
|
height: text ? parent.height : margins.top+margins.bottom
|
||||||
|
anchors {
|
||||||
|
right: parent.right
|
||||||
|
left: parent.left
|
||||||
|
verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
id: mouseArea
|
id: mouseArea
|
||||||
|
Loading…
x
Reference in New Issue
Block a user