mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-08-12 12:18:35 -05:00
Add enhanced relative time to variable tab cells
This commit is contained in:
committed by
WarmUpTill
parent
57d78a996a
commit
6ccbaad41c
@@ -8,7 +8,7 @@ namespace advss {
|
||||
|
||||
static void populateUnits(QComboBox *list)
|
||||
{
|
||||
list->addItem(obs_module_text("AdvSceneSwitcher.unit.secends"));
|
||||
list->addItem(obs_module_text("AdvSceneSwitcher.unit.seconds"));
|
||||
list->addItem(obs_module_text("AdvSceneSwitcher.unit.minutes"));
|
||||
list->addItem(obs_module_text("AdvSceneSwitcher.unit.hours"));
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ static std::string durationUnitToString(Duration::Unit u)
|
||||
{
|
||||
switch (u) {
|
||||
case Duration::Unit::SECONDS:
|
||||
return obs_module_text("AdvSceneSwitcher.unit.secends");
|
||||
return obs_module_text("AdvSceneSwitcher.unit.seconds");
|
||||
case Duration::Unit::MINUTES:
|
||||
return obs_module_text("AdvSceneSwitcher.unit.minutes");
|
||||
case Duration::Unit::HOURS:
|
||||
|
||||
63
lib/utils/time-helpers.cpp
Normal file
63
lib/utils/time-helpers.cpp
Normal file
@@ -0,0 +1,63 @@
|
||||
#include "time-helpers.hpp"
|
||||
#include "obs-module-helper.hpp"
|
||||
|
||||
namespace advss {
|
||||
|
||||
static QString combineRelativeTimeParts(const double unitCount,
|
||||
const char *unitName)
|
||||
{
|
||||
QString combined = obs_module_text("AdvSceneSwitcher.time.relative");
|
||||
|
||||
return combined.arg(QString::number(unitCount, 'g', 2)).arg(unitName);
|
||||
}
|
||||
|
||||
QString FormatRelativeTime(const double seconds)
|
||||
{
|
||||
// 365.2425 days
|
||||
double divided = seconds / 31556952;
|
||||
if (divided >= 1) {
|
||||
return combineRelativeTimeParts(
|
||||
divided,
|
||||
obs_module_text("AdvSceneSwitcher.unit.years"));
|
||||
}
|
||||
|
||||
// 30.436875 days
|
||||
divided = seconds / 2629746;
|
||||
if (divided >= 1) {
|
||||
return combineRelativeTimeParts(
|
||||
divided,
|
||||
obs_module_text("AdvSceneSwitcher.unit.months"));
|
||||
}
|
||||
|
||||
divided = seconds / 604800;
|
||||
if (divided >= 1) {
|
||||
return combineRelativeTimeParts(
|
||||
divided,
|
||||
obs_module_text("AdvSceneSwitcher.unit.weeks"));
|
||||
}
|
||||
|
||||
divided = seconds / 86400;
|
||||
if (divided >= 1) {
|
||||
return combineRelativeTimeParts(
|
||||
divided, obs_module_text("AdvSceneSwitcher.unit.days"));
|
||||
}
|
||||
|
||||
divided = seconds / 3600;
|
||||
if (divided >= 1) {
|
||||
return combineRelativeTimeParts(
|
||||
divided,
|
||||
obs_module_text("AdvSceneSwitcher.unit.hours"));
|
||||
}
|
||||
|
||||
divided = seconds / 60;
|
||||
if (divided >= 1) {
|
||||
return combineRelativeTimeParts(
|
||||
divided,
|
||||
obs_module_text("AdvSceneSwitcher.unit.minutes"));
|
||||
}
|
||||
|
||||
return combineRelativeTimeParts(
|
||||
seconds, obs_module_text("AdvSceneSwitcher.unit.seconds"));
|
||||
}
|
||||
|
||||
} // namespace advss
|
||||
8
lib/utils/time-helpers.hpp
Normal file
8
lib/utils/time-helpers.hpp
Normal file
@@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
#include <QString>
|
||||
|
||||
namespace advss {
|
||||
|
||||
QString FormatRelativeTime(const double seconds);
|
||||
|
||||
} // namespace advss
|
||||
Reference in New Issue
Block a user