| Yattm - unified GTK instant-messaging client | ![]() |
| [Generated for version 0.2-17 - Mon Jan 6 19:01:23 GMT+1 2003] |
#include "intl.h"#include <string.h>#include <gtk/gtk.h>#include <gdk/gdkprivate.h>#include <stdlib.h>#include "dialog.h"#include "util.h"#include "status.h"#include "pixmaps/yattm.xpm"#include "pixmaps/tb_yes.xpm"#include "pixmaps/tb_no.xpm"#include "pixmaps/ok.xpm"#include "libproxy/libproxy.h"#include "gtk_globals.h"Include dependency graph for dialog.c:

Go to the source code of this file.
Functions | |
| void | set_option (GtkWidget *w, int *data) |
| GtkWidget * | eb_button (const char *text, int *value, GtkWidget *page) |
| GtkWidget * | eb_push_button (const char *text, GtkWidget *page) |
| GSList * | eb_radio (GSList *group, const char *text, int curr_val, int set_val, GtkWidget *page, void *set_element) |
| GtkWidget * | eb_menu_button (GtkMenu *menu, gchar *label, GtkSignalFunc callback_func, gpointer callback_arg) |
| GtkWidget * | eb_menu_submenu (GtkMenu *menu, gchar *label, GtkWidget *submenu) |
| void | eb_icon (GdkWindow *w) |
| void | list_dialog_callback (GtkWidget *widget, gint row, gint column, GdkEventButton *event, gpointer data) |
| void | do_list_dialog (gchar *message, gchar *title, char **list, void(*action)(char *text, gpointer data), gpointer data) |
| void | do_dialog (gchar *message, gchar *title, void(*action)(GtkWidget *widget, gpointer data), gpointer data) |
| GtkWidget * | do_error_dialog (char *message, char *title) |
| void | input_window_destroy (GtkWidget *widget, gpointer data) |
| void | input_window_ok (GtkWidget *widget, gpointer data) |
| void | do_text_input_window (gchar *title, gchar *value, void(*action)(char *text, gpointer data), gpointer data) |
Variables | |
| GdkPixmap * | icon_pm = NULL |
| GdkBitmap * | icon_bm = NULL |
|
||||||||||||||||||||
|
Definition at line 260 of file dialog.c. Referenced by eb_do_dialog(), get_file(), ignore_callback(), invite_dialog(), offer_remove_account_callback(), offer_remove_contact_callback(), and offer_remove_group_callback().
00261 {
00262 GtkWidget * dialog_window;
00263 GtkWidget * button;
00264 GtkWidget * label;
00265 GdkPixmap *pm;
00266 GdkBitmap *bm;
00267 GtkWidget * button_box;
00268
00269 dialog_window = gtk_dialog_new();
00270 gtk_window_set_position(GTK_WINDOW(dialog_window), GTK_WIN_POS_MOUSE);
00271 gtk_widget_realize(dialog_window);
00272 gtk_window_set_title(GTK_WINDOW(dialog_window), title );
00273
00274
00275
00276 label = gtk_label_new(message);
00277 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
00278 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->vbox),
00279 label, FALSE, FALSE, 5);
00280
00281 button_box = gtk_hbox_new(FALSE, 5);
00282 pm = gdk_pixmap_create_from_xpm_d(statuswindow->window, &bm, NULL, tb_yes_xpm);
00283 label = gtk_pixmap_new(pm, bm);
00284
00285 gtk_box_pack_start(GTK_BOX(button_box), label, FALSE, FALSE, 2 );
00286
00287 label = gtk_label_new(_("Yes"));
00288 gtk_box_pack_start(GTK_BOX(button_box), label, FALSE, FALSE, 2 );
00289
00290
00291 button = gtk_button_new();
00292 gtk_container_add(GTK_CONTAINER(button), button_box);
00293 gtk_widget_show(button_box);
00294 gtk_signal_connect(GTK_OBJECT(button), "clicked",
00295 GTK_SIGNAL_FUNC(action), data );
00296 gtk_signal_connect_object(GTK_OBJECT(button), "clicked",
00297 GTK_SIGNAL_FUNC(gtk_widget_destroy),
00298 (gpointer)dialog_window);
00299 gtk_object_set_user_data(GTK_OBJECT(button), (gpointer)1);
00300
00301 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->action_area),
00302 button, FALSE, FALSE, 5 );
00303
00304 button_box = gtk_hbox_new(FALSE, 5);
00305 pm = gdk_pixmap_create_from_xpm_d(statuswindow->window, &bm, NULL, tb_no_xpm);
00306 label = gtk_pixmap_new(pm, bm);
00307
00308 gtk_box_pack_start(GTK_BOX(button_box), label, FALSE, FALSE, 2 );
00309
00310 label = gtk_label_new(_("No"));
00311 gtk_box_pack_start(GTK_BOX(button_box), label, FALSE, FALSE, 2 );
00312
00313
00314 button = gtk_button_new();
00315 gtk_container_add(GTK_CONTAINER(button), button_box);
00316
00317 gtk_signal_connect(GTK_OBJECT(button), "clicked",
00318 GTK_SIGNAL_FUNC(action), data);
00319 gtk_signal_connect_object(GTK_OBJECT(button), "clicked",
00320 GTK_SIGNAL_FUNC(gtk_widget_destroy),
00321 (gpointer)dialog_window);
00322 gtk_object_set_user_data(GTK_OBJECT(button), (gpointer)0 );
00323
00324 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->action_area),
00325 button, FALSE, FALSE, 5 );
00326
00327 gtk_widget_show_all(dialog_window);
00328 }
|
|
||||||||||||
|
Definition at line 338 of file dialog.c. Referenced by add_account_verbose(), add_button_callback(), add_callback(), file_ok(), get_file2(), load_modules(), load_utility_plugin(), main(), ok_callback(), reload_service_accounts(), send_file(), unload_module(), and update_send_progress().
00339 {
00340 GtkWidget *d;
00341 GtkWidget *label;
00342 GtkWidget *close;
00343
00344
00345 d = gtk_dialog_new();
00346 /* if parent is not main window, set it.
00347 * This prevents this dialog from popping up 'underneath' another
00348 * dialog to which it applies
00349 */
00350 /*if(current_parent_widget)
00351 {
00352 gtk_window_set_transient_for(GTK_WINDOW(d),
00353 GTK_WINDOW(current_parent_widget));
00354 }*/
00355 label = gtk_label_new(message);
00356 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
00357 gtk_widget_show(label);
00358 close = gtk_button_new_with_label(_("OK"));
00359 gtk_widget_show(close);
00360 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox),
00361 label, FALSE, FALSE, 5);
00362 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area),
00363 close, FALSE, FALSE, 5);
00364 /* so text isn't up against the border */
00365 gtk_container_set_border_width(GTK_CONTAINER(d), 5);
00366 gtk_widget_realize(d);
00367 gtk_window_set_title(GTK_WINDOW(d), title);
00368 gtk_window_set_position(GTK_WINDOW(d), GTK_WIN_POS_MOUSE);
00369 gtk_signal_connect_object(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(d));
00370 gtk_window_set_modal(GTK_WINDOW(d), TRUE);
00371
00372 gtk_widget_show(d);
00373 return d;
00374 }
|
|
||||||||||||||||||||||||
|
Definition at line 194 of file dialog.c. References _list_dialog_data::callback, _list_dialog_data::data, DBG_CORE, eb_debug, list_dialog_callback(), and title.
00195 {
00196 GtkWidget * dialog_window;
00197 GtkWidget * label;
00198 GtkWidget * clist;
00199 /* UNUSED GtkWidget * button_box; */
00200 char *Row[2]={NULL, NULL};
00201 list_dialog_data *ldata;
00202 char **ptr=list;
00203
00204 eb_debug(DBG_CORE, ">Entering\n");
00205 if(list[0]==NULL) {
00206 eb_debug(DBG_CORE, ">Leaving as list[0]==NULL\n");
00207 return;
00208 }
00209 dialog_window = gtk_dialog_new();
00210
00211 gtk_widget_realize(dialog_window);
00212 gtk_window_set_title(GTK_WINDOW(dialog_window), title );
00213
00214 label = gtk_label_new(message);
00215 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
00216 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->vbox),
00217 label, FALSE, FALSE, 5);
00218
00219 /* Convert the **list to a GList */
00220 clist = gtk_clist_new(1); /* Only 1 column */
00221 gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_SINGLE);
00222 gtk_clist_set_column_width (GTK_CLIST(clist), 0, 200);
00223 /* Array of pointers to elements, one per column */
00224 while(*ptr) {
00225 Row[0]=*ptr;
00226 ptr++;
00227 gtk_clist_append(GTK_CLIST(clist), Row);
00228 free(Row[0]);
00229 }
00230 free(list);
00231
00232 ldata=calloc(1, sizeof(list_dialog_data));
00233 ldata->callback=action;
00234 ldata->data=data;
00235 gtk_signal_connect(GTK_OBJECT(clist),
00236 "select_row",
00237 GTK_SIGNAL_FUNC(list_dialog_callback),
00238 ldata);
00239 gtk_signal_connect_object(GTK_OBJECT(clist),
00240 "select_row",
00241 GTK_SIGNAL_FUNC(gtk_widget_destroy),
00242 (gpointer)dialog_window);
00243 gtk_widget_show(clist);
00244 /* End list construction */
00245 /*
00246 button_box = gtk_hbox_new(FALSE, 5);
00247
00248 gtk_box_pack_start(GTK_BOX(button_box), label, FALSE, FALSE, 2 );
00249
00250 gtk_container_add(GTK_CONTAINER(button_box), button_box);
00251 gtk_widget_show(button_box);
00252 */
00253 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->action_area),
00254 clist, FALSE, FALSE, 5 );
00255
00256 gtk_widget_show_all(dialog_window);
00257 eb_debug(DBG_CORE, ">Leaving, all done\n");
00258 }
|
|
||||||||||||||||||||
|
Definition at line 393 of file dialog.c. References _, _text_input_window::callback, _text_input_window::data, eb_icon(), input_window_destroy(), input_window_ok(), _text_input_window::text, title, and _text_input_window::window.
00396 {
00397 GtkWidget * vbox = gtk_vbox_new(FALSE, 5);
00398 GtkWidget * frame = gtk_frame_new(NULL);
00399 GtkWidget * hbox;
00400 GtkWidget * hbox2;
00401 GtkWidget * separator;
00402 GtkWidget * iconwid;
00403 GdkPixmap * icon;
00404 GdkBitmap * mask;
00405 GtkWidget * label;
00406 GtkWidget * button;
00407
00408 text_input_window * input_window = g_new0(text_input_window, 1);
00409 input_window->callback = action;
00410 input_window->data = data;
00411
00412 input_window->window = gtk_window_new(GTK_WINDOW_DIALOG);
00413 gtk_window_set_position(GTK_WINDOW(input_window->window), GTK_WIN_POS_MOUSE);
00414 gtk_widget_realize(input_window->window);
00415
00416 gtk_container_set_border_width(GTK_CONTAINER(input_window->window), 5);
00417 gtk_frame_set_label(GTK_FRAME(frame), title);
00418
00419 input_window->text = gtk_text_new(NULL, NULL);
00420 gtk_widget_set_usize(input_window->text, 400, 200);
00421 gtk_text_insert(GTK_TEXT(input_window->text),
00422 NULL, NULL, NULL, value, strlen(value));
00423 gtk_text_set_editable(GTK_TEXT(input_window->text),
00424 TRUE);
00425
00426 gtk_container_add(GTK_CONTAINER(frame), input_window->text);
00427 gtk_widget_show(input_window->text);
00428
00429 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
00430 gtk_widget_show(frame);
00431
00432
00433 separator = gtk_hseparator_new();
00434 gtk_box_pack_start(GTK_BOX(vbox), separator, FALSE, FALSE, 5);
00435 gtk_widget_show(separator);
00436
00437 hbox = gtk_hbox_new(FALSE, 5);
00438 hbox2 = gtk_hbox_new(TRUE, 5);
00439
00440 gtk_widget_set_usize(hbox2, 100,25);
00441
00442 icon = gdk_pixmap_create_from_xpm_d(input_window->window->window, &mask, NULL, ok_xpm);
00443 iconwid = gtk_pixmap_new(icon, mask);
00444 label = gtk_label_new(_("OK"));
00445
00446 gtk_box_pack_start(GTK_BOX(hbox), iconwid, FALSE, FALSE, 2);
00447 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
00448
00449 gtk_widget_show(iconwid);
00450 gtk_widget_show(label);
00451
00452 button = gtk_button_new();
00453
00454 gtk_signal_connect(GTK_OBJECT(button), "clicked", input_window_ok,
00455 input_window);
00456
00457 gtk_signal_connect_object(GTK_OBJECT(button), "clicked",
00458 GTK_SIGNAL_FUNC(gtk_widget_destroy),
00459 GTK_OBJECT(input_window->window));
00460
00461 gtk_container_add(GTK_CONTAINER (button), hbox);
00462 gtk_widget_show(hbox);
00463
00464 gtk_box_pack_start(GTK_BOX(hbox2), button, TRUE, TRUE, 0);
00465 gtk_widget_show(button);
00466
00467 hbox = gtk_hbox_new(FALSE, 0);
00468
00469 gtk_box_pack_end(GTK_BOX(hbox),hbox2, FALSE, FALSE, 0);
00470 gtk_widget_show(hbox2);
00471
00472 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
00473 gtk_widget_show(hbox);
00474
00475 gtk_container_add(GTK_CONTAINER(input_window->window), vbox);
00476 gtk_widget_show(vbox);
00477
00478 gtk_window_set_title(GTK_WINDOW(input_window->window), title);
00479 eb_icon(input_window->window->window);
00480
00481 gtk_signal_connect(GTK_OBJECT(input_window->window), "destroy",
00482 GTK_SIGNAL_FUNC(input_window_destroy), input_window);
00483
00484 gtk_widget_show(input_window->window);
00485
00486
00487 }
|
|
||||||||||||||||
|
Definition at line 54 of file dialog.c. References set_option(). Referenced by build_chat_prefs(), build_general_prefs(), build_layout_prefs(), build_logs_prefs(), build_proxy_prefs(), build_sound_tab(), and eb_input_render().
00055 {
00056 GtkWidget *button;
00057 button = gtk_check_button_new_with_label(text);
00058 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), *value);
00059 gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0);
00060 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_option), value);
00061 gtk_widget_show(button);
00062 return button;
00063 }
|
|
|
Definition at line 157 of file dialog.c. References icon_bm, and icon_pm. Referenced by build_prefs(), do_text_input_window(), draw_edit_account_window(), eb_chat_window_new(), eb_info_window_new(), eb_join_chat_room(), eb_new_user(), eb_status_window(), edit_contact_window_new(), edit_group_window_new(), show_about(), show_add_defined_contact_window(), show_away(), show_away2(), and show_trigger_window().
00158 {
00159 GdkAtom icon_atom;
00160 glong data[2];
00161 if (icon_pm == NULL) {
00162 icon_pm = gdk_pixmap_create_from_xpm_d(w, &icon_bm,
00163 NULL, (gchar **)yattm_xpm);
00164 }
00165
00166 #ifndef __MINGW32__
00167 data[0] = ((GdkPixmapPrivate *)icon_pm)->xwindow;
00168 data[1] = ((GdkPixmapPrivate *)icon_bm)->xwindow;
00169
00170 icon_atom = gdk_atom_intern( "KWM_WIN_ICON", FALSE);
00171 gdk_property_change (w, icon_atom, icon_atom,
00172 32, GDK_PROP_MODE_REPLACE,
00173 (guchar *)data, 2);
00174 #endif
00175 gdk_window_set_icon(w, NULL, icon_pm, icon_bm);
00176 // gdk_window_set_back_pixmap(w, icon_pm, 0 );
00177 // gdk_window_set_group(w, statuswindow->window);
00178 }
|
|
||||||||||||||||||||
|
Definition at line 115 of file dialog.c. Referenced by account_menu(), contact_menu(), and group_menu().
00118 {
00119 GtkWidget * button;
00120 if (label == NULL)
00121 button = gtk_menu_item_new();
00122 else
00123 button = gtk_menu_item_new_with_label(label);
00124 if(callback_func != NULL)
00125 gtk_signal_connect(GTK_OBJECT(button), "activate",
00126 callback_func, callback_arg);
00127 gtk_menu_append(menu, button);
00128 gtk_widget_show(button);
00129
00130 return (button);
00131 }
|
|
||||||||||||||||
|
Definition at line 133 of file dialog.c. Referenced by contact_menu().
00135 {
00136 GtkWidget * button;
00137
00138 button = gtk_menu_item_new_with_label(label);
00139 gtk_menu_append(GTK_MENU(menu), button);
00140
00141 gtk_menu_item_set_submenu (GTK_MENU_ITEM (button), submenu);
00142 gtk_widget_show(button);
00143
00144 return (button);
00145 }
|
|
||||||||||||
|
Definition at line 65 of file dialog.c. Referenced by build_modules_prefs(), and plugin_selected().
00066 {
00067 GtkWidget *button;
00068 button = gtk_button_new_with_label(text);
00069 gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0);
00070 gtk_widget_show(button);
00071 return button;
00072 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 78 of file dialog.c. Referenced by build_layout_prefs().
00080 {
00081 GtkWidget * radio;
00082
00083 /* Create Button w/ or w/out text, as requested */
00084 if (text == NULL)
00085 {
00086 radio = gtk_radio_button_new (group);
00087 }
00088 else
00089 {
00090 radio = gtk_radio_button_new_with_label (group, text);
00091 }
00092
00093 /* select this button if it should be */
00094 gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON(radio),
00095 (curr_val == set_val));
00096
00097 /* add this button to whatever box given */
00098 gtk_box_pack_start (GTK_BOX(page), radio, FALSE, FALSE, 0);
00099
00100 /* Set the callback that we're told to set and the argument */
00101 gtk_signal_connect(GTK_OBJECT(radio), "clicked",
00102 GTK_SIGNAL_FUNC(set_element), (void *) set_val);
00103
00104 /* Make this visible */
00105 gtk_widget_show (radio);
00106
00107 /* Return the group */
00108 return (gtk_radio_button_group (GTK_RADIO_BUTTON(radio)));
00109 }
|
|
||||||||||||
|
Definition at line 381 of file dialog.c. Referenced by do_text_input_window().
00382 {
00383 g_free(data);
00384 }
|
|
||||||||||||
|
Definition at line 386 of file dialog.c. References _text_input_window::callback, _text_input_window::data, and _text_input_window::text. Referenced by do_text_input_window().
00387 {
00388 text_input_window * window = (text_input_window*)data;
00389 char * text = gtk_editable_get_chars(GTK_EDITABLE(window->text), 0, -1);
00390 window->callback(text, window->data);
00391 }
|
|
||||||||||||||||||||||||
|
Definition at line 180 of file dialog.c. References _list_dialog_data::callback, and _list_dialog_data::data. Referenced by do_list_dialog().
00185 {
00186 gchar *text;
00187 list_dialog_data *ldd = data;
00188
00189 gtk_clist_get_text(GTK_CLIST(widget), row, column, &text);
00190 ldd->callback(strdup(text), ldd->data);
00191 free(ldd);
00192 }
|
|
||||||||||||
|
Definition at line 49 of file dialog.c. Referenced by eb_button().
00050 {
00051 *data = !(*data);
00052 }
|
|
|
Definition at line 43 of file dialog.c. Referenced by eb_icon(). |
|
|
Definition at line 42 of file dialog.c. Referenced by eb_icon(). |