Skip to content

Commit 72b9c90

Browse files
committed
feat: add game list sorting by name and default order in amiidb #344
1 parent 4542467 commit 72b9c90

File tree

22 files changed

+1052
-990
lines changed

22 files changed

+1052
-990
lines changed

fw/application/src/app/amiidb/scene/amiidb_scene_game_list.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,12 @@ static int amiidb_scene_game_list_list_view_sort_cb(const mui_list_item_t *p_ite
4545
if (p_item_a->icon == ICON_FOLDER && p_item_b->icon == ICON_FOLDER) {
4646
db_game_t *p_game_a = (db_game_t *)p_item_a->user_data;
4747
db_game_t *p_game_b = (db_game_t *)p_item_b->user_data;
48-
return p_game_b->order - p_game_a->order;
48+
settings_data_t *p_settings_data = settings_get_data();
49+
if (p_settings_data->amiidb_sort_column == AMIIDB_SORT_COLUMN_NAME) {
50+
return strcmp(p_game_a->name_en, p_game_b->name_en);
51+
} else {
52+
return p_game_b->order - p_game_a->order;
53+
}
4954
} else if (p_item_a->icon == ICON_FOLDER && p_item_b->icon == ICON_FILE) {
5055
return -1;
5156
} else {
@@ -115,7 +120,7 @@ void amiidb_scene_game_list_on_enter(void *user_data) {
115120
app_amiidb_t *app = (app_amiidb_t *)user_data;
116121
amiidb_scene_game_list_reload(app);
117122

118-
//restore states
123+
// restore states
119124
mui_list_view_set_focus(app->p_list_view, app->cur_focus_index);
120125
mui_list_view_set_scroll_offset(app->p_list_view, app->cur_scroll_offset);
121126
}

fw/application/src/app/amiidb/scene/amiidb_scene_settings.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@ static void amiidb_scene_settings_on_selected(mui_list_view_event_t event, mui_l
1919
case ICON_SLOT: {
2020
mui_scene_dispatcher_next_scene(app->p_scene_dispatcher, AMIIDB_SCENE_SETTINGS_SLOT_NUM);
2121
} break;
22+
23+
case ICON_SETTINGS: {
24+
settings_data_t *p_settings = settings_get_data();
25+
p_settings->amiidb_sort_column = (p_settings->amiidb_sort_column + 1) % 2;
26+
char txt[32];
27+
sprintf(txt, "[%s]",(p_settings->amiidb_sort_column == AMIIDB_SORT_COLUMN_DEFAULT ? getLangString(_L_APP_AMIIDB_SORT_DEFAULT) : getLangString(_L_APP_AMIIDB_SORT_NAME)));
28+
mui_list_view_item_set_sub_text(p_item, txt);
29+
} break;
2230
}
2331
}
2432

@@ -35,6 +43,8 @@ void amiidb_scene_settings_on_enter(void *user_data) {
3543
mui_list_view_add_item(app->p_list_view, ICON_KEY, txt, (void *)0);
3644
sprintf(txt, "%s [%d]", getLangString(_L_APP_AMIIDB_SETTINGS_SLOT_NUM), p_settings->amiidb_data_slot_num);
3745
mui_list_view_add_item(app->p_list_view, ICON_SLOT, txt, (void *)0);
46+
sprintf(txt, "[%s]",(p_settings->amiidb_sort_column == AMIIDB_SORT_COLUMN_DEFAULT ? getLangString(_L_APP_AMIIDB_SORT_DEFAULT) : getLangString(_L_APP_AMIIDB_SORT_NAME)));
47+
mui_list_view_add_item_ext(app->p_list_view, ICON_SETTINGS, getLangString(_L_APP_AMIIDB_SORT_FIELD), txt, (void *)0);
3848
mui_list_view_add_item(app->p_list_view, ICON_EXIT, getLangString(_L_APP_AMIIDB_BACK), (void *)0);
3949

4050
mui_list_view_set_selected_cb(app->p_list_view, amiidb_scene_settings_on_selected);

fw/application/src/i18n/de_DE.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ const char * const lang_de_DE[_L_COUNT] = {
144144
[_L_APP_AMIIDB_FAV_FAILED] = "Favorisieren fehlgeschlagen!",
145145
[_L_APP_AMIIDB_SLOT_SAVE_SUCCESS] = "Speichern erfolgreich",
146146
[_L_APP_AMIIDB_SLOT_SAVE_FAILED] = "Speichern fehlgeschlagen!",
147+
[_L_APP_AMIIDB_SORT_FIELD] = "Sortierfeld",
148+
[_L_APP_AMIIDB_SORT_DEFAULT] = "Standard",
149+
[_L_APP_AMIIDB_SORT_NAME] = "Name",
147150
[_L_APP_CHAMELEON] = "Karten Emulator",
148151
[_L_APP_CHAMELEON_TAG_MF1_WRITE_NORMAL] = "Normal",
149152
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DENIED] = "Verweigern",

fw/application/src/i18n/en_US.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ const char * const lang_en_US[_L_COUNT] = {
144144
[_L_APP_AMIIDB_FAV_FAILED] = "Favorite Failed!",
145145
[_L_APP_AMIIDB_SLOT_SAVE_SUCCESS] = "Save Success",
146146
[_L_APP_AMIIDB_SLOT_SAVE_FAILED] = "Save Failed!",
147+
[_L_APP_AMIIDB_SORT_FIELD] = "Sort Field",
148+
[_L_APP_AMIIDB_SORT_DEFAULT] = "Default",
149+
[_L_APP_AMIIDB_SORT_NAME] = "Name",
147150
[_L_APP_CHAMELEON] = "Card Emulator",
148151
[_L_APP_CHAMELEON_TAG_MF1_WRITE_NORMAL] = "Normal",
149152
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DENIED] = "Deny",

fw/application/src/i18n/es_ES.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ const char * const lang_es_ES[_L_COUNT] = {
144144
[_L_APP_AMIIDB_FAV_FAILED] = "¡Fallo al adicionar\na Favoritos!",
145145
[_L_APP_AMIIDB_SLOT_SAVE_SUCCESS] = "Asignación correcta",
146146
[_L_APP_AMIIDB_SLOT_SAVE_FAILED] = "¡Asignación fallida!",
147+
[_L_APP_AMIIDB_SORT_FIELD] = "Campo de ordenación",
148+
[_L_APP_AMIIDB_SORT_DEFAULT] = "Por defecto",
149+
[_L_APP_AMIIDB_SORT_NAME] = "Nombre",
147150
[_L_APP_CHAMELEON] = "Emular Etiqueta RFID",
148151
[_L_APP_CHAMELEON_TAG_MF1_WRITE_NORMAL] = "Normal",
149152
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DENIED] = "Negar",

fw/application/src/i18n/fr_FR.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ const char * const lang_fr_FR[_L_COUNT] = {
144144
[_L_APP_AMIIDB_FAV_FAILED] = "Échec du Favori!",
145145
[_L_APP_AMIIDB_SLOT_SAVE_SUCCESS] = "Sauvegarder Succès",
146146
[_L_APP_AMIIDB_SLOT_SAVE_FAILED] = "Sauvegarde Échouée!",
147+
[_L_APP_AMIIDB_SORT_FIELD] = "Champ de tri",
148+
[_L_APP_AMIIDB_SORT_DEFAULT] = "Par défaut",
149+
[_L_APP_AMIIDB_SORT_NAME] = "Nom",
147150
[_L_APP_CHAMELEON] = "Emulateur de Carte",
148151
[_L_APP_CHAMELEON_TAG_MF1_WRITE_NORMAL] = "Normal",
149152
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DENIED] = "Refuser",

fw/application/src/i18n/hu_HU.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ const char * const lang_hu_HU[_L_COUNT] = {
144144
[_L_APP_AMIIDB_FAV_FAILED] = "Kedvenc Sikertelen!",
145145
[_L_APP_AMIIDB_SLOT_SAVE_SUCCESS] = "Sikeresen Mentve",
146146
[_L_APP_AMIIDB_SLOT_SAVE_FAILED] = "Mentés Sikertelen!",
147+
[_L_APP_AMIIDB_SORT_FIELD] = "Rendezési mező",
148+
[_L_APP_AMIIDB_SORT_DEFAULT] = "Alapértelmezett",
149+
[_L_APP_AMIIDB_SORT_NAME] = "Név",
147150
[_L_APP_CHAMELEON] = "Kártya Emulátor",
148151
[_L_APP_CHAMELEON_TAG_MF1_WRITE_NORMAL] = "Normál",
149152
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DENIED] = "Tagadni",

fw/application/src/i18n/it_IT.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ const char * const lang_it_IT[_L_COUNT] = {
144144
[_L_APP_AMIIDB_FAV_FAILED] = "Preferito non aggiunto!",
145145
[_L_APP_AMIIDB_SLOT_SAVE_SUCCESS] = "Assegnazione corretta",
146146
[_L_APP_AMIIDB_SLOT_SAVE_FAILED] = "Assegnazione fallita!",
147+
[_L_APP_AMIIDB_SORT_FIELD] = "Campo di ordinamento",
148+
[_L_APP_AMIIDB_SORT_DEFAULT] = "Predefinito",
149+
[_L_APP_AMIIDB_SORT_NAME] = "Nome",
147150
[_L_APP_CHAMELEON] = "Emula tag RFID",
148151
[_L_APP_CHAMELEON_TAG_MF1_WRITE_NORMAL] = "Normale",
149152
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DENIED] = "Nega",

fw/application/src/i18n/ja_JP.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ const char * const lang_ja_JP[_L_COUNT] = {
144144
[_L_APP_AMIIDB_FAV_FAILED] = "お気に入りに追加できませんでした!",
145145
[_L_APP_AMIIDB_SLOT_SAVE_SUCCESS] = "保存されました",
146146
[_L_APP_AMIIDB_SLOT_SAVE_FAILED] = "保存に失敗しました!",
147+
[_L_APP_AMIIDB_SORT_FIELD] = "並べ替えフィールド",
148+
[_L_APP_AMIIDB_SORT_DEFAULT] = "デフォルト",
149+
[_L_APP_AMIIDB_SORT_NAME] = "名前",
147150
[_L_APP_CHAMELEON] = "カードエミュレータ",
148151
[_L_APP_CHAMELEON_TAG_MF1_WRITE_NORMAL] = "通常",
149152
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DENIED] = "拒否",

fw/application/src/i18n/nl_NL.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ const char * const lang_nl_NL[_L_COUNT] = {
144144
[_L_APP_AMIIDB_FAV_FAILED] = "Favoriet Mislukt!",
145145
[_L_APP_AMIIDB_SLOT_SAVE_SUCCESS] = "Opslaan Succes",
146146
[_L_APP_AMIIDB_SLOT_SAVE_FAILED] = "Opslaan Mislukt!",
147+
[_L_APP_AMIIDB_SORT_FIELD] = "Sorteerveld",
148+
[_L_APP_AMIIDB_SORT_DEFAULT] = "Standaard",
149+
[_L_APP_AMIIDB_SORT_NAME] = "Naam",
147150
[_L_APP_CHAMELEON] = "Kaart Emulator",
148151
[_L_APP_CHAMELEON_TAG_MF1_WRITE_NORMAL] = "Normaal",
149152
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DENIED] = "Weigeren",

0 commit comments

Comments
 (0)