mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-13 09:38:35 -07:00
Add option to show seconds on lockscreen
This commit is contained in:
@@ -18,6 +18,14 @@ static void xtreme_app_scene_interface_lockscreen_show_time_changed(VariableItem
|
|||||||
app->save_settings = true;
|
app->save_settings = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void xtreme_app_scene_interface_lockscreen_show_seconds_changed(VariableItem* item) {
|
||||||
|
XtremeApp* app = variable_item_get_context(item);
|
||||||
|
bool value = variable_item_get_current_value_index(item);
|
||||||
|
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
|
||||||
|
XTREME_SETTINGS()->lockscreen_seconds = value;
|
||||||
|
app->save_settings = true;
|
||||||
|
}
|
||||||
|
|
||||||
static void xtreme_app_scene_interface_lockscreen_show_date_changed(VariableItem* item) {
|
static void xtreme_app_scene_interface_lockscreen_show_date_changed(VariableItem* item) {
|
||||||
XtremeApp* app = variable_item_get_context(item);
|
XtremeApp* app = variable_item_get_context(item);
|
||||||
bool value = variable_item_get_current_value_index(item);
|
bool value = variable_item_get_current_value_index(item);
|
||||||
@@ -57,6 +65,15 @@ void xtreme_app_scene_interface_lockscreen_on_enter(void* context) {
|
|||||||
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_time);
|
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_time);
|
||||||
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_time ? "ON" : "OFF");
|
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_time ? "ON" : "OFF");
|
||||||
|
|
||||||
|
item = variable_item_list_add(
|
||||||
|
var_item_list,
|
||||||
|
"Show Seconds",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_lockscreen_show_seconds_changed,
|
||||||
|
app);
|
||||||
|
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_seconds);
|
||||||
|
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_seconds ? "ON" : "OFF");
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list,
|
var_item_list,
|
||||||
"Show Date",
|
"Show Date",
|
||||||
|
|||||||
@@ -67,22 +67,24 @@ void desktop_view_locked_draw_lockscreen(Canvas* canvas, void* m) {
|
|||||||
DesktopViewLockedModel* model = m;
|
DesktopViewLockedModel* model = m;
|
||||||
int y = model->cover_offset;
|
int y = model->cover_offset;
|
||||||
char time_str[9];
|
char time_str[9];
|
||||||
|
char second_str[5];
|
||||||
char date_str[14];
|
char date_str[14];
|
||||||
char meridian_str[3];
|
char meridian_str[3];
|
||||||
FuriHalRtcDateTime datetime;
|
FuriHalRtcDateTime datetime;
|
||||||
furi_hal_rtc_get_datetime(&datetime);
|
furi_hal_rtc_get_datetime(&datetime);
|
||||||
LocaleTimeFormat time_format = locale_get_time_format();
|
LocaleTimeFormat time_format = locale_get_time_format();
|
||||||
LocaleDateFormat date_format = locale_get_date_format();
|
LocaleDateFormat date_format = locale_get_date_format();
|
||||||
|
XtremeSettings* xtreme_settings = XTREME_SETTINGS();
|
||||||
|
|
||||||
|
bool pm;
|
||||||
if(time_format == LocaleTimeFormat24h) {
|
if(time_format == LocaleTimeFormat24h) {
|
||||||
snprintf(time_str, 9, "%.2d:%.2d", datetime.hour, datetime.minute);
|
pm = false;
|
||||||
} else {
|
} else {
|
||||||
bool pm = datetime.hour > 12;
|
pm = datetime.hour > 12;
|
||||||
bool pm12 = datetime.hour >= 12;
|
snprintf(meridian_str, 3, datetime.hour >= 12 ? "PM" : "AM");
|
||||||
snprintf(
|
|
||||||
time_str, 9, "%.2d:%.2d", pm ? datetime.hour - 12 : datetime.hour, datetime.minute);
|
|
||||||
snprintf(meridian_str, 3, pm12 ? "PM" : "AM");
|
|
||||||
}
|
}
|
||||||
|
snprintf(time_str, 9, "%.2d:%.2d", pm ? datetime.hour - 12 : datetime.hour, datetime.minute);
|
||||||
|
snprintf(second_str, 5, ":%.2d", datetime.second);
|
||||||
|
|
||||||
if(date_format == LocaleDateFormatYMD) {
|
if(date_format == LocaleDateFormatYMD) {
|
||||||
snprintf(date_str, 14, "%.4d-%.2d-%.2d", datetime.year, datetime.month, datetime.day);
|
snprintf(date_str, 14, "%.4d-%.2d-%.2d", datetime.year, datetime.month, datetime.day);
|
||||||
@@ -92,15 +94,19 @@ void desktop_view_locked_draw_lockscreen(Canvas* canvas, void* m) {
|
|||||||
snprintf(date_str, 14, "%.2d-%.2d-%.4d", datetime.day, datetime.month, datetime.year);
|
snprintf(date_str, 14, "%.2d-%.2d-%.4d", datetime.day, datetime.month, datetime.year);
|
||||||
}
|
}
|
||||||
|
|
||||||
XtremeSettings* xtreme_settings = XTREME_SETTINGS();
|
|
||||||
canvas_draw_icon(canvas, 0, 0 + y, XTREME_ASSETS()->I_Lockscreen);
|
canvas_draw_icon(canvas, 0, 0 + y, XTREME_ASSETS()->I_Lockscreen);
|
||||||
if(xtreme_settings->lockscreen_time) {
|
if(xtreme_settings->lockscreen_time) {
|
||||||
canvas_set_font(canvas, FontBigNumbers);
|
canvas_set_font(canvas, FontBigNumbers);
|
||||||
canvas_draw_str(canvas, 0, 64 + y, time_str);
|
canvas_draw_str(canvas, 0, 64 + y, time_str);
|
||||||
if(time_format == LocaleTimeFormat12h) {
|
int offset = canvas_string_width(canvas, time_str) + 2;
|
||||||
int meridian_offset = canvas_string_width(canvas, time_str) + 2;
|
if(xtreme_settings->lockscreen_seconds) {
|
||||||
canvas_set_font(canvas, FontSecondary);
|
canvas_set_font(canvas, FontSecondary);
|
||||||
canvas_draw_str(canvas, 0 + meridian_offset, 64 + y, meridian_str);
|
canvas_draw_str(canvas, 0 + offset, 64 + y, second_str);
|
||||||
|
offset += canvas_string_width(canvas, ":00") + 2;
|
||||||
|
}
|
||||||
|
if(time_format == LocaleTimeFormat12h) {
|
||||||
|
canvas_set_font(canvas, FontKeyboard);
|
||||||
|
canvas_draw_str(canvas, 0 + offset, 64 + y, meridian_str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(xtreme_settings->lockscreen_date) {
|
if(xtreme_settings->lockscreen_date) {
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ void XTREME_SETTINGS_LOAD() {
|
|||||||
xtreme_settings->fallback_anim = true; // ON
|
xtreme_settings->fallback_anim = true; // ON
|
||||||
xtreme_settings->wii_menu = true; // ON
|
xtreme_settings->wii_menu = true; // ON
|
||||||
xtreme_settings->lockscreen_time = true; // ON
|
xtreme_settings->lockscreen_time = true; // ON
|
||||||
|
xtreme_settings->lockscreen_seconds = false; // ON
|
||||||
xtreme_settings->lockscreen_date = true; // ON
|
xtreme_settings->lockscreen_date = true; // ON
|
||||||
xtreme_settings->lockscreen_statusbar = true; // ON
|
xtreme_settings->lockscreen_statusbar = true; // ON
|
||||||
xtreme_settings->lockscreen_prompt = true; // ON
|
xtreme_settings->lockscreen_prompt = true; // ON
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ extern "C" {
|
|||||||
|
|
||||||
#define MAX_PACK_NAME_LEN 32
|
#define MAX_PACK_NAME_LEN 32
|
||||||
|
|
||||||
#define XTREME_SETTINGS_VERSION (10)
|
#define XTREME_SETTINGS_VERSION (11)
|
||||||
#define XTREME_SETTINGS_MAGIC (0x69)
|
#define XTREME_SETTINGS_MAGIC (0x69)
|
||||||
#define XTREME_SETTINGS_OLD_INT_PATH INT_PATH(".xtreme.settings")
|
#define XTREME_SETTINGS_OLD_INT_PATH INT_PATH(".xtreme.settings")
|
||||||
#define XTREME_SETTINGS_OLD_PATH EXT_PATH(".xtreme.settings")
|
#define XTREME_SETTINGS_OLD_PATH EXT_PATH(".xtreme.settings")
|
||||||
@@ -29,6 +29,7 @@ typedef struct {
|
|||||||
bool fallback_anim;
|
bool fallback_anim;
|
||||||
bool wii_menu;
|
bool wii_menu;
|
||||||
bool lockscreen_time;
|
bool lockscreen_time;
|
||||||
|
bool lockscreen_seconds;
|
||||||
bool lockscreen_date;
|
bool lockscreen_date;
|
||||||
bool lockscreen_statusbar;
|
bool lockscreen_statusbar;
|
||||||
bool lockscreen_prompt;
|
bool lockscreen_prompt;
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 12 KiB |
Reference in New Issue
Block a user