kconfig/lxdialog: Add definitions for mininimum (re)size values
Commit c8dc68ad0f
("kconfig/lxdialog: support resize") added support
for resizing, but forgot to collect all hardcoded values at one single
place.
Also add a definition for the check for a minimum screen/window size
of 80x19.
[ ChangeLog v3:
* Rename MENU_{HEIGTH,WIDTH}_MIN -> MENUBOX_{HEIGTH,WIDTH}_MIN
ChangeLog v2:
* Rename WIN_{HEIGTH,WIDTH}_MIN -> WINDOW_{HEIGTH,WIDTH}_MIN
* Mention the check for a minimum screen/window size in the changelog
* Add a comment above the block of new definitions ]
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
Acked-by: Wang YanQing <udknight@gmail.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit is contained in:
parent
fbe98bb9ed
commit
851f665725
|
@ -132,9 +132,9 @@ int dialog_checklist(const char *title, const char *prompt, int height,
|
||||||
}
|
}
|
||||||
|
|
||||||
do_resize:
|
do_resize:
|
||||||
if (getmaxy(stdscr) < (height + 6))
|
if (getmaxy(stdscr) < (height + CHECKLIST_HEIGTH_MIN))
|
||||||
return -ERRDISPLAYTOOSMALL;
|
return -ERRDISPLAYTOOSMALL;
|
||||||
if (getmaxx(stdscr) < (width + 6))
|
if (getmaxx(stdscr) < (width + CHECKLIST_WIDTH_MIN))
|
||||||
return -ERRDISPLAYTOOSMALL;
|
return -ERRDISPLAYTOOSMALL;
|
||||||
|
|
||||||
max_choice = MIN(list_height, item_count());
|
max_choice = MIN(list_height, item_count());
|
||||||
|
|
|
@ -200,6 +200,20 @@ int item_is_tag(char tag);
|
||||||
int on_key_esc(WINDOW *win);
|
int on_key_esc(WINDOW *win);
|
||||||
int on_key_resize(void);
|
int on_key_resize(void);
|
||||||
|
|
||||||
|
/* minimum (re)size values */
|
||||||
|
#define CHECKLIST_HEIGTH_MIN 6 /* For dialog_checklist() */
|
||||||
|
#define CHECKLIST_WIDTH_MIN 6
|
||||||
|
#define INPUTBOX_HEIGTH_MIN 2 /* For dialog_inputbox() */
|
||||||
|
#define INPUTBOX_WIDTH_MIN 2
|
||||||
|
#define MENUBOX_HEIGTH_MIN 15 /* For dialog_menu() */
|
||||||
|
#define MENUBOX_WIDTH_MIN 65
|
||||||
|
#define TEXTBOX_HEIGTH_MIN 8 /* For dialog_textbox() */
|
||||||
|
#define TEXTBOX_WIDTH_MIN 8
|
||||||
|
#define YESNO_HEIGTH_MIN 4 /* For dialog_yesno() */
|
||||||
|
#define YESNO_WIDTH_MIN 4
|
||||||
|
#define WINDOW_HEIGTH_MIN 19 /* For init_dialog() */
|
||||||
|
#define WINDOW_WIDTH_MIN 80
|
||||||
|
|
||||||
int init_dialog(const char *backtitle);
|
int init_dialog(const char *backtitle);
|
||||||
void set_dialog_backtitle(const char *backtitle);
|
void set_dialog_backtitle(const char *backtitle);
|
||||||
void set_dialog_subtitles(struct subtitle_list *subtitles);
|
void set_dialog_subtitles(struct subtitle_list *subtitles);
|
||||||
|
|
|
@ -56,9 +56,9 @@ int dialog_inputbox(const char *title, const char *prompt, int height, int width
|
||||||
strcpy(instr, init);
|
strcpy(instr, init);
|
||||||
|
|
||||||
do_resize:
|
do_resize:
|
||||||
if (getmaxy(stdscr) <= (height - 2))
|
if (getmaxy(stdscr) <= (height - INPUTBOX_HEIGTH_MIN))
|
||||||
return -ERRDISPLAYTOOSMALL;
|
return -ERRDISPLAYTOOSMALL;
|
||||||
if (getmaxx(stdscr) <= (width - 2))
|
if (getmaxx(stdscr) <= (width - INPUTBOX_WIDTH_MIN))
|
||||||
return -ERRDISPLAYTOOSMALL;
|
return -ERRDISPLAYTOOSMALL;
|
||||||
|
|
||||||
/* center dialog box on screen */
|
/* center dialog box on screen */
|
||||||
|
|
|
@ -193,7 +193,7 @@ int dialog_menu(const char *title, const char *prompt,
|
||||||
do_resize:
|
do_resize:
|
||||||
height = getmaxy(stdscr);
|
height = getmaxy(stdscr);
|
||||||
width = getmaxx(stdscr);
|
width = getmaxx(stdscr);
|
||||||
if (height < 15 || width < 65)
|
if (height < MENUBOX_HEIGTH_MIN || width < MENUBOX_WIDTH_MIN)
|
||||||
return -ERRDISPLAYTOOSMALL;
|
return -ERRDISPLAYTOOSMALL;
|
||||||
|
|
||||||
height -= 4;
|
height -= 4;
|
||||||
|
|
|
@ -80,7 +80,7 @@ int dialog_textbox(const char *title, char *tbuf, int initial_height,
|
||||||
|
|
||||||
do_resize:
|
do_resize:
|
||||||
getmaxyx(stdscr, height, width);
|
getmaxyx(stdscr, height, width);
|
||||||
if (height < 8 || width < 8)
|
if (height < TEXTBOX_HEIGTH_MIN || width < TEXTBOX_WIDTH_MIN)
|
||||||
return -ERRDISPLAYTOOSMALL;
|
return -ERRDISPLAYTOOSMALL;
|
||||||
if (initial_height != 0)
|
if (initial_height != 0)
|
||||||
height = initial_height;
|
height = initial_height;
|
||||||
|
|
|
@ -317,7 +317,7 @@ int init_dialog(const char *backtitle)
|
||||||
getyx(stdscr, saved_y, saved_x);
|
getyx(stdscr, saved_y, saved_x);
|
||||||
|
|
||||||
getmaxyx(stdscr, height, width);
|
getmaxyx(stdscr, height, width);
|
||||||
if (height < 19 || width < 80) {
|
if (height < WINDOW_HEIGTH_MIN || width < WINDOW_WIDTH_MIN) {
|
||||||
endwin();
|
endwin();
|
||||||
return -ERRDISPLAYTOOSMALL;
|
return -ERRDISPLAYTOOSMALL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,9 +45,9 @@ int dialog_yesno(const char *title, const char *prompt, int height, int width)
|
||||||
WINDOW *dialog;
|
WINDOW *dialog;
|
||||||
|
|
||||||
do_resize:
|
do_resize:
|
||||||
if (getmaxy(stdscr) < (height + 4))
|
if (getmaxy(stdscr) < (height + YESNO_HEIGTH_MIN))
|
||||||
return -ERRDISPLAYTOOSMALL;
|
return -ERRDISPLAYTOOSMALL;
|
||||||
if (getmaxx(stdscr) < (width + 4))
|
if (getmaxx(stdscr) < (width + YESNO_WIDTH_MIN))
|
||||||
return -ERRDISPLAYTOOSMALL;
|
return -ERRDISPLAYTOOSMALL;
|
||||||
|
|
||||||
/* center dialog box on screen */
|
/* center dialog box on screen */
|
||||||
|
|
Loading…
Reference in New Issue