1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-26 22:42:50 -05:00

dgop: use dgop for uptime

This commit is contained in:
bbedward
2025-11-28 10:41:59 -05:00
parent d3030c3ec6
commit 94a1aebe2b
8 changed files with 355 additions and 403 deletions

View File

@@ -8,16 +8,18 @@ Rectangle {
property bool editMode: false
signal powerButtonClicked()
signal lockRequested()
signal editModeToggled()
signal settingsButtonClicked()
signal powerButtonClicked
signal lockRequested
signal editModeToggled
signal settingsButtonClicked
Component.onCompleted: DgopService.addRef("system")
Component.onDestruction: DgopService.removeRef("system")
implicitHeight: 70
radius: Theme.cornerRadius
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g,
Theme.outline.b, 0.08)
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.08)
border.width: 0
Row {
@@ -34,12 +36,12 @@ Rectangle {
height: 60
imageSource: {
if (PortalService.profileImage === "")
return ""
return "";
if (PortalService.profileImage.startsWith("/"))
return "file://" + PortalService.profileImage
return "file://" + PortalService.profileImage;
return PortalService.profileImage
return PortalService.profileImage;
}
fallbackIcon: "person"
}
@@ -49,14 +51,13 @@ Rectangle {
spacing: 2
Typography {
text: UserInfoService.fullName
|| UserInfoService.username || "User"
text: UserInfoService.fullName || UserInfoService.username || "User"
style: Typography.Style.Subtitle
color: Theme.surfaceText
}
Typography {
text: (UserInfoService.uptime || "Unknown")
text: DgopService.uptime || "Unknown"
style: Typography.Style.Caption
color: Theme.surfaceVariantText
}
@@ -77,7 +78,7 @@ Rectangle {
iconColor: Theme.surfaceText
backgroundColor: "transparent"
onClicked: {
root.lockRequested()
root.lockRequested();
}
}
@@ -97,8 +98,8 @@ Rectangle {
iconColor: Theme.surfaceText
backgroundColor: "transparent"
onClicked: {
root.settingsButtonClicked()
settingsModal.show()
root.settingsButtonClicked();
settingsModal.show();
}
}
@@ -111,4 +112,4 @@ Rectangle {
onClicked: root.editModeToggled()
}
}
}
}

View File

@@ -84,11 +84,8 @@ DankPopout {
if (shouldBeVisible) {
collapseAll();
Qt.callLater(() => {
if (NetworkService.activeService) {
if (NetworkService.activeService)
NetworkService.activeService.autoRefreshEnabled = NetworkService.wifiEnabled;
}
if (UserInfoService)
UserInfoService.getUptime();
});
} else {
Qt.callLater(() => {

View File

@@ -1,5 +1,4 @@
import QtQuick
import QtQuick.Effects
import qs.Common
import qs.Services
import qs.Widgets
@@ -7,6 +6,9 @@ import qs.Widgets
Card {
id: root
Component.onCompleted: DgopService.addRef("system")
Component.onDestruction: DgopService.removeRef("system")
Row {
anchors.left: parent.left
anchors.leftMargin: Theme.spacingM
@@ -21,12 +23,12 @@ Card {
anchors.verticalCenter: parent.verticalCenter
imageSource: {
if (PortalService.profileImage === "")
return ""
return "";
if (PortalService.profileImage.startsWith("/"))
return "file://" + PortalService.profileImage
return "file://" + PortalService.profileImage;
return PortalService.profileImage
return PortalService.profileImage;
}
fallbackIcon: "person"
}
@@ -56,12 +58,16 @@ Card {
StyledText {
text: {
if (CompositorService.isNiri) return "on niri"
if (CompositorService.isHyprland) return "on Hyprland"
if (CompositorService.isNiri)
return "on niri";
if (CompositorService.isHyprland)
return "on Hyprland";
// technically they might not be on mangowc, but its what we support in the docs
if (CompositorService.isDwl) return "on MangoWC"
if (CompositorService.isSway) return "on Sway"
return ""
if (CompositorService.isDwl)
return "on MangoWC";
if (CompositorService.isSway)
return "on Sway";
return "";
}
font.pixelSize: Theme.fontSizeSmall
color: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.8)
@@ -82,29 +88,12 @@ Card {
}
StyledText {
id: uptimeText
property real availableWidth: parent.parent.parent.parent.width - avatarContainer.width - Theme.spacingM * 3 - 16 - Theme.spacingS
property real longTextWidth: {
const fontSize = Math.round(Theme.fontSizeSmall || 12)
const testMetrics = Qt.createQmlObject('import QtQuick; TextMetrics { font.pixelSize: ' + fontSize + ' }', uptimeText)
testMetrics.text = UserInfoService.uptime || "up 1 hour, 23 minutes"
const result = testMetrics.width
testMetrics.destroy()
return result
}
// Just using truncated is always true initially idk
property bool shouldUseShort: longTextWidth > availableWidth
text: shouldUseShort ? UserInfoService.shortUptime : UserInfoService.uptime || "up 1h 23m"
text: DgopService.shortUptime || "up"
font.pixelSize: Theme.fontSizeSmall
color: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.7)
anchors.verticalCenter: parent.verticalCenter
elide: Text.ElideRight
width: availableWidth
wrapMode: Text.NoWrap
}
}
}
}
}
}

View File

@@ -38,7 +38,7 @@ Item {
}
WeatherService.addRef();
UserInfoService.refreshUserInfo();
UserInfoService.getUserInfo();
if (CompositorService.isHyprland) {
updateHyprlandLayout();

View File

@@ -1,5 +1,4 @@
import QtQuick
import QtQuick.Controls
import qs.Common
import qs.Services
import qs.Widgets
@@ -69,7 +68,7 @@ DankFlickable {
}
StyledText {
text: `${UserInfoService.uptime} Boot: ${DgopService.bootTime}`
text: `${DgopService.uptime} Boot: ${DgopService.bootTime}`
font.pixelSize: Theme.fontSizeSmall
font.family: SettingsData.monoFontFamily
color: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.6)
@@ -83,9 +82,7 @@ DankFlickable {
color: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.6)
verticalAlignment: Text.AlignVCenter
}
}
}
Rectangle {
@@ -134,7 +131,6 @@ DankFlickable {
color: Theme.primary
anchors.verticalCenter: parent.verticalCenter
}
}
StyledText {
@@ -181,9 +177,7 @@ DankFlickable {
elide: Text.ElideRight
verticalAlignment: Text.AlignVCenter
}
}
}
Rectangle {
@@ -275,7 +269,6 @@ DankFlickable {
color: Theme.secondary
anchors.verticalCenter: parent.verticalCenter
}
}
StyledText {
@@ -365,22 +358,16 @@ DankFlickable {
elide: Text.ElideRight
verticalAlignment: Text.AlignVCenter
}
}
Behavior on color {
ColorAnimation {
duration: Theme.shortDuration
}
}
}
}
}
}
Rectangle {
@@ -418,7 +405,6 @@ DankFlickable {
color: Theme.surfaceText
anchors.verticalCenter: parent.verticalCenter
}
}
Column {
@@ -495,7 +481,6 @@ DankFlickable {
elide: Text.ElideRight
verticalAlignment: Text.AlignVCenter
}
}
Repeater {
@@ -596,19 +581,11 @@ DankFlickable {
anchors.verticalCenter: parent.verticalCenter
verticalAlignment: Text.AlignVCenter
}
}
}
}
}
}
}
}
}
}