mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-05 21:15:38 -05:00
- Add printers - Delete printers - Use polkit APIs as fallback on auth errors - Fix ref system to conditionally subscribe to cups when wanted
253 lines
5.8 KiB
QML
253 lines
5.8 KiB
QML
import QtQuick
|
|
import qs.Common
|
|
import qs.Modules.Settings
|
|
|
|
FocusScope {
|
|
id: root
|
|
|
|
property int currentIndex: 0
|
|
property var parentModal: null
|
|
|
|
focus: true
|
|
|
|
Rectangle {
|
|
anchors.fill: parent
|
|
anchors.leftMargin: Theme.spacingS
|
|
anchors.rightMargin: (parentModal && parentModal.isCompactMode) ? Theme.spacingS : (32 + Theme.spacingS)
|
|
anchors.bottomMargin: 0
|
|
anchors.topMargin: 0
|
|
color: "transparent"
|
|
|
|
Loader {
|
|
id: personalizationLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 0
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: Component {
|
|
PersonalizationTab {
|
|
parentModal: root.parentModal
|
|
}
|
|
}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: timeWeatherLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 1
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: TimeWeatherTab {}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: topBarLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 2
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: DankBarTab {
|
|
parentModal: root.parentModal
|
|
}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: widgetsLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 3
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: WidgetTweaksTab {}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: dockLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 4
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: Component {
|
|
DockTab {}
|
|
}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: displaysLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 5
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: DisplaysTab {}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: networkLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 6
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: NetworkTab {}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: printerLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 7
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: PrinterTab {}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: launcherLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 8
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: LauncherTab {}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: themeColorsLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 9
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: ThemeColorsTab {}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: powerLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 10
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: PowerSettings {}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: pluginsLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 11
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: PluginsTab {
|
|
parentModal: root.parentModal
|
|
}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: aboutLoader
|
|
|
|
anchors.fill: parent
|
|
active: root.currentIndex === 12
|
|
visible: active
|
|
focus: active
|
|
|
|
sourceComponent: AboutTab {}
|
|
|
|
onActiveChanged: {
|
|
if (active && item) {
|
|
Qt.callLater(() => item.forceActiveFocus());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|