mirror of
https://github.com/HamletDuFromage/aio-switch-updater.git
synced 2024-11-09 12:01:44 +00:00
don't divide by 0
This commit is contained in:
parent
6a12ffc829
commit
9a7863504d
2 changed files with 13 additions and 14 deletions
|
@ -212,9 +212,7 @@
|
||||||
},
|
},
|
||||||
"worker": {
|
"worker": {
|
||||||
"of": "of",
|
"of": "of",
|
||||||
"remaining": "Time remaining",
|
"download_progress": "({:.1f} MB of {:.1f} MB - {:.1f} MB/s)",
|
||||||
"hours": "hours",
|
"time_left": "({} left)"
|
||||||
"minutes": "minutes",
|
|
||||||
"seconds": "seconds"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -33,27 +33,28 @@ WorkerPage::WorkerPage(brls::StagedAppletFrame* frame, const std::string& text,
|
||||||
this->registerAction("", brls::Key::PLUS, [this] { return true; });
|
this->registerAction("", brls::Key::PLUS, [this] { return true; });
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string formatLabelText( double speed, double fileSizeCurrent, double fileSizeFinal)
|
std::string formatLabelText(double speed, double fileSizeCurrent, double fileSizeFinal)
|
||||||
{
|
{
|
||||||
double fileSizeCurrentMB = fileSizeCurrent / 0x100000;
|
double fileSizeCurrentMB = fileSizeCurrent / 0x100000;
|
||||||
double fileSizeFinalMB = fileSizeFinal / 0x100000;
|
double fileSizeFinalMB = fileSizeFinal / 0x100000;
|
||||||
double speedMB = speed / 0x100000;
|
double speedMB = speed / 0x100000;
|
||||||
|
|
||||||
// Calcul du temps restant
|
|
||||||
double timeRemaining = (fileSizeFinal - fileSizeCurrent) / speed;
|
double timeRemaining = (fileSizeFinal - fileSizeCurrent) / speed;
|
||||||
int hours = static_cast<int>(timeRemaining / 3600);
|
int hours = static_cast<int>(timeRemaining / 3600);
|
||||||
int minutes = static_cast<int>((timeRemaining - hours * 3600) / 60);
|
int minutes = static_cast<int>((timeRemaining - hours * 3600) / 60);
|
||||||
int seconds = static_cast<int>(timeRemaining - hours * 3600 - minutes * 60);
|
int seconds = static_cast<int>(timeRemaining - hours * 3600 - minutes * 60);
|
||||||
|
|
||||||
std::string labelText = fmt::format("({:.1f} MB {} {:.1f} MB - {:.1f} MB/s) - {}: ",
|
std::string labelText = fmt::format("menus/worker/download_progress"_i18n, fileSizeCurrentMB, fileSizeFinalMB, speedMB);
|
||||||
fileSizeCurrentMB, "menus/worker/of"_i18n, fileSizeFinalMB, speedMB, "menus/worker/remaining"_i18n);
|
if (speedMB > 0) {
|
||||||
|
std::string eta;
|
||||||
|
if (hours > 0)
|
||||||
|
eta += fmt::format("{}h ", hours);
|
||||||
|
if (minutes > 0)
|
||||||
|
eta += fmt::format("{}m ", minutes);
|
||||||
|
|
||||||
if (hours > 0)
|
eta += fmt::format("{}s", seconds);
|
||||||
labelText += fmt::format("{}{} ", hours, "menus/worker/hours"_i18n);
|
labelText += "\n" + fmt::format("menus/worker/time_left"_i18n, eta);
|
||||||
if (minutes > 0)
|
}
|
||||||
labelText += fmt::format("{}{} ", minutes, "menus/worker/minutes"_i18n);
|
|
||||||
|
|
||||||
labelText += fmt::format("{}{}", seconds, "menus/worker/seconds"_i18n);
|
|
||||||
|
|
||||||
return labelText;
|
return labelText;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue