54 lines
944 B
QML
54 lines
944 B
QML
pragma Singleton
|
|
|
|
import Quickshell
|
|
import QtQuick
|
|
import ZShell.Config
|
|
import qs.Helpers
|
|
import qs.Services
|
|
|
|
Singleton {
|
|
id: root
|
|
|
|
function create(parent: Item, props: var): void {
|
|
chatComp.createObject(parent ?? dummy, props);
|
|
Visibilities.getForActive().sidebar = false;
|
|
ChatState.isWindow = true;
|
|
}
|
|
|
|
QtObject {
|
|
id: dummy
|
|
}
|
|
|
|
Component {
|
|
id: chatComp
|
|
|
|
FloatingWindow {
|
|
id: win
|
|
|
|
property var props
|
|
|
|
color: Colors.tPalette.m3surface
|
|
implicitHeight: chat.implicitHeight
|
|
implicitWidth: chat.implicitWidth
|
|
minimumSize.height: Config.sidebar.sizes.width
|
|
minimumSize.width: Config.sidebar.sizes.width
|
|
surfaceFormat.opaque: false
|
|
title: qsTr("ZShell - %1").arg(ChatState.title)
|
|
|
|
Component.onCompleted: ChatState.screen = screen
|
|
onVisibleChanged: {
|
|
if (!visible) {
|
|
destroy();
|
|
ChatState.isWindow = false;
|
|
}
|
|
}
|
|
|
|
SidebarView {
|
|
id: chat
|
|
|
|
anchors.fill: parent
|
|
}
|
|
}
|
|
}
|
|
}
|