Add KeyboardLayoutService, add KeyboardLayout Widget, add KeyboardLayout to LockScreen
This commit is contained in:
parent
2029b5e1eb
commit
ca7e0cc105
4 changed files with 173 additions and 1 deletions
34
Modules/Bar/Widgets/KeyboardLayout.qml
Normal file
34
Modules/Bar/Widgets/KeyboardLayout.qml
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import QtQuick
|
||||
import Quickshell
|
||||
import Quickshell.Wayland
|
||||
import Quickshell.Io
|
||||
import qs.Commons
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
width: pill.width
|
||||
height: pill.height
|
||||
|
||||
// Use the shared service for keyboard layout
|
||||
property string currentLayout: KeyboardLayoutService.currentLayout
|
||||
|
||||
NPill {
|
||||
id: pill
|
||||
icon: "keyboard_alt"
|
||||
iconCircleColor: Color.mPrimary
|
||||
collapsedIconColor: Color.mOnSurface
|
||||
autoHide: false // Important to be false so we can hover as long as we want
|
||||
text: currentLayout
|
||||
tooltipText: "Keyboard Layout: " + currentLayout
|
||||
|
||||
onClicked: {
|
||||
// You could open keyboard settings here if needed
|
||||
// For now, just show the current layout
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -163,6 +163,13 @@ Loader {
|
|||
}
|
||||
}
|
||||
|
||||
// Keyboard layout indicator component
|
||||
Item {
|
||||
id: keyboardLayout
|
||||
|
||||
property string currentLayout: (typeof KeyboardLayoutService !== 'undefined' && KeyboardLayoutService.currentLayout) ? KeyboardLayoutService.currentLayout : "Unknown"
|
||||
}
|
||||
|
||||
// Wallpaper image
|
||||
Image {
|
||||
id: lockBgImage
|
||||
|
|
@ -580,6 +587,25 @@ Loader {
|
|||
font.weight: Style.fontWeightBold
|
||||
}
|
||||
}
|
||||
|
||||
// Keyboard layout indicator
|
||||
Row {
|
||||
spacing: Style.marginS * scaling
|
||||
|
||||
NText {
|
||||
text: keyboardLayout.currentLayout
|
||||
color: Color.mOnSurface
|
||||
font.family: Settings.data.ui.fontFixed
|
||||
font.pointSize: Style.fontSizeM * scaling
|
||||
font.weight: Style.fontWeightBold
|
||||
}
|
||||
|
||||
NIcon {
|
||||
text: "keyboard_alt"
|
||||
font.pointSize: Style.fontSizeM * scaling
|
||||
color: Color.mOnSurface
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue