aboutsummaryrefslogtreecommitdiff
path: root/src/dialog.cc
diff options
context:
space:
mode:
authorcorvid <devnull@localhost>2015-05-29 21:47:28 +0000
committercorvid <devnull@localhost>2015-05-29 21:47:28 +0000
commit1970b812237a507a95394be1f31d3caa3242020b (patch)
treeadd1bbdc204b5537c05a29a3d5bd02eb15e6ed94 /src/dialog.cc
parent73af306ef03f9ecc8b3213755f0ae830caf649c4 (diff)
some more information for TLS warning popups
Diffstat (limited to 'src/dialog.cc')
-rw-r--r--src/dialog.cc20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/dialog.cc b/src/dialog.cc
index 10988c98..03949a1c 100644
--- a/src/dialog.cc
+++ b/src/dialog.cc
@@ -325,6 +325,7 @@ static void choice_cb(Fl_Widget *button, void *number)
{
choice_answer = VOIDP2INT(number);
_MSG("choice_cb: %d\n", choice_answer);
+
button->window()->hide();
}
@@ -358,16 +359,15 @@ int a_Dialog_choice(const char *title, const char *msg, ...)
Fl_Window *window = new Fl_Window(ww, wh, title);
window->set_modal();
window->begin();
- Fl_Group *ib = new Fl_Group(0, 0, window->w(), window->h());
- ib->begin();
- window->resizable(ib);
- if (msg != NULL){
- Fl_Box *box = new Fl_Box(0, 0, ww, wh - bh, msg);
- box->labelfont(FL_HELVETICA);
- box->labelsize(14);
- box->align(FL_ALIGN_WRAP);
- }
+ Fl_Text_Buffer *buf = new Fl_Text_Buffer();
+ buf->text(msg);
+ Fl_Text_Display *td = new Fl_Text_Display(0, 0, ww, wh - bh);
+ td->buffer(buf);
+ td->textsize((int) rint(14.0 * prefs.font_factor));
+ td->wrap_mode(Fl_Text_Display::WRAP_AT_BOUNDS, 0);
+
+ window->resizable(td);
int xpos = gap;
va_start(ap, msg);
@@ -386,6 +386,8 @@ int a_Dialog_choice(const char *title, const char *msg, ...)
while (window->shown())
Fl::wait();
_MSG("Dialog_choice answer = %d\n", answer);
+ td->buffer(NULL);
+ delete buf;
delete window;
return choice_answer;