summaryrefslogtreecommitdiffstats
path: root/apps/plugins/rb_info.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/rb_info.c')
-rw-r--r--apps/plugins/rb_info.c35
1 files changed, 21 insertions, 14 deletions
diff --git a/apps/plugins/rb_info.c b/apps/plugins/rb_info.c
index f123a623d2..a89cc658cc 100644
--- a/apps/plugins/rb_info.c
+++ b/apps/plugins/rb_info.c
@@ -335,6 +335,17 @@ static int list_voice_cb(int list_index, void* data)
rb->talk_spell(name, true);
}
}
+ else if (data == MENU_ID(M_TESTPUT))
+ {
+ char buf[64];
+ const char* name = printcell_get_column_text(printcell_get_column_selected(),
+ 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[64];
@@ -354,12 +365,12 @@ int menu_action_cb(int *action, int selected_item, bool* exit, struct gui_syncli
{
if (*action == ACTION_STD_OK)
{
- printcell_increment_column(lists, 1, true);
+ printcell_increment_column(1, true);
*action = ACTION_NONE;
}
else if (*action == ACTION_STD_CANCEL)
{
- if (printcell_increment_column(lists, -1, true) != testput_cols - 1)
+ if (printcell_increment_column(-1, true) != testput_cols - 1)
{
*action = ACTION_NONE;
}
@@ -368,7 +379,8 @@ int menu_action_cb(int *action, int selected_item, bool* exit, struct gui_syncli
{
char buf[PRINTCELL_MAXLINELEN];
char* bufp = buf;
- bufp = printcell_get_selected_column_text(lists, bufp, PRINTCELL_MAXLINELEN);
+ int selcol = printcell_get_column_selected();
+ bufp = printcell_get_column_text(selcol, bufp, PRINTCELL_MAXLINELEN);
rb->splashf(HZ * 2, "Item: %s", bufp);
}
}
@@ -429,18 +441,12 @@ int menu_action_cb(int *action, int selected_item, bool* exit, struct gui_syncli
if (cur->menuid == MENU_ID(M_TESTPUT))
{
synclist_set(cur->menuid, 0, cur->items, 1);
-#if LCD_DEPTH > 1
- /* If line sep is set to automatic then outline cells */
- bool showlinesep = (rb->global_settings->list_separator_height < 0);
-#else
- bool showlinesep = (rb->global_settings->cursor_style == 0);
-#endif
- printcell_enable(lists, true, showlinesep);
+ printcell_enable(true);
//lists->callback_draw_item = test_listdraw_fn;
}
else
{
- printcell_enable(lists, false, false);
+ printcell_enable(false);
synclist_set(cur->menuid, 1, cur->items, 1);
}
rb->gui_synclist_draw(lists);
@@ -473,7 +479,7 @@ int menu_action_cb(int *action, int selected_item, bool* exit, struct gui_syncli
if (lists->data == MENU_ID(M_TESTPUT))
{
//lists->callback_draw_item = NULL;
- printcell_enable(lists, false, false);
+ printcell_enable(false);
}
if (lists->data != MENU_ID(M_ROOT))
{
@@ -505,7 +511,8 @@ static void synclist_set(char* menu_id, int selected_item, int items, int sel_si
menu_id, false, sel_size, NULL);
if (menu_id == MENU_ID(M_TESTPUT))
{
- testput_cols = printcell_set_columns(&lists, TESTPUT_HEADER, Icon_Rockbox);
+ testput_cols = printcell_set_columns(&lists, NULL,
+ TESTPUT_HEADER, Icon_Rockbox);
}
else
{
@@ -562,6 +569,6 @@ enum plugin_status plugin_start(const void* parameter)
selected_item = rb->gui_synclist_get_sel_pos(&lists);
}
}
-
+ printcell_enable(false);
return ret;
}