| 321 G_CALLBACK(input_response_cb), data); |
321 G_CALLBACK(input_response_cb), data); |
| 322 |
322 |
| 323 /* Setup the dialog */ |
323 /* Setup the dialog */ |
| 324 gtk_container_set_border_width(GTK_CONTAINER(dialog), PIDGIN_HIG_BORDER/2); |
324 gtk_container_set_border_width(GTK_CONTAINER(dialog), PIDGIN_HIG_BORDER/2); |
| 325 gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), PIDGIN_HIG_BORDER/2); |
325 gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), PIDGIN_HIG_BORDER/2); |
| 326 gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); |
326 if (!multiline) |
| |
327 gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); |
| 327 gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); |
328 gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); |
| 328 gtk_dialog_set_default_response(GTK_DIALOG(dialog), 0); |
329 gtk_dialog_set_default_response(GTK_DIALOG(dialog), 0); |
| 329 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog)->vbox), PIDGIN_HIG_BORDER); |
330 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog)->vbox), PIDGIN_HIG_BORDER); |
| 330 |
331 |
| 331 /* Setup the main horizontal box */ |
332 /* Setup the main horizontal box */ |
| 339 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); |
340 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); |
| 340 |
341 |
| 341 /* Vertical box */ |
342 /* Vertical box */ |
| 342 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); |
343 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); |
| 343 |
344 |
| 344 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); |
345 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); |
| 345 |
346 |
| 346 /* Descriptive label */ |
347 /* Descriptive label */ |
| 347 primary_esc = (primary != NULL) ? g_markup_escape_text(primary, -1) : NULL; |
348 primary_esc = (primary != NULL) ? g_markup_escape_text(primary, -1) : NULL; |
| 348 secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL; |
349 secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL; |
| 349 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" |
350 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" |
| 357 label = gtk_label_new(NULL); |
358 label = gtk_label_new(NULL); |
| 358 |
359 |
| 359 gtk_label_set_markup(GTK_LABEL(label), label_text); |
360 gtk_label_set_markup(GTK_LABEL(label), label_text); |
| 360 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
361 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
| 361 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
362 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
| 362 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); |
363 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); |
| 363 |
364 |
| 364 g_free(label_text); |
365 g_free(label_text); |
| 365 |
366 |
| 366 /* Entry field. */ |
367 /* Entry field. */ |
| 367 data->u.input.multiline = multiline; |
368 data->u.input.multiline = multiline; |
| 971 GtkListStore *store; |
972 GtkListStore *store; |
| 972 GtkCellRenderer *renderer; |
973 GtkCellRenderer *renderer; |
| 973 GtkTreeSelection *sel; |
974 GtkTreeSelection *sel; |
| 974 GtkTreeViewColumn *column; |
975 GtkTreeViewColumn *column; |
| 975 GtkTreeIter iter; |
976 GtkTreeIter iter; |
| 976 const GList *l; |
977 GList *l; |
| 977 |
978 |
| 978 /* Create the scrolled window */ |
979 /* Create the scrolled window */ |
| 979 sw = gtk_scrolled_window_new(NULL, NULL); |
980 sw = gtk_scrolled_window_new(NULL, NULL); |
| 980 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), |
981 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), |
| 981 GTK_POLICY_AUTOMATIC, |
982 GTK_POLICY_AUTOMATIC, |
| 1067 data->cbs = g_new0(GCallback, 2); |
1068 data->cbs = g_new0(GCallback, 2); |
| 1068 |
1069 |
| 1069 data->cbs[0] = ok_cb; |
1070 data->cbs[0] = ok_cb; |
| 1070 data->cbs[1] = cancel_cb; |
1071 data->cbs[1] = cancel_cb; |
| 1071 |
1072 |
| 1072 data->dialog = win = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
1073 |
| 1073 |
|
| 1074 if (title != NULL) |
|
| 1075 gtk_window_set_title(GTK_WINDOW(win), title); |
|
| 1076 #ifdef _WIN32 |
1074 #ifdef _WIN32 |
| 1077 gtk_window_set_title(GTK_WINDOW(win), PIDGIN_ALERT_TITLE); |
1075 data->dialog = win = pidgin_create_window(PIDGIN_ALERT_TITLE, PIDGIN_HIG_BORDER, "multifield", TRUE) ; |
| 1078 #endif |
1076 #else /* !_WIN32 */ |
| 1079 |
1077 data->dialog = win = pidgin_create_window(title, PIDGIN_HIG_BORDER, "multifield", TRUE) ; |
| 1080 gtk_window_set_role(GTK_WINDOW(win), "multifield"); |
1078 #endif /* _WIN32 */ |
| 1081 gtk_container_set_border_width(GTK_CONTAINER(win), PIDGIN_HIG_BORDER); |
|
| 1082 |
1079 |
| 1083 g_signal_connect(G_OBJECT(win), "delete_event", |
1080 g_signal_connect(G_OBJECT(win), "delete_event", |
| 1084 G_CALLBACK(destroy_multifield_cb), data); |
1081 G_CALLBACK(destroy_multifield_cb), data); |
| 1085 |
1082 |
| 1086 /* Setup the main horizontal box */ |
1083 /* Setup the main horizontal box */ |