summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/dashboard/Content.qml3
-rw-r--r--modules/dashboard/Wrapper.qml2
-rw-r--r--modules/drawers/Panels.qml1
-rw-r--r--modules/launcher/Content.qml2
-rw-r--r--modules/launcher/ContentList.qml6
-rw-r--r--modules/launcher/Wrapper.qml15
6 files changed, 24 insertions, 5 deletions
diff --git a/modules/dashboard/Content.qml b/modules/dashboard/Content.qml
index fcf58e1..8a9ed5f 100644
--- a/modules/dashboard/Content.qml
+++ b/modules/dashboard/Content.qml
@@ -15,9 +15,10 @@ Item {
required property PersistentProperties state
required property FileDialog facePicker
readonly property real nonAnimWidth: view.implicitWidth + viewWrapper.anchors.margins * 2
+ readonly property real nonAnimHeight: tabs.implicitHeight + tabs.anchors.topMargin + view.implicitHeight + viewWrapper.anchors.margins * 2
implicitWidth: nonAnimWidth
- implicitHeight: tabs.implicitHeight + tabs.anchors.topMargin + view.implicitHeight + viewWrapper.anchors.margins * 2
+ implicitHeight: nonAnimHeight
Tabs {
id: tabs
diff --git a/modules/dashboard/Wrapper.qml b/modules/dashboard/Wrapper.qml
index 2dcd5c9..9c92695 100644
--- a/modules/dashboard/Wrapper.qml
+++ b/modules/dashboard/Wrapper.qml
@@ -31,6 +31,8 @@ Item {
}
}
+ readonly property real nonAnimHeight: state === "visible" ? (content.item?.nonAnimHeight ?? 0) : 0
+
visible: height > 0
implicitHeight: 0
implicitWidth: content.implicitWidth
diff --git a/modules/drawers/Panels.qml b/modules/drawers/Panels.qml
index 4fd8bdf..ed21f80 100644
--- a/modules/drawers/Panels.qml
+++ b/modules/drawers/Panels.qml
@@ -62,6 +62,7 @@ Item {
Launcher.Wrapper {
id: launcher
+ screen: root.screen
visibilities: root.visibilities
panels: root
diff --git a/modules/launcher/Content.qml b/modules/launcher/Content.qml
index f4e1b45..f674569 100644
--- a/modules/launcher/Content.qml
+++ b/modules/launcher/Content.qml
@@ -13,6 +13,7 @@ Item {
required property PersistentProperties visibilities
required property var panels
+ required property real maxHeight
readonly property int padding: Appearance.padding.large
readonly property int rounding: Appearance.rounding.large
@@ -36,6 +37,7 @@ Item {
content: root
visibilities: root.visibilities
panels: root.panels
+ maxHeight: root.maxHeight - searchWrapper.implicitHeight - root.padding * 3
search: search
padding: root.padding
rounding: root.rounding
diff --git a/modules/launcher/ContentList.qml b/modules/launcher/ContentList.qml
index a6ccf53..b2a9c77 100644
--- a/modules/launcher/ContentList.qml
+++ b/modules/launcher/ContentList.qml
@@ -14,6 +14,7 @@ Item {
required property var content
required property PersistentProperties visibilities
required property var panels
+ required property real maxHeight
required property StyledTextField search
required property int padding
required property int rounding
@@ -33,7 +34,7 @@ Item {
PropertyChanges {
root.implicitWidth: Config.launcher.sizes.itemWidth
- root.implicitHeight: appList.implicitHeight > 0 ? appList.implicitHeight : empty.implicitHeight
+ root.implicitHeight: Math.min(root.maxHeight, appList.implicitHeight > 0 ? appList.implicitHeight : empty.implicitHeight)
appList.active: true
}
@@ -78,8 +79,7 @@ Item {
active: false
- anchors.left: parent.left
- anchors.right: parent.right
+ anchors.fill: parent
sourceComponent: AppList {
search: root.search
diff --git a/modules/launcher/Wrapper.qml b/modules/launcher/Wrapper.qml
index 51354c2..3312d5a 100644
--- a/modules/launcher/Wrapper.qml
+++ b/modules/launcher/Wrapper.qml
@@ -8,12 +8,22 @@ import QtQuick
Item {
id: root
+ required property ShellScreen screen
required property PersistentProperties visibilities
required property var panels
readonly property bool shouldBeActive: visibilities.launcher && Config.launcher.enabled
property int contentHeight
+ readonly property real maxHeight: {
+ let max = screen.height - Config.border.thickness * 2 - Appearance.spacing.large;
+ if (visibilities.dashboard)
+ max -= panels.dashboard.nonAnimHeight;
+ return max;
+ }
+
+ onMaxHeightChanged: timer.start()
+
visible: height > 0
implicitHeight: 0
implicitWidth: content.implicitWidth
@@ -84,7 +94,7 @@ Item {
interval: Appearance.anim.durations.extraLarge
onRunningChanged: {
- if (running) {
+ if (running && !root.shouldBeActive) {
content.visible = false;
content.active = true;
} else {
@@ -108,6 +118,9 @@ Item {
sourceComponent: Content {
visibilities: root.visibilities
panels: root.panels
+ maxHeight: root.maxHeight
+
+ Component.onCompleted: root.contentHeight = implicitHeight
}
}
}