ukui-menu/qml/AppUI/NormalUI.qml

77 lines
1.9 KiB
QML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import QtQuick 2.12
import QtQuick.Layouts 1.12
import org.ukui.menu.core 1.0
import org.ukui.quick.platform 1.0 as Platform
import org.ukui.quick.items 1.0 as UkuiItems
FocusScope {
id: normalUI
function focusToFalse() {
focus = false;
}
function keyPressed(event) {
// 任意字符键焦点切换到搜索0-9 a-z
if ((0x2f < event.key && event.key < 0x3a)||(0x40 < event.key && event.key < 0x5b)) {
focus = true;
appPage.search.changeToSearch(event.text);
// 任意方向键切换至应用列表
} else if ((0x01000011 < event.key)&&(event.key < 0x01000016)) {
focus = true;
appPage.content.focus = true;
appPage.content.resetFocus();
}
}
Component.onCompleted: mainWindow.visibleChanged.connect(focusToFalse)
Component.onDestruction: mainWindow.visibleChanged.disconnect(focusToFalse)
// 点击空白处失去焦点
MouseArea {
anchors.fill: parent
onClicked: {
normalUI.focusToFalse();
}
}
RowLayout {
anchors.fill: parent
spacing: 0
z: 10
AppPage {
id: appPage
Layout.preferredWidth: 312
Layout.fillHeight: true
}
UkuiItems.StyleBackground {
Layout.preferredWidth: 1
Layout.fillHeight: true
paletteRole: Platform.Theme.ButtonText
useStyleTransparency: false
alpha: 0.05
}
WidgetPage {
Layout.fillWidth: true
Layout.fillHeight: true
}
UkuiItems.StyleBackground {
Layout.preferredWidth: 1
Layout.fillHeight: true
paletteRole: Platform.Theme.ButtonText
useStyleTransparency: false
alpha: 0.05
}
Sidebar {
Layout.preferredWidth: 60
Layout.fillHeight: true
}
}
}