Laying out main page and adding songlistmodel
This commit is contained in:
parent
f2a10ebfcc
commit
3bd74d1ca6
24 changed files with 816 additions and 454 deletions
70
src/qml/presenter/PanelItem.qml
Normal file
70
src/qml/presenter/PanelItem.qml
Normal file
|
@ -0,0 +1,70 @@
|
|||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0 as Controls
|
||||
import QtQuick.Layouts 1.2
|
||||
import org.kde.kirigami 2.13 as Kirigami
|
||||
|
||||
Item {
|
||||
default property var contentItem: null
|
||||
property string title: "panel"
|
||||
id: root
|
||||
Layout.fillWidth: true
|
||||
height: 30
|
||||
Layout.fillHeight: current
|
||||
property bool current: false
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: 0
|
||||
Rectangle {
|
||||
id: bar
|
||||
Layout.fillWidth: true
|
||||
height: 30
|
||||
color: root.current ? Kirigami.Theme.highlightColor : Kirigami.Theme.backgroundColor
|
||||
Controls.Label {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 10
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
text: root.title
|
||||
}
|
||||
Controls.Label {
|
||||
anchors{
|
||||
right: parent.right
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
margins: 10
|
||||
}
|
||||
horizontalAlignment: Text.AlignRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
text: "^"
|
||||
rotation: root.current ? "180" : 0
|
||||
}
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: {
|
||||
root.current = !root.current;
|
||||
if(root.parent.currentItem !== null)
|
||||
root.parent.currentItem.current = false;
|
||||
|
||||
root.parent.currentItem = root;
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
id: container
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignTop
|
||||
Layout.topMargin: bar.height / 4
|
||||
implicitHeight: root.height - bar.height
|
||||
color: Kirigami.Theme.backgroundColor
|
||||
clip: true
|
||||
Behavior on implicitHeight {
|
||||
PropertyAnimation { duration: 100 }
|
||||
}
|
||||
}
|
||||
Component.onCompleted: {
|
||||
if(root.contentItem !== null)
|
||||
root.contentItem.parent = container;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue