mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-06-16 20:09:44 -07:00
Add lockscreen settings to xfw app
This commit is contained in:
@@ -3,6 +3,7 @@ ADD_SCENE(xtreme_app, interface, Interface)
|
||||
ADD_SCENE(xtreme_app, interface_graphics, InterfaceGraphics)
|
||||
ADD_SCENE(xtreme_app, interface_mainmenu, InterfaceMainmenu)
|
||||
ADD_SCENE(xtreme_app, interface_mainmenu_add, InterfaceMainmenuAdd)
|
||||
ADD_SCENE(xtreme_app, interface_lockscreen, InterfaceLockscreen)
|
||||
ADD_SCENE(xtreme_app, interface_statusbar, InterfaceStatusbar)
|
||||
ADD_SCENE(xtreme_app, interface_common, InterfaceCommon)
|
||||
ADD_SCENE(xtreme_app, protocols, Protocols)
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
enum VarItemListIndex {
|
||||
VarItemListIndexGraphics,
|
||||
VarItemListIndexMainmenu,
|
||||
VarItemListIndexLockscreen,
|
||||
VarItemListIndexStatusbar,
|
||||
VarItemListIndexCommon,
|
||||
};
|
||||
@@ -18,6 +19,7 @@ void xtreme_app_scene_interface_on_enter(void* context) {
|
||||
|
||||
variable_item_list_add(var_item_list, "Graphics", 0, NULL, app);
|
||||
variable_item_list_add(var_item_list, "Mainmenu", 0, NULL, app);
|
||||
variable_item_list_add(var_item_list, "Lockscreen", 0, NULL, app);
|
||||
variable_item_list_add(var_item_list, "Statusbar", 0, NULL, app);
|
||||
variable_item_list_add(var_item_list, "Common", 0, NULL, app);
|
||||
|
||||
@@ -44,6 +46,9 @@ bool xtreme_app_scene_interface_on_event(void* context, SceneManagerEvent event)
|
||||
case VarItemListIndexMainmenu:
|
||||
scene_manager_next_scene(app->scene_manager, XtremeAppSceneInterfaceMainmenu);
|
||||
break;
|
||||
case VarItemListIndexLockscreen:
|
||||
scene_manager_next_scene(app->scene_manager, XtremeAppSceneInterfaceLockscreen);
|
||||
break;
|
||||
case VarItemListIndexStatusbar:
|
||||
scene_manager_next_scene(app->scene_manager, XtremeAppSceneInterfaceStatusbar);
|
||||
break;
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
#include "../xtreme_app.h"
|
||||
|
||||
enum VarItemListIndex {
|
||||
VarItemListIndexShowClock,
|
||||
VarItemListIndexShowDate,
|
||||
};
|
||||
|
||||
void xtreme_app_scene_interface_lockscreen_var_item_list_callback(void* context, uint32_t index) {
|
||||
XtremeApp* app = context;
|
||||
view_dispatcher_send_custom_event(app->view_dispatcher, index);
|
||||
}
|
||||
|
||||
static void xtreme_app_scene_interface_lockscreen_show_time_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_time = value;
|
||||
app->save_settings = true;
|
||||
}
|
||||
|
||||
static void xtreme_app_scene_interface_lockscreen_show_date_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_date = value;
|
||||
app->save_settings = true;
|
||||
}
|
||||
|
||||
static void xtreme_app_scene_interface_lockscreen_show_statusbar_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_statusbar = value;
|
||||
app->save_settings = true;
|
||||
}
|
||||
|
||||
void xtreme_app_scene_interface_lockscreen_on_enter(void* context) {
|
||||
XtremeApp* app = context;
|
||||
XtremeSettings* xtreme_settings = XTREME_SETTINGS();
|
||||
VariableItemList* var_item_list = app->var_item_list;
|
||||
VariableItem* item;
|
||||
|
||||
item = variable_item_list_add(
|
||||
var_item_list, "Show Time", 2, xtreme_app_scene_interface_lockscreen_show_time_changed, app);
|
||||
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_time);
|
||||
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_time ? "ON" : "OFF");
|
||||
|
||||
item = variable_item_list_add(
|
||||
var_item_list, "Show Date", 2, xtreme_app_scene_interface_lockscreen_show_date_changed, app);
|
||||
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_date);
|
||||
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_date ? "ON" : "OFF");
|
||||
|
||||
item = variable_item_list_add(
|
||||
var_item_list, "Show Statusbar", 2, xtreme_app_scene_interface_lockscreen_show_statusbar_changed, app);
|
||||
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_statusbar);
|
||||
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_statusbar ? "ON" : "OFF");
|
||||
|
||||
variable_item_list_set_enter_callback(
|
||||
var_item_list, xtreme_app_scene_interface_lockscreen_var_item_list_callback, app);
|
||||
|
||||
variable_item_list_set_selected_item(
|
||||
var_item_list, scene_manager_get_scene_state(app->scene_manager, XtremeAppSceneInterfaceLockscreen));
|
||||
|
||||
view_dispatcher_switch_to_view(app->view_dispatcher, XtremeAppViewVarItemList);
|
||||
}
|
||||
|
||||
bool xtreme_app_scene_interface_lockscreen_on_event(void* context, SceneManagerEvent event) {
|
||||
XtremeApp* app = context;
|
||||
bool consumed = false;
|
||||
|
||||
if(event.type == SceneManagerEventTypeCustom) {
|
||||
scene_manager_set_scene_state(app->scene_manager, XtremeAppSceneInterfaceLockscreen, event.event);
|
||||
consumed = true;
|
||||
switch(event.event) {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return consumed;
|
||||
}
|
||||
|
||||
void xtreme_app_scene_interface_lockscreen_on_exit(void* context) {
|
||||
XtremeApp* app = context;
|
||||
variable_item_list_reset(app->var_item_list);
|
||||
}
|
||||
@@ -91,17 +91,23 @@ void desktop_view_locked_draw_lockscreen(Canvas* canvas, void* m) {
|
||||
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_set_font(canvas, FontBigNumbers);
|
||||
canvas_draw_str(canvas, 0, 64 + y, time_str);
|
||||
int meridian_offset = canvas_string_width(canvas, time_str) + 2;
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str(canvas, 0, 48 + y, date_str);
|
||||
if(time_format == LocaleTimeFormat12h) {
|
||||
canvas_draw_str(canvas, 0 + meridian_offset, 64 + y, meridian_str);
|
||||
if(xtreme_settings->lockscreen_time) {
|
||||
canvas_set_font(canvas, FontBigNumbers);
|
||||
canvas_draw_str(canvas, 0, 64 + y, time_str);
|
||||
if(time_format == LocaleTimeFormat12h) {
|
||||
int meridian_offset = canvas_string_width(canvas, time_str) + 2;
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str(canvas, 0 + meridian_offset, 64 + y, meridian_str);
|
||||
}
|
||||
}
|
||||
if(xtreme_settings->lockscreen_date) {
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str(canvas, 0, 48 + y + 16 * !xtreme_settings->lockscreen_time, date_str);
|
||||
}
|
||||
canvas_set_font(canvas, FontBatteryPercent);
|
||||
if(model->view_state == DesktopViewLockedStateLockedHintShown) {
|
||||
canvas_set_font(canvas, FontBatteryPercent);
|
||||
canvas_draw_str_aligned(canvas, 79, 6 + y, AlignRight, AlignCenter, "Press 3x");
|
||||
canvas_draw_icon(canvas, 81, 2 + y, &I_Pin_back_arrow_10x8);
|
||||
}
|
||||
|
||||
@@ -40,6 +40,9 @@ void XTREME_SETTINGS_LOAD() {
|
||||
xtreme_settings->cycle_anims = 0; // Meta.txt
|
||||
xtreme_settings->unlock_anims = false; // OFF
|
||||
xtreme_settings->wii_menu = true; // ON
|
||||
xtreme_settings->lockscreen_time = true; // ON
|
||||
xtreme_settings->lockscreen_date = true; // ON
|
||||
xtreme_settings->lockscreen_statusbar = true; // ON
|
||||
xtreme_settings->battery_icon = BatteryIconBarPercent; // Bar %
|
||||
xtreme_settings->status_icons = true; // ON
|
||||
xtreme_settings->bar_borders = true; // ON
|
||||
|
||||
@@ -15,7 +15,7 @@ extern "C" {
|
||||
|
||||
#define MAX_PACK_NAME_LEN 32
|
||||
|
||||
#define XTREME_SETTINGS_VERSION (7)
|
||||
#define XTREME_SETTINGS_VERSION (8)
|
||||
#define XTREME_SETTINGS_PATH_OLD INT_PATH(XTREME_SETTINGS_FILE_NAME)
|
||||
#define XTREME_SETTINGS_PATH EXT_PATH(XTREME_SETTINGS_FILE_NAME)
|
||||
#define XTREME_SETTINGS_MAGIC (0x69)
|
||||
@@ -28,6 +28,9 @@ typedef struct {
|
||||
int32_t cycle_anims;
|
||||
bool unlock_anims;
|
||||
bool wii_menu;
|
||||
bool lockscreen_time;
|
||||
bool lockscreen_date;
|
||||
bool lockscreen_statusbar;
|
||||
BatteryIcon battery_icon;
|
||||
bool status_icons;
|
||||
bool bar_borders;
|
||||
|
||||
Reference in New Issue
Block a user