Duration.js got merged into Time singleton

This commit is contained in:
quadbyte 2025-08-10 14:55:23 -04:00
parent a6e5fec5db
commit 08823733d0
3 changed files with 28 additions and 21 deletions

View file

@ -1,18 +0,0 @@
// Use to display the time remaining on the Battery widget
function formatVagueHumanReadableDuration(totalSeconds) {
const hours = Math.floor(totalSeconds / 3600);
const minutes = Math.floor((totalSeconds - (hours * 3600)) / 60);
const seconds = totalSeconds - (hours * 3600) - (minutes * 60);
var str = "";
if (hours) {
str += hours.toString() + "h";
}
if (minutes) {
str += minutes.toString() + "m";
}
if (!hours && !minutes) {
str += seconds.toString() + "s";
}
return str;
}

View file

@ -4,7 +4,6 @@ import Quickshell.Services.UPower
import QtQuick.Layouts import QtQuick.Layouts
import qs.Services import qs.Services
import qs.Widgets import qs.Widgets
import "../../Helpers/Duration.js" as Duration
NPill { NPill {
id: root id: root
@ -58,16 +57,22 @@ NPill {
textColor: charging ? Colors.accentPrimary : Colors.textPrimary textColor: charging ? Colors.accentPrimary : Colors.textPrimary
tooltipText: { tooltipText: {
let lines = [] let lines = []
if (testMode) {
lines.push("Time left: " + Time.formatVagueHumanReadableDuration(1234567))
return lines.join("\n");
}
if (!root.isReady) { if (!root.isReady) {
return "" return ""
} }
if (root.battery.timeToEmpty > 0) { if (root.battery.timeToEmpty > 0) {
lines.push("Time left: " + Time.formatVagueHumanReadableTime(root.battery.timeToEmpty)) lines.push("Time left: " + Time.formatVagueHumanReadableDuration(root.battery.timeToEmpty))
} }
if (root.battery.timeToFull > 0) { if (root.battery.timeToFull > 0) {
lines.push("Time until full: " + Time.formatVagueHumanReadableTime(root.battery.timeToFull)) lines.push("Time until full: " + Time.formatVagueHumanReadableDuration(root.battery.timeToFull))
} }
if (root.battery.changeRate !== undefined) { if (root.battery.changeRate !== undefined) {

View file

@ -38,6 +38,26 @@ Singleton {
+ (Settings.data.location.reverseDayMonth ? `${month} ${day}${suffix} ${year}` : `${day}${suffix} ${month} ${year}`) + (Settings.data.location.reverseDayMonth ? `${month} ${day}${suffix} ${year}` : `${day}${suffix} ${month} ${year}`)
} }
// Format an easy to read approximate duration ex: 4h32m
// Used to display the time remaining on the Battery widget
function formatVagueHumanReadableDuration(totalSeconds) {
const hours = Math.floor(totalSeconds / 3600)
const minutes = Math.floor((totalSeconds - (hours * 3600)) / 60)
const seconds = totalSeconds - (hours * 3600) - (minutes * 60)
var str = ""
if (hours) {
str += hours.toString() + "h"
}
if (minutes) {
str += minutes.toString() + "m"
}
if (!hours && !minutes) {
str += seconds.toString() + "s"
}
return str
}
Timer { Timer {
interval: 1000 interval: 1000
repeat: true repeat: true