-
Notifications
You must be signed in to change notification settings - Fork 2
/
KeyboardButton.qml
44 lines (33 loc) · 1.26 KB
/
KeyboardButton.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
39
40
41
42
43
44
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: keyboardButton
property int currentIndex: -1
font.family: config.Font || "Noto Sans"
font.hintingPreference: config.FontHinting || "PreferDefaultHinting"
font.pointSize: config.FontSize || "9"
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Keyboard Layout: %1",
instantiator.objectAt(currentIndex).shortName)
implicitWidth: minimumWidth
visible: menu.items.length > 1
Component.onCompleted: currentIndex = Qt.binding(function() {return keyboard.currentLayout});
menu: QQC.Menu {
id: keyboardMenu
style: BreezeMenuStyle {}
Instantiator {
id: instantiator
model: keyboard.layouts
onObjectAdded: keyboardMenu.insertItem(index, object)
onObjectRemoved: keyboardMenu.removeItem( object )
delegate: QQC.MenuItem {
text: modelData.longName
property string shortName: modelData.shortName
onTriggered: {
keyboard.currentLayout = model.index
}
}
}
}
}