Format uptime strings to read "1 day" instead of "1 days"

This commit is contained in:
Mikko Ahlroth 2014-02-11 16:13:57 +02:00
parent ba9a2ff99d
commit 694501edb8
6 changed files with 46 additions and 23 deletions

View file

@ -13,11 +13,13 @@ CoverBackground {
property alias cover : cover property alias cover : cover
function updateCover(uptime) { function updateCover(uptime) {
days.text = uptime.days + " days" var strings = formatUptime(uptime.days, uptime.hours, uptime.minutes);
time.text = uptime.hours + " h " + uptime.minutes + " min"
load1.text = uptime.load1.toFixed(2) days.text = strings.days;
load5.text = uptime.load5.toFixed(2) time.text = strings.hours + " " + strings.minutes;
load15.text = uptime.load15.toFixed(2) load1.text = uptime.load1.toFixed(2);
load5.text = uptime.load5.toFixed(2);
load15.text = uptime.load15.toFixed(2);
} }
Column { Column {

View file

@ -72,27 +72,22 @@ ApplicationWindow
var sysinfo = checker.fetchUptime(); var sysinfo = checker.fetchUptime();
var uptime_s = sysinfo.uptime; var uptime_s = sysinfo.uptime;
var uptime_d = divideUptime(uptime_s);
var days = Math.floor(uptime_s / 84600);
var hours = Math.floor(uptime_s / 3600 % 24);
var minutes = Math.floor(uptime_s / 60 % 60);
var record = parseInt(Storage.readSetting(Storage.db, "record", 0)); var record = parseInt(Storage.readSetting(Storage.db, "record", 0));
var rDays = Math.floor(record / 84600); var record_d = divideUptime(record);
var rHours = Math.floor(record / 3600 % 24);
var rMinutes = Math.floor(record / 60 % 60);
var uptime = { var uptime = {
"days": days, "days": uptime_d.days,
"hours": hours, "hours": uptime_d.hours,
"minutes": minutes, "minutes": uptime_d.minutes,
"load1": sysinfo.loads.avg_1, "load1": sysinfo.loads.avg_1,
"load5": sysinfo.loads.avg_5, "load5": sysinfo.loads.avg_5,
"load15": sysinfo.loads.avg_15, "load15": sysinfo.loads.avg_15,
"record": record, "record": record,
"rDays": rDays, "rDays": record_d.days,
"rHours": rHours, "rHours": record_d.hours,
"rMinutes": rMinutes, "rMinutes": record_d.minutes,
} }
firstpage.updatePage(sysinfo, uptime); firstpage.updatePage(sysinfo, uptime);
@ -106,6 +101,30 @@ ApplicationWindow
} }
} }
// Divide uptime to days, hours and minutes
function divideUptime(seconds) {
var days = Math.floor(seconds / 84600);
var hours = Math.floor(seconds / 3600 % 24);
var minutes = Math.floor(seconds / 60 % 60);
return {
"days": days,
"hours": hours,
"minutes": minutes
};
}
// Return formatted language strings with plural forms
function formatUptime(days, hours, minutes) {
var days_str = days + " day" + ((days !== 1)? "s" : "");
var hours_str = hours + " h";
var minutes_str = minutes + " min";
return {
"days": days_str,
"hours": hours_str,
"minutes": minutes_str
};
}
UptimeChecker { UptimeChecker {
id: checker id: checker
} }

View file

@ -29,7 +29,7 @@ Page {
Label { Label {
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
text: "SailTime 1.1.0" text: "SailTime 1.1.1"
color: Theme.highlightColor color: Theme.highlightColor
font.pixelSize: Theme.fontSizeLarge font.pixelSize: Theme.fontSizeLarge
} }

View file

@ -21,8 +21,10 @@ Page {
} }
function updatePage(sysinfo, uptime) { function updatePage(sysinfo, uptime) {
days.text = uptime.days + " days"; var strings = formatUptime(uptime.days, uptime.hours, uptime.minutes);
time.text = uptime.hours + " h " + uptime.minutes + " min";
days.text = strings.days;
time.text = strings.hours + " " + strings.minutes;
if (sysinfo.uptime >= uptime.record) { if (sysinfo.uptime >= uptime.record) {
recordLabel.text = "Making new record!"; recordLabel.text = "Making new record!";

View file

@ -13,7 +13,7 @@ Name: harbour-sailtime
%{!?qtc_make:%define qtc_make make} %{!?qtc_make:%define qtc_make make}
%{?qtc_builddir:%define _builddir %qtc_builddir} %{?qtc_builddir:%define _builddir %qtc_builddir}
Summary: SailTime Summary: SailTime
Version: 1.1.0 Version: 1.1.1
Release: 1 Release: 1
Group: Qt/Qt Group: Qt/Qt
License: MIT Expat licence License: MIT Expat licence

View file

@ -1,6 +1,6 @@
Name: harbour-sailtime Name: harbour-sailtime
Summary: SailTime Summary: SailTime
Version: 1.1.0 Version: 1.1.1
Release: 1 Release: 1
Group: Qt/Qt Group: Qt/Qt
URL: http://example.org/ URL: http://example.org/