Pride flag watchface (#2201)

This commit is contained in:
Eshe 2025-06-19 16:53:45 +00:00 committed by GitHub
parent 3fc00f80db
commit 4517fb8c4b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 469 additions and 1 deletions

View file

@ -9,6 +9,8 @@ using namespace Pinetime::Controllers;
namespace {
constexpr const char* const DaysStringShort[] = {"--", "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};
constexpr const char* const DaysStringShortLow[] = {"--", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
constexpr const char* const DaysString[] = {"--", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"};
constexpr const char* const DaysStringLow[] = {"--", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
constexpr const char* const MonthsString[] = {"--", "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"};
constexpr const char* const MonthsStringLow[] =
{"--", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
@ -144,6 +146,10 @@ const char* DateTime::DayOfWeekShortToString() const {
return DaysStringShort[static_cast<uint8_t>(DayOfWeek())];
}
const char* DateTime::DayOfWeekToString() const {
return DaysString[static_cast<uint8_t>(DayOfWeek())];
}
const char* DateTime::MonthShortToStringLow(Months month) {
return MonthsStringLow[static_cast<uint8_t>(month)];
}
@ -152,6 +158,10 @@ const char* DateTime::DayOfWeekShortToStringLow(Days day) {
return DaysStringShortLow[static_cast<uint8_t>(day)];
}
const char* DateTime::DayOfWeekToStringLow(Days day) {
return DaysStringLow[static_cast<uint8_t>(day)];
}
void DateTime::Register(Pinetime::System::SystemTask* systemTask) {
this->systemTask = systemTask;
}

View file

@ -121,8 +121,10 @@ namespace Pinetime {
const char* MonthShortToString() const;
const char* DayOfWeekShortToString() const;
const char* DayOfWeekToString() const;
static const char* MonthShortToStringLow(Months month);
static const char* DayOfWeekShortToStringLow(Days day);
static const char* DayOfWeekToStringLow(Days day);
std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> CurrentDateTime();

View file

@ -36,6 +36,7 @@ namespace Pinetime {
};
enum class PTSGaugeStyle : uint8_t { Full, Half, Numeric };
enum class PTSWeather : uint8_t { On, Off };
enum class PrideFlag : uint8_t { Gay, Trans, Bi, Lesbian };
struct PineTimeStyle {
Colors ColorTime = Colors::Teal;
@ -154,6 +155,16 @@ namespace Pinetime {
return settings.PTS.weatherEnable;
};
void SetPrideFlag(PrideFlag prideFlag) {
if (prideFlag != settings.prideFlag)
settingsChanged = true;
settings.prideFlag = prideFlag;
};
PrideFlag GetPrideFlag() const {
return settings.prideFlag;
};
void SetAppMenu(uint8_t menu) {
appMenu = menu;
};
@ -301,7 +312,7 @@ namespace Pinetime {
private:
Pinetime::Controllers::FS& fs;
static constexpr uint32_t settingsVersion = 0x0008;
static constexpr uint32_t settingsVersion = 0x0009;
struct SettingsData {
uint32_t version = settingsVersion;
@ -319,6 +330,8 @@ namespace Pinetime {
PineTimeStyle PTS;
PrideFlag prideFlag = PrideFlag::Gay;
WatchFaceInfineat watchFaceInfineat;
std::bitset<5> wakeUpMode {0};