feat: async control center
This commit is contained in:
parent
94387e7770
commit
96ed5895d8
14 changed files with 31 additions and 0 deletions
|
|
@ -42,6 +42,7 @@ Item {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.columnSpan: 2
|
Layout.columnSpan: 2
|
||||||
|
|
||||||
|
asynchronous: true
|
||||||
active: root.floating
|
active: root.floating
|
||||||
visible: active
|
visible: active
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ Item {
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
Layout.topMargin: Appearance.spacing.large
|
Layout.topMargin: Appearance.spacing.large
|
||||||
|
asynchronous: true
|
||||||
active: !root.session.floating
|
active: !root.session.floating
|
||||||
visible: active
|
visible: active
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,7 @@ ClippingRectangle {
|
||||||
id: loader
|
id: loader
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
asynchronous: true
|
||||||
clip: false
|
clip: false
|
||||||
active: false
|
active: false
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,7 @@ Item {
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
Layout.bottomMargin: -Appearance.padding.large * 2
|
Layout.bottomMargin: -Appearance.padding.large * 2
|
||||||
|
|
||||||
|
asynchronous: true
|
||||||
active: {
|
active: {
|
||||||
const isActive = root.session.activeIndex === 3;
|
const isActive = root.session.activeIndex === 3;
|
||||||
const isAdjacent = Math.abs(root.session.activeIndex - 3) === 1;
|
const isAdjacent = Math.abs(root.session.activeIndex - 3) === 1;
|
||||||
|
|
|
||||||
|
|
@ -128,6 +128,7 @@ CollapsibleSection {
|
||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
|
asynchronous: true
|
||||||
active: isCurrent
|
active: isCurrent
|
||||||
|
|
||||||
sourceComponent: MaterialIcon {
|
sourceComponent: MaterialIcon {
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ CollapsibleSection {
|
||||||
Loader {
|
Loader {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.preferredHeight: item ? Math.min(item.contentHeight, 300) : 0
|
Layout.preferredHeight: item ? Math.min(item.contentHeight, 300) : 0
|
||||||
|
asynchronous: true
|
||||||
active: sansFontSection.expanded
|
active: sansFontSection.expanded
|
||||||
|
|
||||||
sourceComponent: StyledListView {
|
sourceComponent: StyledListView {
|
||||||
|
|
@ -81,6 +82,7 @@ CollapsibleSection {
|
||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
|
asynchronous: true
|
||||||
active: isCurrent
|
active: isCurrent
|
||||||
|
|
||||||
sourceComponent: MaterialIcon {
|
sourceComponent: MaterialIcon {
|
||||||
|
|
@ -107,6 +109,7 @@ CollapsibleSection {
|
||||||
Loader {
|
Loader {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.preferredHeight: item ? Math.min(item.contentHeight, 300) : 0
|
Layout.preferredHeight: item ? Math.min(item.contentHeight, 300) : 0
|
||||||
|
asynchronous: true
|
||||||
active: monoFontSection.expanded
|
active: monoFontSection.expanded
|
||||||
|
|
||||||
sourceComponent: StyledListView {
|
sourceComponent: StyledListView {
|
||||||
|
|
@ -160,6 +163,7 @@ CollapsibleSection {
|
||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
|
asynchronous: true
|
||||||
active: isCurrent
|
active: isCurrent
|
||||||
|
|
||||||
sourceComponent: MaterialIcon {
|
sourceComponent: MaterialIcon {
|
||||||
|
|
@ -187,6 +191,7 @@ CollapsibleSection {
|
||||||
id: materialFontLoader
|
id: materialFontLoader
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.preferredHeight: item ? Math.min(item.contentHeight, 300) : 0
|
Layout.preferredHeight: item ? Math.min(item.contentHeight, 300) : 0
|
||||||
|
asynchronous: true
|
||||||
active: materialFontSection.expanded
|
active: materialFontSection.expanded
|
||||||
|
|
||||||
sourceComponent: StyledListView {
|
sourceComponent: StyledListView {
|
||||||
|
|
@ -240,6 +245,7 @@ CollapsibleSection {
|
||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
|
asynchronous: true
|
||||||
active: isCurrent
|
active: isCurrent
|
||||||
|
|
||||||
sourceComponent: MaterialIcon {
|
sourceComponent: MaterialIcon {
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ Item {
|
||||||
id: headerLoader
|
id: headerLoader
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: root.headerComponent
|
sourceComponent: root.headerComponent
|
||||||
visible: root.headerComponent !== null
|
visible: root.headerComponent !== null
|
||||||
}
|
}
|
||||||
|
|
@ -44,6 +45,7 @@ Item {
|
||||||
id: topContentLoader
|
id: topContentLoader
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: root.topContent
|
sourceComponent: root.topContent
|
||||||
visible: root.topContent !== null
|
visible: root.topContent !== null
|
||||||
}
|
}
|
||||||
|
|
@ -55,6 +57,7 @@ Item {
|
||||||
required property Component modelData
|
required property Component modelData
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: modelData
|
sourceComponent: modelData
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -63,6 +66,7 @@ Item {
|
||||||
id: bottomContentLoader
|
id: bottomContentLoader
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: root.bottomContent
|
sourceComponent: root.bottomContent
|
||||||
visible: root.bottomContent !== null
|
visible: root.bottomContent !== null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ ColumnLayout {
|
||||||
id: headerLoader
|
id: headerLoader
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: root.headerComponent
|
sourceComponent: root.headerComponent
|
||||||
visible: root.headerComponent !== null && root.showHeader
|
visible: root.headerComponent !== null && root.showHeader
|
||||||
}
|
}
|
||||||
|
|
@ -50,6 +51,7 @@ ColumnLayout {
|
||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: root.titleSuffix
|
sourceComponent: root.titleSuffix
|
||||||
visible: root.titleSuffix !== null
|
visible: root.titleSuffix !== null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ RowLayout {
|
||||||
anchors.leftMargin: Appearance.padding.large
|
anchors.leftMargin: Appearance.padding.large
|
||||||
anchors.rightMargin: Appearance.padding.large + Appearance.padding.normal / 2
|
anchors.rightMargin: Appearance.padding.large + Appearance.padding.normal / 2
|
||||||
|
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: root.leftContent
|
sourceComponent: root.leftContent
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
|
|
@ -90,6 +91,7 @@ RowLayout {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
anchors.margins: Appearance.padding.large * 2
|
anchors.margins: Appearance.padding.large * 2
|
||||||
|
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: root.rightContent
|
sourceComponent: root.rightContent
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ Item {
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
|
asynchronous: true
|
||||||
opacity: 1
|
opacity: 1
|
||||||
scale: 1
|
scale: 1
|
||||||
transformOrigin: Item.Center
|
transformOrigin: Item.Center
|
||||||
|
|
@ -86,6 +87,7 @@ Item {
|
||||||
id: overlayLoader
|
id: overlayLoader
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
asynchronous: true
|
||||||
z: 1000
|
z: 1000
|
||||||
sourceComponent: root.overlayComponent
|
sourceComponent: root.overlayComponent
|
||||||
active: root.overlayComponent !== null
|
active: root.overlayComponent !== null
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,7 @@ Item {
|
||||||
anchors.leftMargin: Appearance.padding.large
|
anchors.leftMargin: Appearance.padding.large
|
||||||
anchors.rightMargin: Appearance.padding.large
|
anchors.rightMargin: Appearance.padding.large
|
||||||
|
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: dashboardContentComponent
|
sourceComponent: dashboardContentComponent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -342,6 +342,7 @@ Item {
|
||||||
spacing: Appearance.spacing.normal
|
spacing: Appearance.spacing.normal
|
||||||
|
|
||||||
IconImage {
|
IconImage {
|
||||||
|
asynchronous: true
|
||||||
Layout.alignment: Qt.AlignVCenter
|
Layout.alignment: Qt.AlignVCenter
|
||||||
implicitSize: 32
|
implicitSize: 32
|
||||||
source: {
|
source: {
|
||||||
|
|
@ -360,6 +361,7 @@ Item {
|
||||||
Layout.alignment: Qt.AlignVCenter
|
Layout.alignment: Qt.AlignVCenter
|
||||||
readonly property bool isHidden: modelData ? Strings.testRegexList(Config.launcher.hiddenApps, modelData.id) : false
|
readonly property bool isHidden: modelData ? Strings.testRegexList(Config.launcher.hiddenApps, modelData.id) : false
|
||||||
readonly property bool isFav: modelData ? Strings.testRegexList(Config.launcher.favouriteApps, modelData.id) : false
|
readonly property bool isFav: modelData ? Strings.testRegexList(Config.launcher.favouriteApps, modelData.id) : false
|
||||||
|
asynchronous: true
|
||||||
active: isHidden || isFav
|
active: isHidden || isFav
|
||||||
|
|
||||||
sourceComponent: isHidden ? hiddenIcon : (isFav ? favouriteIcon : null)
|
sourceComponent: isHidden ? hiddenIcon : (isFav ? favouriteIcon : null)
|
||||||
|
|
@ -414,6 +416,7 @@ Item {
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
|
asynchronous: true
|
||||||
opacity: 1
|
opacity: 1
|
||||||
scale: 1
|
scale: 1
|
||||||
transformOrigin: Item.Center
|
transformOrigin: Item.Center
|
||||||
|
|
@ -536,6 +539,8 @@ Item {
|
||||||
|
|
||||||
IconImage {
|
IconImage {
|
||||||
id: appIconImage
|
id: appIconImage
|
||||||
|
|
||||||
|
asynchronous: true
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
implicitSize: Appearance.font.size.extraLarge * 3 * 2
|
implicitSize: Appearance.font.size.extraLarge * 3 * 2
|
||||||
source: {
|
source: {
|
||||||
|
|
|
||||||
|
|
@ -120,6 +120,7 @@ Item {
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: Component {
|
sourceComponent: Component {
|
||||||
VpnList {
|
VpnList {
|
||||||
session: root.session
|
session: root.session
|
||||||
|
|
@ -138,6 +139,7 @@ Item {
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: Component {
|
sourceComponent: Component {
|
||||||
EthernetList {
|
EthernetList {
|
||||||
session: root.session
|
session: root.session
|
||||||
|
|
@ -156,6 +158,7 @@ Item {
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: Component {
|
sourceComponent: Component {
|
||||||
WirelessList {
|
WirelessList {
|
||||||
session: root.session
|
session: root.session
|
||||||
|
|
|
||||||
|
|
@ -140,6 +140,7 @@ Item {
|
||||||
anchors.leftMargin: Appearance.padding.large
|
anchors.leftMargin: Appearance.padding.large
|
||||||
anchors.rightMargin: Appearance.padding.large
|
anchors.rightMargin: Appearance.padding.large
|
||||||
|
|
||||||
|
asynchronous: true
|
||||||
sourceComponent: taskbarContentComponent
|
sourceComponent: taskbarContentComponent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue