-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSessionButton.qml
38 lines (31 loc) · 964 Bytes
/
SessionButton.qml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import QtQuick 2.2
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 2.0 as PlasmaComponents
import QtQuick.Controls 1.3 as QQC
PlasmaComponents.ToolButton {
id: root
property int currentIndex: -1
property int sessionFontSize
visible: menu.items.length > 1
font.family: config.Font || "Noto Sans"
font.pointSize: sessionFontSize
text: instantiator.objectAt(currentIndex).text || ""
Component.onCompleted: {
currentIndex = sessionModel.lastIndex
}
menu: QQC.Menu {
id: menu
Instantiator {
id: instantiator
model: sessionModel
onObjectAdded: menu.insertItem(index, object)
onObjectRemoved: menu.removeItem( object )
delegate: QQC.MenuItem {
text: model.name
onTriggered: {
root.currentIndex = model.index
}
}
}
}
}