From: vanhofen Date: Mon, 14 Aug 2017 16:36:59 +0000 (+0200) Subject: - allow up to 24 instead of 16 buttons X-Git-Url: https://git.webhop.me/?a=commitdiff_plain;h=61f6105dc981f7351e4c6292d17704e200870134;p=msgbox.git - allow up to 24 instead of 16 buttons --- diff --git a/msgbox.c b/msgbox.c index d08c237..4d74207 100644 --- a/msgbox.c +++ b/msgbox.c @@ -17,7 +17,7 @@ typeof (b) __b = (b); \ __a > __b ? __a : __b; }) -#define M_VERSION 2.02 +#define M_VERSION 2.03 #define NCF_FILE "/var/tuxbox/config/neutrino.conf" #define HDF_FILE "/tmp/.msgbox_hidden" @@ -62,8 +62,8 @@ static char spres[][4]={"","crt","lcd"}; char *line_buffer=NULL, *title=NULL, *icon=NULL; int size=24, type=0, timeout=0, refresh=3, flash=0, selection=0, tbuttons=0, buttons=0, bpline=3, echo=0, absolute=0, mute=1, header=1, cyclic=1; -char *butmsg[16]={0}; -int rbutt[16],hide=0,radius=0, radius_small=0; +char *butmsg[MAX_BUTTONS]={0}; +int rbutt[MAX_BUTTONS],hide=0,radius=0, radius_small=0; // Misc const char NOMEM[]="MsgBox \n"; @@ -470,7 +470,7 @@ void ShowUsage(void) printf(" timeout=nn : set autoclose-timeout\n"); printf(" icon=n : n=none(0), error(1), info(2) or /path/my.png (default: \"info\")\n"); printf(" refresh=n : n=1..3, see readme.txt\n"); - printf(" select=\"Button1,..\" : Labels of up to 16 Buttons, see readme.txt\n"); + printf(" select=\"Button1,..\" : Labels of up to 24 Buttons, see readme.txt\n"); printf(" absolute=n : n=0/1 return relative/absolute button number (default: 0)\n"); printf(" order=n : maximal buttons per line (default: 3)\n"); printf(" default=n : n=1..buttons, initially selected button, see readme.txt\n"); diff --git a/msgbox.h b/msgbox.h index d254b18..d708e96 100644 --- a/msgbox.h +++ b/msgbox.h @@ -25,7 +25,7 @@ #include FT_CACHE_H #include FT_CACHE_SMALL_BITMAPS_H -#define MAX_BUTTONS 16 +#define MAX_BUTTONS 24 #define BUFSIZE 4095 enum {LEFT, CENTER, RIGHT}; diff --git a/readme.txt b/readme.txt index 1e6084e..3ec2cb6 100644 --- a/readme.txt +++ b/readme.txt @@ -1,8 +1,8 @@ Was ist die Messagebox? ---------------------------------- Die MessageBox dient beim Ausführen von Scripten zur Anzeige von Informationen auf dem -Bildschirm und zur Abfrage von Entscheidungen des Nutzers über bis zu 16 frei beschrift- -bare Tasten. Die Nummer der gedrückten Taste (1..16) oder 0 bei Timeout ohne gedrückte +Bildschirm und zur Abfrage von Entscheidungen des Nutzers über bis zu 24 frei beschrift- +bare Tasten. Die Nummer der gedrückten Taste (1..24) oder 0 bei Timeout ohne gedrückte Taste wird als Returnwert zurückgegeben und kann vom Script über die Variable "$?" ausge- wertet werden. @@ -72,12 +72,12 @@ der Timeoutzeit, welche in den Neutrino-Einstellungen für die Info-Zeile festge Zeit wird durch einen beliebigen tastendruck (außer OK und HOME) neu gestartet. Soll die Message- box ohne Timeout unbegrenzt offenbleiben, ist als Wert für den Timeout "timeout=-1" anzugeben. -In der Funktion als MessageBox ("msg=...") können bis zu 16 Tasten angezeigt und die Auswahl +In der Funktion als MessageBox ("msg=...") können bis zu 24 Tasten angezeigt und die Auswahl des Nutzers abgefragt werden. Anzahl und Beschriftung der Tasten werden über den Parameter select="Label 1[,Label 2[,...]]" -festgelegt. Dabei können 1 bis 16 Tasten mit den entsprechenden Texten (z.B. "Label 1") erzeugt +festgelegt. Dabei können 1 bis 24 Tasten mit den entsprechenden Texten (z.B. "Label 1") erzeugt werden. Die einzelnen Label-Bezeichner können von beliebig vielen Kommas angeführt und auch ge- folgt werden. Ausgewertet werden nur die nichtleeren Bereiche zwischen zwei Kommas. Die Breite der Tasten und damit auch des gesamten Fensters richtet sich nach der längsten Tas- @@ -99,7 +99,7 @@ Um die sinnvollste Taste bereits beim Start selektieren zu können, kann mit dem default=n -die Nummer der Taste (1..16) übergeben werden, welche unmittelbar nach Anzeige der Messagebox +die Nummer der Taste (1..24) übergeben werden, welche unmittelbar nach Anzeige der Messagebox selektiert sein soll und nur noch mit OK bestätigt werden braucht. Dabei ist zu beachten, daß bei "absolute=1" auch der Defaultwert absolut abgegeben werden muß.