From dfe12252bba8cbfe427752ad9ed101002a76fe67 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Sat, 1 Apr 2023 12:32:47 -0400 Subject: [Feature, Plugin] lastfm_scrobbler_viewer a plugin to view lastfm scrobbler logs uses print cell to give a spreadsheet view of scrobbler logs buffers the whole file if possible otherwise it reads entries from disk rudimentary text searching for columns include / exclude; all/any and case sensitive Change-Id: Id9616e5796658952fba4ea747f596cb77d6f34c0 --- apps/plugins/keyremap.c | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'apps/plugins/keyremap.c') diff --git a/apps/plugins/keyremap.c b/apps/plugins/keyremap.c index f0b36a735e..202d5fcfa4 100644 --- a/apps/plugins/keyremap.c +++ b/apps/plugins/keyremap.c @@ -1422,6 +1422,17 @@ static int list_voice_cb(int list_index, void* data) else rb->talk_spell(name, true); } + else if(data == MENU_ID(M_SETKEYS)) + { + char buf[MAX_MENU_NAME]; + int selcol = printcell_get_column_selected(); + const char* name = printcell_get_column_text(selcol, buf, sizeof(buf)); + long id = P2ID((const unsigned char *)name); + if(id>=0) + rb->talk_id(id, true); + else + rb->talk_spell(name, true); + } else { char buf[MAX_MENU_NAME]; @@ -1606,14 +1617,14 @@ int menu_action_setkeys(int *action, int selected_item, bool* exit, struct gui_s } else { - keyset.view_lastcol = printcell_increment_column(lists, 1, true); + keyset.view_lastcol = printcell_increment_column(1, true); *action = ACTION_NONE; } } } else if (*action == ACTION_STD_CANCEL) { - keyset.view_lastcol = printcell_increment_column(lists, -1, true); + keyset.view_lastcol = printcell_increment_column(-1, true); if (keyset.view_lastcol != keyset.view_columns - 1) { *action = ACTION_NONE; @@ -2038,7 +2049,7 @@ static void synclist_set(int id, int selected_item, int items, int sel_size) rb->gui_synclist_set_voice_callback(&lists, list_voice_cb); rb->gui_synclist_set_nb_items(&lists,items); rb->gui_synclist_select_item(&lists, selected_item); - printcell_enable(&lists, false, false); + printcell_enable(false); if (menu_id == MENU_ID(M_ROOT)) { @@ -2047,15 +2058,16 @@ static void synclist_set(int id, int selected_item, int items, int sel_size) } else if (menu_id == MENU_ID(M_SETKEYS)) { - printcell_enable(&lists, true, true); - keyset.view_columns = printcell_set_columns(&lists, ACTVIEW_HEADER, Icon_Rockbox); - int curcol = printcell_increment_column(&lists, 0, true); + keyset.view_columns = printcell_set_columns(&lists, NULL, + ACTVIEW_HEADER, Icon_Rockbox); + printcell_enable(true); + int curcol = printcell_get_column_selected(); if (keyset.view_lastcol >= keyset.view_columns) keyset.view_lastcol = -1; /* restore column position */ while (keyset.view_lastcol > -1 && curcol != keyset.view_lastcol) { - curcol = printcell_increment_column(&lists, 1, true); + curcol = printcell_increment_column(1, true); } keyset.view_lastcol = curcol; } @@ -2065,9 +2077,8 @@ static void synclist_set(int id, int selected_item, int items, int sel_size) PEEK_MENU_ID(id); lang_strlcpy(menu_title, mainitem(id)->name, sizeof(menu_title)); rb->gui_synclist_set_title(&lists, menu_title, Icon_Submenu_Entered); - /* if (menu_title[0] == '$'){ printcell_enable(&lists, true, true); } */ + /* if (menu_title[0] == '$'){ printcell_enable(true); } */ } - } static void keyremap_set_buffer(void* buffer, size_t buf_size) -- cgit v1.2.3