re-base patches

This commit is contained in:
marschap
2007-04-14 18:00:26 +00:00
parent ae128a6270
commit 1e15ade483
4 changed files with 138 additions and 1202 deletions
+52 -88
View File
@@ -1,10 +1,10 @@
diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig' --exclude=Makefile --exclude='*.o' --exclude=Doxyfile --exclude='*.a' --exclude=config.log --exclude=config.status --exclude='init-*' -Nuarp server/menu.c server.HKEY/menu.c diff -Nuarp server/menu.c server.HKEY/menu.c
--- server/menu.c 2006-01-26 19:47:59.000000000 -0800 --- server/menu.c 2006-01-26 19:47:59.000000000 -0800
+++ server.HKEY/menu.c 2006-02-21 09:21:25.000000000 -0800 +++ server.HKEY/menu.c 2006-02-21 09:21:25.000000000 -0800
@@ -39,6 +39,13 @@ @@ -40,6 +40,13 @@
#include "screen.h"
#include "widget.h" #include "widget.h"
+#ifndef HKEY //hybrid keys +#ifndef HKEY //hybrid keys
+#include "shared/configfile.h" +#include "shared/configfile.h"
+ +
@@ -12,10 +12,10 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
+extern int hybrid_right_key; +extern int hybrid_right_key;
+#endif //HKEY +#endif //HKEY
+ +
extern Menu *custom_main_menu;
/** Basicly a patched version of LL_GetByIndex() that ignores hidden /** Basicly a patched version of LL_GetByIndex() that ignores hidden
* entries completely. (But it takes a menu as an argument.) */ @@ -565,12 +572,86 @@
static void *
@@ -559,12 +566,86 @@ MenuResult menu_process_input(Menu *menu
return MENURESULT_ERROR; return MENURESULT_ERROR;
switch (token) { switch (token) {
@@ -27,7 +27,7 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
+ * hybrid left key just fall through to menu key + * hybrid left key just fall through to menu key
+ */ + */
+ if (!hybrid_left_key) { + if (!hybrid_left_key) {
+ subitem = menu_get_subitem (menu, menu->data.menu.selector_pos); + subitem = menu_get_subitem(menu, menu->data.menu.selector_pos);
+ if (subitem == NULL) + if (subitem == NULL)
+ break; + break;
+ switch (subitem->type) { + switch (subitem->type) {
@@ -41,15 +41,15 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
+ subitem->data.checkbox.value = (subitem->data.checkbox.value - 1) % 2; + subitem->data.checkbox.value = (subitem->data.checkbox.value - 1) % 2;
+ } + }
+ if (subitem->event_func) + if (subitem->event_func)
+ subitem->event_func (subitem, MENUEVENT_UPDATE); + subitem->event_func(subitem, MENUEVENT_UPDATE);
+ return MENURESULT_NONE; + return MENURESULT_NONE;
+ case MENUITEM_RING: + case MENUITEM_RING:
+ /* ring: jump to the end if beginning is reached */ + /* ring: jump to the end if beginning is reached */
+ subitem->data.ring.value = (subitem->data.ring.value < 1) + subitem->data.ring.value = (subitem->data.ring.value < 1)
+ ? LL_Length (subitem->data.ring.strings) - 1 + ? LL_Length(subitem->data.ring.strings) - 1
+ : (subitem->data.ring.value - 1) % LL_Length (subitem->data.ring.strings); + : (subitem->data.ring.value - 1) % LL_Length(subitem->data.ring.strings);
+ if (subitem->event_func) + if (subitem->event_func)
+ subitem->event_func (subitem, MENUEVENT_UPDATE); + subitem->event_func(subitem, MENUEVENT_UPDATE);
+ return MENURESULT_NONE; + return MENURESULT_NONE;
+ default: + default:
+ break; + break;
@@ -59,7 +59,7 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
+#endif //HKEY +#endif //HKEY
case MENUTOKEN_MENU: case MENUTOKEN_MENU:
subitem = menu_get_item_for_predecessor_check(menu); subitem = menu_get_item_for_predecessor_check(menu);
if ( ! subitem) if (! subitem)
return MENURESULT_ERROR; return MENURESULT_ERROR;
return menuitem_predecessor2menuresult( return menuitem_predecessor2menuresult(
subitem->predecessor_id, MENURESULT_CLOSE); subitem->predecessor_id, MENURESULT_CLOSE);
@@ -84,12 +84,12 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
+ subitem->data.checkbox.value = (subitem->data.checkbox.value + 1) % 2; + subitem->data.checkbox.value = (subitem->data.checkbox.value + 1) % 2;
+ } + }
+ if (subitem->event_func) + if (subitem->event_func)
+ subitem->event_func (subitem, MENUEVENT_UPDATE); + subitem->event_func(subitem, MENUEVENT_UPDATE);
+ return MENURESULT_NONE; + return MENURESULT_NONE;
+ case MENUITEM_RING: + case MENUITEM_RING:
+ subitem->data.ring.value = (subitem->data.ring.value + 1) % LL_Length (subitem->data.ring.strings); + subitem->data.ring.value = (subitem->data.ring.value + 1) % LL_Length (subitem->data.ring.strings);
+ if (subitem->event_func) + if (subitem->event_func)
+ subitem->event_func (subitem, MENUEVENT_UPDATE); + subitem->event_func(subitem, MENUEVENT_UPDATE);
+ return MENURESULT_NONE; + return MENURESULT_NONE;
+ case MENUITEM_MENU: + case MENUITEM_MENU:
+ return MENURESULT_ENTER; + return MENURESULT_ENTER;
@@ -100,20 +100,20 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
+ } + }
+#endif //HKEY +#endif //HKEY
case MENUTOKEN_ENTER: case MENUTOKEN_ENTER:
subitem = menu_get_subitem (menu, menu->data.menu.selector_pos); subitem = menu_get_subitem(menu, menu->data.menu.selector_pos);
if (!subitem) if (!subitem)
@@ -609,6 +690,18 @@ MenuResult menu_process_input(Menu *menu @@ -615,6 +696,18 @@
menu->data.menu.scroll --; menu->data.menu.scroll --;
} }
else if (menu->data.menu.selector_pos == 0) { else if (menu->data.menu.selector_pos == 0) {
+#ifndef HKEY //hybrid key left +#ifndef HKEY //hybrid key left
+ if ( hybrid_left_key ) { + if (hybrid_left_key) {
+ /* + /*
+ * If this menu has only checkbox's and/or rings + * If this menu has only checkbox's and/or rings
+ * need a key to get back from this menu on a 4 key pad + * need a key to get back from this menu on a 4 key pad
+ */ + */
+ subitem = menu_get_item_for_predecessor_check(menu); + subitem = menu_get_item_for_predecessor_check(menu);
+ if ( subitem && ((subitem->type == MENUITEM_CHECKBOX) || (subitem->type == MENUITEM_RING))) + if (subitem && ((subitem->type == MENUITEM_CHECKBOX) || (subitem->type == MENUITEM_RING)))
+ return menuitem_predecessor2menuresult( + return menuitem_predecessor2menuresult(
+ subitem->predecessor_id, MENURESULT_CLOSE); + subitem->predecessor_id, MENURESULT_CLOSE);
+ } + }
@@ -121,7 +121,7 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
// wrap around to last menu entry // wrap around to last menu entry
menu->data.menu.selector_pos = menu_visible_item_count(menu) - 1; menu->data.menu.selector_pos = menu_visible_item_count(menu) - 1;
menu->data.menu.scroll = menu->data.menu.selector_pos + 2 - display_props->height; menu->data.menu.scroll = menu->data.menu.selector_pos + 2 - display_props->height;
@@ -626,67 +719,6 @@ MenuResult menu_process_input(Menu *menu @@ -632,67 +725,6 @@
menu->data.menu.scroll = 0; menu->data.menu.scroll = 0;
} }
return MENURESULT_NONE; return MENURESULT_NONE;
@@ -129,7 +129,7 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
- if (!extended) - if (!extended)
- return MENURESULT_NONE; - return MENURESULT_NONE;
- -
- subitem = menu_get_subitem (menu, menu->data.menu.selector_pos); - subitem = menu_get_subitem(menu, menu->data.menu.selector_pos);
- if (subitem == NULL) - if (subitem == NULL)
- break; - break;
- switch (subitem->type) { - switch (subitem->type) {
@@ -143,15 +143,15 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
- subitem->data.checkbox.value = (subitem->data.checkbox.value - 1) % 2; - subitem->data.checkbox.value = (subitem->data.checkbox.value - 1) % 2;
- } - }
- if (subitem->event_func) - if (subitem->event_func)
- subitem->event_func (subitem, MENUEVENT_UPDATE); - subitem->event_func(subitem, MENUEVENT_UPDATE);
- return MENURESULT_NONE; - return MENURESULT_NONE;
- case MENUITEM_RING: - case MENUITEM_RING:
- /* ring: jump to the end if beginning is reached */ - /* ring: jump to the end if beginning is reached */
- subitem->data.ring.value = (subitem->data.ring.value < 1) - subitem->data.ring.value = (subitem->data.ring.value < 1)
- ? LL_Length (subitem->data.ring.strings) - 1 - ? LL_Length(subitem->data.ring.strings) - 1
- : (subitem->data.ring.value - 1) % LL_Length (subitem->data.ring.strings); - : (subitem->data.ring.value - 1) % LL_Length(subitem->data.ring.strings);
- if (subitem->event_func) - if (subitem->event_func)
- subitem->event_func (subitem, MENUEVENT_UPDATE); - subitem->event_func(subitem, MENUEVENT_UPDATE);
- return MENURESULT_NONE; - return MENURESULT_NONE;
- default: - default:
- break; - break;
@@ -173,12 +173,12 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
- subitem->data.checkbox.value = (subitem->data.checkbox.value + 1) % 2; - subitem->data.checkbox.value = (subitem->data.checkbox.value + 1) % 2;
- } - }
- if (subitem->event_func) - if (subitem->event_func)
- subitem->event_func (subitem, MENUEVENT_UPDATE); - subitem->event_func(subitem, MENUEVENT_UPDATE);
- return MENURESULT_NONE; - return MENURESULT_NONE;
- case MENUITEM_RING: - case MENUITEM_RING:
- subitem->data.ring.value = (subitem->data.ring.value + 1) % LL_Length (subitem->data.ring.strings); - subitem->data.ring.value = (subitem->data.ring.value + 1) % LL_Length(subitem->data.ring.strings);
- if (subitem->event_func) - if (subitem->event_func)
- subitem->event_func (subitem, MENUEVENT_UPDATE); - subitem->event_func(subitem, MENUEVENT_UPDATE);
- return MENURESULT_NONE; - return MENURESULT_NONE;
- case MENUITEM_MENU: - case MENUITEM_MENU:
- return MENURESULT_ENTER; - return MENURESULT_ENTER;
@@ -189,7 +189,7 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
case MENUTOKEN_OTHER: case MENUTOKEN_OTHER:
/* TODO: move to the selected number and enter it */ /* TODO: move to the selected number and enter it */
return MENURESULT_NONE; return MENURESULT_NONE;
diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig' --exclude=Makefile --exclude='*.o' --exclude=Doxyfile --exclude='*.a' --exclude=config.log --exclude=config.status --exclude='init-*' -Nuarp server/menuitem.c server.HKEY/menuitem.c diff -Nuarp server/menuitem.c server.HKEY/menuitem.c
--- server/menuitem.c 2006-01-26 19:47:59.000000000 -0800 --- server/menuitem.c 2006-01-26 19:47:59.000000000 -0800
+++ server.HKEY/menuitem.c 2006-02-21 09:22:53.000000000 -0800 +++ server.HKEY/menuitem.c 2006-02-21 09:22:53.000000000 -0800
@@ -84,6 +84,10 @@ const IpSstringProperties IPinfo[] = { @@ -84,6 +84,10 @@ const IpSstringProperties IPinfo[] = {
@@ -215,17 +215,17 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
- item->successor_id, MENURESULT_CLOSE); - item->successor_id, MENURESULT_CLOSE);
case MENUTOKEN_UP: case MENUTOKEN_UP:
case MENUTOKEN_RIGHT: case MENUTOKEN_RIGHT:
- item->data.slider.value = min (item->data.slider.maxvalue, - item->data.slider.value = min(item->data.slider.maxvalue,
+#ifndef HKEY //hybrid key right +#ifndef HKEY //hybrid key right
+ if ( !hybrid_right_key || token == MENUTOKEN_UP ) { + if (!hybrid_right_key || token == MENUTOKEN_UP) {
+#endif /*HKEY*/ +#endif /*HKEY*/
+ item->data.slider.value = min (item->data.slider.maxvalue, + item->data.slider.value = min(item->data.slider.maxvalue,
item->data.slider.value + item->data.slider.stepsize); item->data.slider.value + item->data.slider.stepsize);
- if (item->event_func) - if (item->event_func)
- item->event_func (item, MENUEVENT_PLUS); - item->event_func(item, MENUEVENT_PLUS);
- return MENURESULT_NONE; - return MENURESULT_NONE;
+ if (item->event_func) + if (item->event_func)
+ item->event_func (item, MENUEVENT_PLUS); + item->event_func(item, MENUEVENT_PLUS);
+ return MENURESULT_NONE; + return MENURESULT_NONE;
+#ifndef HKEY //hybrid key right +#ifndef HKEY //hybrid key right
+ } /* hybrid right key fall through to enter */ + } /* hybrid right key fall through to enter */
@@ -235,17 +235,17 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
+ item->successor_id, MENURESULT_CLOSE); + item->successor_id, MENURESULT_CLOSE);
case MENUTOKEN_DOWN: case MENUTOKEN_DOWN:
case MENUTOKEN_LEFT: case MENUTOKEN_LEFT:
- item->data.slider.value = max (item->data.slider.minvalue, - item->data.slider.value = max(item->data.slider.minvalue,
+#ifndef HKEY //hybrid key left +#ifndef HKEY //hybrid key left
+ if ( !hybrid_left_key || token == MENUTOKEN_DOWN ) { + if (!hybrid_left_key || token == MENUTOKEN_DOWN) {
+#endif /*HKEY*/ +#endif /*HKEY*/
+ item->data.slider.value = max (item->data.slider.minvalue, + item->data.slider.value = max(item->data.slider.minvalue,
item->data.slider.value - item->data.slider.stepsize); item->data.slider.value - item->data.slider.stepsize);
- if (item->event_func) - if (item->event_func)
- item->event_func (item, MENUEVENT_MINUS); - item->event_func(item, MENUEVENT_MINUS);
- return MENURESULT_NONE; - return MENURESULT_NONE;
+ if (item->event_func) + if (item->event_func)
+ item->event_func (item, MENUEVENT_MINUS); + item->event_func(item, MENUEVENT_MINUS);
+ return MENURESULT_NONE; + return MENURESULT_NONE;
+#ifndef HKEY //hybrid key left +#ifndef HKEY //hybrid key left
+ } /* hybrid left key fall through to menu */ + } /* hybrid left key fall through to menu */
@@ -467,12 +467,12 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
case MENUTOKEN_OTHER: case MENUTOKEN_OTHER:
/* process other keys */ /* process other keys */
if ((strlen(key) == 1) && if ((strlen(key) == 1) &&
diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig' --exclude=Makefile --exclude='*.o' --exclude=Doxyfile --exclude='*.a' --exclude=config.log --exclude=config.status --exclude='init-*' -Nuarp server/menuscreens.c server.HKEY/menuscreens.c diff -Nuarp server/menuscreens.c server.HKEY/menuscreens.c
--- server/menuscreens.c 2006-01-26 19:47:59.000000000 -0800 --- server/menuscreens.c 2006-01-26 19:47:59.000000000 -0800
+++ server.HKEY/menuscreens.c 2006-02-21 09:33:21.000000000 -0800 +++ server.HKEY/menuscreens.c 2006-02-21 09:33:21.000000000 -0800
@@ -48,6 +48,15 @@ char * down_key; @@ -48,6 +48,15 @@
char * left_key; char *left_key;
char * right_key; char *right_key;
+#ifndef HKEY //hybrid keys +#ifndef HKEY //hybrid keys
+/* +/*
@@ -483,65 +483,29 @@ diff --exclude='*.wanjet' --exclude='.??*' --exclude=config.h --exclude='*.orig'
+int hybrid_right_key = 0; +int hybrid_right_key = 0;
+#endif //HKEY +#endif //HKEY
+ +
Screen * menuscreen = NULL; Screen *menuscreen = NULL;
MenuItem * active_menuitem = NULL; MenuItem *active_menuitem = NULL;
/** the "real" main_menu */ /** the "real" main_menu */
@@ -91,6 +100,11 @@ int menuscreens_init() @@ -91,6 +100,10 @@
if (tmp) if (tmp)
right_key = strdup(tmp); right_key = strdup(tmp);
+#ifndef HKEY //get hybrid keys from config file +#ifndef HKEY //get hybrid keys from config file
+ hybrid_right_key = config_get_bool ("menu", "HybridRightKey", 0, 0); + hybrid_right_key = config_get_bool("menu", "HybridRightKey", 0, 0);
+ hybrid_left_key = config_get_bool ("menu", "HybridLeftKey", 0, 0); + hybrid_left_key = config_get_bool("menu", "HybridLeftKey", 0, 0);
+#endif +#endif
+
/* Now reserve keys */ /* Now reserve keys */
input_reserve_key (menu_key, true, NULL); input_reserve_key(menu_key, true, NULL);
@@ -186,6 +200,11 @@ void menuscreen_inform_item_modified (Me @@ -186,6 +199,11 @@
bool is_menu_key (char * key) bool is_menu_key(const char *key)
{ {
+#ifndef HKEY //hybrid keys, any key wake-up menus +#ifndef HKEY //hybrid keys, any key wake-up menus
+ /* any key wakes up menus */ + /* any key wakes up menus */
+ if (key && ( hybrid_left_key || hybrid_right_key )) + if (key && (hybrid_left_key || hybrid_right_key))
+ return true; + return true;
+#endif //HKEY +#endif //HKEY
if (menu_key && key && strcmp (key, menu_key) == 0) if (menu_key && key && strcmp(key, menu_key) == 0)
return true; return true;
else else
@@ -466,28 +485,28 @@ void menuscreen_create_menu ()
menu_add_item (options_menu, driver_menu);
if (contrast_avail) {
int contrast = driver->get_contrast(driver);
-
+
/* menu's client is NULL since we're in the server */
slider = menuitem_create_slider ("contrast", contrast_handler, "Contrast",
- NULL, "min", "max", 0, 1000, 25, contrast);
+ NULL, "min", "max", 0, 1000, 25, contrast);
menu_add_item (driver_menu, slider);
}
if (brightness_avail) {
int onbrightness = driver->get_brightness (driver, BACKLIGHT_ON);
int offbrightness = driver->get_brightness (driver, BACKLIGHT_OFF);
-
+
slider = menuitem_create_slider ("onbrightness", brightness_handler, "On Brightness",
- NULL, "min", "max", 0, 1000, 25, onbrightness);
+ NULL, "min", "max", 0, 1000, 25, onbrightness);
menu_add_item (driver_menu, slider);
slider = menuitem_create_slider ("offbrightness", brightness_handler, "Off Brightness",
- NULL, "min", "max", 0, 1000, 25, offbrightness);
+ NULL, "min", "max", 0, 1000, 25, offbrightness);
menu_add_item (driver_menu, slider);
}
}
}
-#ifdef LCDPROC_TESTMENUS
+#ifdef LCDPROC_TESTMENUS
test_menu = menu_create ("test", NULL, "Test menu", NULL);
menu_add_item (main_menu, test_menu);
+59 -67
View File
@@ -11,7 +11,7 @@ diff -ruNp lcdproc-0.5.1-orig/server/drivers/CFontz633.c lcdproc-0.5.1-working/s
/** /**
@@ -302,6 +305,19 @@ CFontz633_init (Driver *drvthis) @@ -303,6 +306,19 @@ CFontz633_init (Driver *drvthis)
CFontz633_no_live_report(drvthis); CFontz633_no_live_report(drvthis);
CFontz633_hardware_clear(drvthis); CFontz633_hardware_clear(drvthis);
@@ -31,7 +31,7 @@ diff -ruNp lcdproc-0.5.1-orig/server/drivers/CFontz633.c lcdproc-0.5.1-working/s
report(RPT_DEBUG, "%s: init() done", drvthis->name); report(RPT_DEBUG, "%s: init() done", drvthis->name);
return 0; return 0;
@@ -1076,3 +1092,15 @@ CFontz633_string (Driver *drvthis, int x @@ -1077,3 +1093,15 @@ CFontz633_string (Driver *drvthis, int x
} }
} }
@@ -51,15 +51,15 @@ diff -ruNp lcdproc-0.5.1-orig/server/menuscreens.c lcdproc-0.5.1-working/server/
--- lcdproc-0.5.1-orig/server/menuscreens.c 2006-10-06 03:02:47.000000000 -0400 --- lcdproc-0.5.1-orig/server/menuscreens.c 2006-10-06 03:02:47.000000000 -0400
+++ lcdproc-0.5.1-working/server/menuscreens.c 2007-02-26 11:57:39.000000000 -0500 +++ lcdproc-0.5.1-working/server/menuscreens.c 2007-02-26 11:57:39.000000000 -0500
@@ -48,6 +48,10 @@ char * down_key; @@ -48,6 +48,10 @@ char * down_key;
char * left_key; char *left_key;
char * right_key; char *right_key;
+#ifndef OPT +#ifndef OPT
+char * menuname; /* the name for the default menu */ +char * menuname; /* the name for the default menu */
+char * menuentryname; /* the name for the default menu's entry */ +char * menuentryname; /* the name for the default menu's entry */
+#endif //OPT +#endif //OPT
Screen * menuscreen = NULL; Screen *menuscreen = NULL;
MenuItem * active_menuitem = NULL; MenuItem *active_menuitem = NULL;
/** the "real" main_menu */ /** the "real" main_menu */
@@ -91,6 +95,11 @@ int menuscreens_init() @@ -91,6 +95,11 @@ int menuscreens_init()
if (tmp) if (tmp)
@@ -72,11 +72,11 @@ diff -ruNp lcdproc-0.5.1-orig/server/menuscreens.c lcdproc-0.5.1-working/server/
+#endif //OPT +#endif //OPT
/* Now reserve keys */ /* Now reserve keys */
input_reserve_key (menu_key, true, NULL); input_reserve_key(menu_key, true, NULL);
@@ -387,7 +396,13 @@ void menuscreen_key_handler (const char @@ -387,7 +396,13 @@ void menuscreen_key_handler (const char
/* Is the menu already active ? */ /* Is the menu already active ? */
if (!active_menuitem) { if (!active_menuitem) {
debug (RPT_DEBUG, "%s: Activating menu screen", __FUNCTION__); debug(RPT_DEBUG, "%s: Activating menu screen", __FUNCTION__);
- menuscreen_switch_item(menuscreen_get_main()); - menuscreen_switch_item(menuscreen_get_main());
+ Menu *main = menuscreen_get_main(); + Menu *main = menuscreen_get_main();
+ /* Don't display an empty menu */ + /* Don't display an empty menu */
@@ -90,29 +90,29 @@ diff -ruNp lcdproc-0.5.1-orig/server/menuscreens.c lcdproc-0.5.1-working/server/
@@ -437,55 +452,62 @@ void menuscreen_create_menu () @@ -437,55 +452,62 @@ void menuscreen_create_menu ()
debug (RPT_DEBUG, "%s()", __FUNCTION__); debug(RPT_DEBUG, "%s()", __FUNCTION__);
+#ifndef OPT //main menu name from config file +#ifndef OPT //main menu name from config file
+ main_menu = menu_create ("mainmenu", NULL, menuname, NULL); + main_menu = menu_create ("mainmenu", NULL, menuname, NULL);
+#else //OPT +#else //OPT
main_menu = menu_create ("mainmenu", NULL, "LCDproc Menu", NULL); main_menu = menu_create("mainmenu", NULL, "LCDproc Menu", NULL);
+#endif //OPT +#endif //OPT
- options_menu = menu_create ("options", NULL, "Options", NULL); - options_menu = menu_create("options", NULL, "Options", NULL);
- menu_add_item (main_menu, options_menu); - menu_add_item(main_menu, options_menu);
- -
-#ifdef LCDPROC_TESTMENUS -#ifdef LCDPROC_TESTMENUS
- screens_menu = menu_create ("screens", NULL, "Screens", NULL); - screens_menu = menu_create("screens", NULL, "Screens", NULL);
- menu_add_item (main_menu, screens_menu); - menu_add_item(main_menu, screens_menu);
-#endif /*LCDPROC_TESTMENUS*/ -#endif /*LCDPROC_TESTMENUS*/
- -
- /* menu's client is NULL since we're in the server */ - /* menu's client is NULL since we're in the server */
- checkbox = menuitem_create_checkbox ("heartbeat", heartbeat_handler, "Heartbeat", NULL, true, heartbeat); - checkbox = menuitem_create_checkbox("heartbeat", heartbeat_handler, "Heartbeat", NULL, true, heartbeat);
- menu_add_item (options_menu, checkbox); - menu_add_item(options_menu, checkbox);
- -
- /* menu's client is NULL since we're in the server */ - /* menu's client is NULL since we're in the server */
- checkbox = menuitem_create_checkbox ("backlight", backlight_handler, "Backlight", NULL, true, backlight); - checkbox = menuitem_create_checkbox("backlight", backlight_handler, "Backlight", NULL, true, backlight);
- menu_add_item (options_menu, checkbox); - menu_add_item(options_menu, checkbox);
- -
- for (driver = drivers_getfirst(); driver; driver = drivers_getnext()) { - for (driver = drivers_getfirst(); driver; driver = drivers_getnext()) {
- int contrast_avail = (driver->get_contrast && driver->set_contrast) ? 1 : 0; - int contrast_avail = (driver->get_contrast && driver->set_contrast) ? 1 : 0;
@@ -120,23 +120,23 @@ diff -ruNp lcdproc-0.5.1-orig/server/menuscreens.c lcdproc-0.5.1-working/server/
- -
- if (contrast_avail || brightness_avail) { - if (contrast_avail || brightness_avail) {
- /* menu's client is NULL since we're in the server */ - /* menu's client is NULL since we're in the server */
- driver_menu = menu_create (driver->name, NULL, driver->name, NULL); - driver_menu = menu_create(driver->name, NULL, driver->name, NULL);
- menu_set_association(driver_menu, driver); - menu_set_association(driver_menu, driver);
- menu_add_item (options_menu, driver_menu); - menu_add_item(options_menu, driver_menu);
- if (contrast_avail) { - if (contrast_avail) {
- int contrast = driver->get_contrast(driver); - int contrast = driver->get_contrast(driver);
+#ifndef OPT +#ifndef OPT
+ if ( config_get_bool ("server", "LCDOptionsMenu", 0, 0)) { + if (config_get_bool("server", "LCDOptionsMenu", 0, 0)) {
+ options_menu = menu_create ("options", NULL, menuentryname, NULL); + options_menu = menu_create("options", NULL, menuentryname, NULL);
+ menu_add_item (main_menu, options_menu); + menu_add_item(main_menu, options_menu);
+ +
+ /* menu's client is NULL since we're in the server */ + /* menu's client is NULL since we're in the server */
+ checkbox = menuitem_create_checkbox ("heartbeat", heartbeat_handler, "Heartbeat", NULL, true, heartbeat); + checkbox = menuitem_create_checkbox("heartbeat", heartbeat_handler, "Heartbeat", NULL, true, heartbeat);
+ menu_add_item (options_menu, checkbox); + menu_add_item(options_menu, checkbox);
+ +
+ /* menu's client is NULL since we're in the server */ + /* menu's client is NULL since we're in the server */
+ checkbox = menuitem_create_checkbox ("backlight", backlight_handler, "Backlight", NULL, true, backlight); + checkbox = menuitem_create_checkbox("backlight", backlight_handler, "Backlight", NULL, true, backlight);
+ menu_add_item (options_menu, checkbox); + menu_add_item(options_menu, checkbox);
+ +
+ for (driver = drivers_getfirst(); driver; driver = drivers_getnext()) { + for (driver = drivers_getfirst(); driver; driver = drivers_getnext()) {
+ int contrast_avail = (driver->get_contrast && driver->set_contrast) ? 1 : 0; + int contrast_avail = (driver->get_contrast && driver->set_contrast) ? 1 : 0;
@@ -144,59 +144,59 @@ diff -ruNp lcdproc-0.5.1-orig/server/menuscreens.c lcdproc-0.5.1-working/server/
+ if (contrast_avail || brightness_avail) { + if (contrast_avail || brightness_avail) {
/* menu's client is NULL since we're in the server */ /* menu's client is NULL since we're in the server */
- slider = menuitem_create_slider ("contrast", contrast_handler, "Contrast", - slider = menuitem_create_slider("contrast", contrast_handler, "Contrast",
- NULL, "min", "max", 0, 1000, 25, contrast); - NULL, "min", "max", 0, 1000, 25, contrast);
- menu_add_item (driver_menu, slider); - menu_add_item(driver_menu, slider);
- } - }
- if (brightness_avail) { - if (brightness_avail) {
- int onbrightness = driver->get_brightness (driver, BACKLIGHT_ON); - int onbrightness = driver->get_brightness(driver, BACKLIGHT_ON);
- int offbrightness = driver->get_brightness (driver, BACKLIGHT_OFF); - int offbrightness = driver->get_brightness(driver, BACKLIGHT_OFF);
- -
- slider = menuitem_create_slider ("onbrightness", brightness_handler, "On Brightness", - slider = menuitem_create_slider("onbrightness", brightness_handler, "On Brightness",
- NULL, "min", "max", 0, 1000, 25, onbrightness); - NULL, "min", "max", 0, 1000, 25, onbrightness);
- menu_add_item (driver_menu, slider); - menu_add_item(driver_menu, slider);
- -
- slider = menuitem_create_slider ("offbrightness", brightness_handler, "Off Brightness", - slider = menuitem_create_slider("offbrightness", brightness_handler, "Off Brightness",
- NULL, "min", "max", 0, 1000, 25, offbrightness); - NULL, "min", "max", 0, 1000, 25, offbrightness);
- menu_add_item (driver_menu, slider); - menu_add_item(driver_menu, slider);
+ driver_menu = menu_create (driver->name, NULL, driver->name, NULL); + driver_menu = menu_create(driver->name, NULL, driver->name, NULL);
+ menu_set_association(driver_menu, driver); + menu_set_association(driver_menu, driver);
+ menu_add_item (options_menu, driver_menu); + menu_add_item(options_menu, driver_menu);
+ if (contrast_avail) { + if (contrast_avail) {
+ int contrast = driver->get_contrast(driver); + int contrast = driver->get_contrast(driver);
+ +
+ /* menu's client is NULL since we're in the server */ + /* menu's client is NULL since we're in the server */
+ slider = menuitem_create_slider ("contrast", contrast_handler, "Contrast", + slider = menuitem_create_slider("contrast", contrast_handler, "Contrast",
+ NULL, "min", "max", 0, 1000, 25, contrast); + NULL, "min", "max", 0, 1000, 25, contrast);
+ menu_add_item (driver_menu, slider); + menu_add_item(driver_menu, slider);
+ } + }
+ if (brightness_avail) { + if (brightness_avail) {
+ int onbrightness = driver->get_brightness (driver, BACKLIGHT_ON); + int onbrightness = driver->get_brightness(driver, BACKLIGHT_ON);
+ int offbrightness = driver->get_brightness (driver, BACKLIGHT_OFF); + int offbrightness = driver->get_brightness(driver, BACKLIGHT_OFF);
+ +
+ slider = menuitem_create_slider ("onbrightness", brightness_handler, "On Brightness", + slider = menuitem_create_slider("onbrightness", brightness_handler, "On Brightness",
+ NULL, "min", "max", 0, 1000, 25, onbrightness); + NULL, "min", "max", 0, 1000, 25, onbrightness);
+ menu_add_item (driver_menu, slider); + menu_add_item(driver_menu, slider);
+ +
+ slider = menuitem_create_slider ("offbrightness", brightness_handler, "Off Brightness", + slider = menuitem_create_slider("offbrightness", brightness_handler, "Off Brightness",
+ NULL, "min", "max", 0, 1000, 25, offbrightness); + NULL, "min", "max", 0, 1000, 25, offbrightness);
+ menu_add_item (driver_menu, slider); + menu_add_item(driver_menu, slider);
+ } + }
} }
} }
} }
+ if ( config_get_bool ("server", "LCDScreensMenu", 0, 0)) { + if (config_get_bool("server", "LCDScreensMenu", 0, 0)) {
+ screens_menu = menu_create ("screens", NULL, "Screens", NULL); + screens_menu = menu_create("screens", NULL, "Screens", NULL);
+ menu_add_item (main_menu, screens_menu); + menu_add_item(main_menu, screens_menu);
+ } + }
+#endif //OPT +#endif //OPT
#ifdef LCDPROC_TESTMENUS #ifdef LCDPROC_TESTMENUS
test_menu = menu_create ("test", NULL, "Test menu", NULL); test_menu = menu_create("test", NULL, "Test menu", NULL);
diff -ruNp lcdproc-0.5.1-orig/server/serverscreens.c lcdproc-0.5.1-working/server/serverscreens.c diff -ruNp lcdproc-0.5.1-orig/server/serverscreens.c lcdproc-0.5.1-working/server/serverscreens.c
--- lcdproc-0.5.1-orig/server/serverscreens.c 2006-10-06 03:02:47.000000000 -0400 --- lcdproc-0.5.1-orig/server/serverscreens.c 2006-10-06 03:02:47.000000000 -0400
+++ lcdproc-0.5.1-working/server/serverscreens.c 2007-02-23 11:48:56.000000000 -0500 +++ lcdproc-0.5.1-working/server/serverscreens.c 2007-02-23 11:48:56.000000000 -0500
@@ -32,6 +32,12 @@ @@ -33,6 +33,12 @@
#include "main.h" #include "main.h"
#include "serverscreens.h" #include "serverscreens.h"
@@ -208,36 +208,28 @@ diff -ruNp lcdproc-0.5.1-orig/server/serverscreens.c lcdproc-0.5.1-working/serve
+ +
#define UNSET_INT -1 #define UNSET_INT -1
Screen * server_screen;
@@ -39,6 +45,7 @@ int rotate_server_screen = UNSET_INT;
#define MAX_SERVERSCREEN_WIDTH 40 #define MAX_SERVERSCREEN_WIDTH 40
@@ -50,6 +56,11 @@
+ debug(RPT_DEBUG, "server_screen_init");
int
server_screen_init ()
{
@@ -47,6 +54,11 @@ server_screen_init ()
debug (RPT_DEBUG, "server_screen_init");
+#ifndef OPT //startup screen title from config +#ifndef OPT //startup screen title from config
+ /* Get server title name from config file */ + /* Get server title name from config file */
+ title = strdup (config_get_string ("server", "title", 0, "LCDproc Server")); + title = strdup(config_get_string("server", "title", 0, "LCDproc Server"));
+#endif //OPT +#endif //OPT
+ +
/* Create the screen */ /* Create the screen */
server_screen = screen_create ("_server_screen", NULL); server_screen = screen_create("_server_screen", NULL);
if (!server_screen) { if (!server_screen) {
@@ -78,7 +90,11 @@ server_screen_init () @@ -81,7 +92,11 @@
w->text = malloc (MAX_SERVERSCREEN_WIDTH+1); w->text = malloc(MAX_SERVERSCREEN_WIDTH+1);
if (line == 1) { if (line == 1) {
w->type = WID_TITLE; w->type = WID_TITLE;
+#ifndef OPT //startup screen titel from config +#ifndef OPT //startup screen titel from config
+ strncpy (w->text, title, MAX_SERVERSCREEN_WIDTH); + strncpy(w->text, title, MAX_SERVERSCREEN_WIDTH);
+#else //OPT +#else //OPT
strncpy (w->text, "LCDproc Server", MAX_SERVERSCREEN_WIDTH); strncpy(w->text, "LCDproc Server", MAX_SERVERSCREEN_WIDTH);
+#endif //OPT +#endif //OPT
} else { } else {
w->text[0] = 0; w->text[0] = '\0';
} }
File diff suppressed because it is too large Load Diff
+12 -14
View File
@@ -1,21 +1,19 @@
Index: server/render.c --- server/render.c
=================================================================== +++ server/render.c
--- server/render.c (revision 78)
+++ server/render.c (revision 79)
@@ -176,6 +176,7 @@ @@ -176,6 +176,7 @@
int length, speed; int length, speed;
int str_length = BUFSIZE-1; int str_length = BUFSIZE-1;
int reset = 1; int reset = 1;
+ int max_scroller_len = 0; + int max_scroller_len = 0;
debug( RPT_DEBUG, "%s( list=%p, fscroll='%c', left=%d, top=%d, " debug(RPT_DEBUG, "%s(list=%p, fscroll='%c', left=%d, top=%d, "
"right=%d, bottom=%d, fwid=%d, fhgt=%d, fspeed=%d, timer=%d )", "right=%d, bottom=%d, fwid=%d, fhgt=%d, fspeed=%d, timer=%d)",
@@ -202,6 +203,27 @@ @@ -202,6 +203,27 @@
/* TODO: Frames don't scroll horizontally yet! */ /* TODO: Frames don't scroll horizontally yet! */
} }
+ /* loop through the widgets before starting to render to pull out data we need before starting */ + /* loop through the widgets before starting to render to pull out data we need before starting */
+ LL_Rewind (list); + LL_Rewind(list);
+ do { + do {
+ Widget *w = (Widget *) LL_Get(list); + Widget *w = (Widget *) LL_Get(list);
+ if (!w) + if (!w)
@@ -36,11 +34,11 @@ Index: server/render.c
+ } while (LL_Next(list) == 0); + } while (LL_Next(list) == 0);
+ +
/* reset widget list */ /* reset widget list */
LL_Rewind (list); LL_Rewind(list);
@@ -343,13 +365,9 @@ @@ -341,13 +363,9 @@
/* it fits within the box, just render it */ /* it fits within the box, just render it */
drivers_string (w->left, w->top, w->text); drivers_string(w->left, w->top, w->text);
} else { } else {
- int necessaryTimeUnits = 0; - int necessaryTimeUnits = 0;
- -
@@ -52,8 +50,8 @@ Index: server/render.c
offset = (timer % (length / (w->speed * -1))) * w->speed * -1; offset = (timer % (length / (w->speed * -1))) * w->speed * -1;
} else { } else {
offset = 0; offset = 0;
@@ -380,28 +398,39 @@ @@ -378,28 +396,39 @@
drivers_string (w->left, w->top, w->text); drivers_string(w->left, w->top, w->text);
} else { } else {
int effLength = length - screen_width; int effLength = length - screen_width;
- int necessaryTimeUnits = 0; - int necessaryTimeUnits = 0;
@@ -103,7 +101,7 @@ Index: server/render.c
} }
} else { } else {
offset = 0; offset = 0;
@@ -440,13 +469,11 @@ @@ -438,13 +467,11 @@
drivers_string (w->left, w->top + i, str); drivers_string (w->left, w->top + i, str);
} }
} else { } else {
@@ -117,7 +115,7 @@ Index: server/render.c
if (((timer / (effLines * w->speed)) % 2) == 0) { if (((timer / (effLines * w->speed)) % 2) == 0) {
/*debug(RPT_DEBUG, "up ");*/ /*debug(RPT_DEBUG, "up ");*/
begin = (timer % (effLines * w->speed)) begin = (timer % (effLines * w->speed))
@@ -458,7 +485,6 @@ @@ -456,7 +483,6 @@
* -1; * -1;
} }
} else if (w->speed < 0) { } else if (w->speed < 0) {