mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-03 20:32:07 -04:00
notifications(Settings): Update notifs popout settings overflow
This commit is contained in:
@@ -173,12 +173,18 @@ DankPopout {
|
||||
|
||||
property var externalKeyboardController: null
|
||||
property real cachedHeaderHeight: 32
|
||||
readonly property real settingsMaxHeight: {
|
||||
const screenH = root.screen ? root.screen.height : 1080;
|
||||
const maxPopupH = screenH * 0.8;
|
||||
const overhead = cachedHeaderHeight + Theme.spacingL * 2 + Theme.spacingM * 2;
|
||||
return Math.max(200, maxPopupH - overhead - 150);
|
||||
}
|
||||
implicitHeight: {
|
||||
let baseHeight = Theme.spacingL * 2;
|
||||
baseHeight += cachedHeaderHeight;
|
||||
baseHeight += Theme.spacingM * 2;
|
||||
|
||||
const settingsHeight = notificationSettings.expanded ? notificationSettings.contentHeight : 0;
|
||||
const settingsHeight = notificationSettings.expanded ? Math.min(notificationSettings.naturalContentHeight, settingsMaxHeight) : 0;
|
||||
const currentListHeight = root.shouldBeVisible ? notificationList.stableContentHeight : notificationList.listContentHeight;
|
||||
let listHeight = notificationHeader.currentTab === 0 ? currentListHeight : Math.max(200, NotificationService.historyList.length * 80);
|
||||
if (notificationHeader.currentTab === 0 && NotificationService.groupedNotifications.length === 0) {
|
||||
@@ -272,6 +278,7 @@ DankPopout {
|
||||
NotificationSettings {
|
||||
id: notificationSettings
|
||||
expanded: notificationHeader.showSettings
|
||||
maxAllowedHeight: notificationContent.settingsMaxHeight
|
||||
}
|
||||
|
||||
Item {
|
||||
|
||||
@@ -6,10 +6,11 @@ Rectangle {
|
||||
id: root
|
||||
|
||||
property bool expanded: false
|
||||
readonly property real contentHeight: contentColumn.height + Theme.spacingL * 2
|
||||
property real maxAllowedHeight: 0
|
||||
readonly property real naturalContentHeight: contentColumn.height + Theme.spacingL * 2
|
||||
|
||||
width: parent.width
|
||||
height: expanded ? contentHeight : 0
|
||||
height: expanded ? (maxAllowedHeight > 0 ? Math.min(naturalContentHeight, maxAllowedHeight) : naturalContentHeight) : 0
|
||||
visible: expanded
|
||||
clip: true
|
||||
radius: Theme.cornerRadius
|
||||
@@ -105,13 +106,22 @@ Rectangle {
|
||||
return Math.round(value / 60000) + " " + I18n.tr("minutes");
|
||||
}
|
||||
|
||||
Column {
|
||||
id: contentColumn
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
Flickable {
|
||||
id: settingsFlickable
|
||||
anchors.fill: parent
|
||||
contentHeight: contentColumn.height + Theme.spacingL * 2
|
||||
clip: true
|
||||
flickableDirection: Flickable.VerticalFlick
|
||||
boundsBehavior: Flickable.DragAndOvershootBounds
|
||||
interactive: root.naturalContentHeight > root.height
|
||||
|
||||
Column {
|
||||
id: contentColumn
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Notification Settings")
|
||||
@@ -435,4 +445,5 @@ Rectangle {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user