| 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 "status.h"#include "dialog.h"#include "util.h"#include "add_contact_window.h"#include "pixmaps/tb_edit.xpm"#include "pixmaps/cancel.xpm"Include dependency graph for edit_contact_window.c:

Go to the source code of this file.
Functions | |
| void | destroy (GtkWidget *widget, gpointer data) |
| void | ok_callback (GtkWidget *widget, gpointer data) |
| void | edit_contact_window_new (struct contact *c) |
Variables | |
| gint | window_open = 0 |
| contact * | my_contact |
| GtkWidget * | edit_contact_window |
| GtkWidget * | nick |
| GtkWidget * | service_list |
| GtkWidget * | group_list |
|
||||||||||||
|
Definition at line 45 of file edit_contact_window.c. References window_open. Referenced by edit_contact_window_new().
00046 {
00047 window_open = 0;
00048 }
|
|
|
Definition at line 69 of file edit_contact_window.c. References _, contact::default_chatb, destroy(), eb_icon(), edit_contact_window, get_groups(), get_service_list(), contact::group, group_list, _grouplist::name, contact::nick, nick, ok_callback(), service_list, and window_open. Referenced by edit_contact_callback().
00070 {
00071 gchar buff[1024];
00072 if( !window_open )
00073 {
00074 GtkWidget * vbox = gtk_vbox_new( FALSE, 5 );
00075 GtkWidget * hbox = gtk_hbox_new( FALSE, 0 );
00076 GtkWidget * hbox2;
00077 GtkWidget * button;
00078 GtkWidget * label;
00079 GtkWidget * iconwid;
00080 GtkWidget * frame;
00081 GtkWidget * table;
00082 GtkWidget * separator;
00083 GdkPixmap *icon;
00084 GdkBitmap *mask;
00085 GList * list;
00086 edit_contact_window = gtk_window_new(GTK_WINDOW_DIALOG);
00087 gtk_widget_realize(edit_contact_window);
00088 gtk_container_set_border_width(GTK_CONTAINER(edit_contact_window), 5);
00089
00090 table = gtk_table_new(2, 4, FALSE);
00091 gtk_table_set_row_spacings(GTK_TABLE(table), 5);
00092 gtk_table_set_row_spacings(GTK_TABLE(table), 5);
00093 gtk_container_set_border_width(GTK_CONTAINER(table), 5);
00094
00095 label = gtk_label_new(_("Contact Name:"));
00096 gtk_box_pack_end(GTK_BOX(hbox), label, FALSE, FALSE, 5);
00097 gtk_widget_show(label);
00098 gtk_table_attach(GTK_TABLE(table), hbox, 0, 1, 0, 1, GTK_EXPAND,
00099 GTK_EXPAND, 0, 0);
00100 gtk_widget_show(hbox);
00101
00102 nick = gtk_entry_new();
00103 gtk_table_attach(GTK_TABLE(table), nick, 1, 2, 0, 1,
00104 GTK_FILL, GTK_FILL, 0, 0);
00105
00106 gtk_entry_set_text(GTK_ENTRY(nick), c->nick );
00107 gtk_widget_show(nick);
00108
00109 hbox = gtk_hbox_new(FALSE, 0);
00110 label = gtk_label_new(_("Default Protocol:"));
00111 gtk_box_pack_end(GTK_BOX(hbox),label, FALSE, FALSE, 5);
00112 gtk_widget_show(label);
00113 gtk_table_attach(GTK_TABLE(table), hbox, 2, 3, 0, 1, GTK_EXPAND, GTK_EXPAND,
00114 0, 0);
00115 gtk_widget_show(hbox);
00116
00117
00118 service_list = gtk_combo_new();
00119 list = get_service_list();
00120 gtk_combo_set_popdown_strings(GTK_COMBO(service_list), list );
00121 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(service_list)->entry),
00122 eb_services[c->default_chatb].name);
00123 g_list_free(list);
00124 gtk_table_attach(GTK_TABLE(table), service_list, 3, 4, 0, 1,
00125 GTK_EXPAND, GTK_EXPAND, 0, 0);
00126 gtk_widget_show(service_list);
00127
00128 hbox = gtk_hbox_new( FALSE, 0 );
00129
00130 label = gtk_label_new(_("Group Name:"));
00131 gtk_box_pack_end(GTK_BOX(hbox),label, FALSE, FALSE, 5);
00132 gtk_widget_show(label);
00133
00134 gtk_table_attach(GTK_TABLE(table), hbox, 0, 1, 1, 2,
00135 GTK_EXPAND, GTK_EXPAND, 0, 0);
00136 gtk_widget_show(hbox);
00137
00138 group_list = gtk_combo_new();
00139 list = get_groups();
00140 gtk_combo_set_popdown_strings(GTK_COMBO(group_list), list );
00141 g_list_free(list);
00142 gtk_table_attach(GTK_TABLE(table), group_list, 1, 2, 1, 2,
00143 GTK_EXPAND, GTK_EXPAND, 0, 0);
00144
00145 gtk_widget_show(group_list);
00146 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(group_list)->entry),
00147 c->group->name);
00148
00149 frame = gtk_frame_new(NULL);
00150
00151 g_snprintf(buff,1024,_("Edit Properties for %s"), c->nick);
00152 gtk_frame_set_label(GTK_FRAME(frame), buff);
00153
00154 gtk_container_add(GTK_CONTAINER(frame), table);
00155 gtk_widget_show(table);
00156
00157 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
00158 gtk_widget_show(frame);
00159
00160 separator = gtk_hseparator_new();
00161 gtk_box_pack_start(GTK_BOX(vbox), separator, FALSE, FALSE, 5);
00162 gtk_widget_show(separator);
00163
00164 hbox = gtk_hbox_new(FALSE, 5);
00165 hbox2 = gtk_hbox_new(TRUE, 5);
00166 gtk_widget_set_usize(hbox2, 200,25 );
00167
00168 /*Ok Button*/
00169
00170 icon = gdk_pixmap_create_from_xpm_d( edit_contact_window->window, &mask, NULL, tb_edit_xpm);
00171 iconwid = gtk_pixmap_new( icon, mask );
00172 label = gtk_label_new(_("Apply"));
00173
00174 gtk_box_pack_start(GTK_BOX(hbox), iconwid, FALSE, FALSE, 2);
00175 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
00176
00177 gtk_widget_show(iconwid);
00178 gtk_widget_show(label);
00179
00180 button = gtk_button_new();
00181
00182 gtk_signal_connect(GTK_OBJECT(button), "clicked",
00183 GTK_SIGNAL_FUNC(ok_callback), NULL );
00184
00185 gtk_container_add (GTK_CONTAINER (button), hbox);
00186 gtk_widget_show(hbox);
00187
00188 gtk_box_pack_start(GTK_BOX(hbox2), button, TRUE, TRUE, 0);
00189 gtk_widget_show(button);
00190
00191 /*Cancel Button*/
00192
00193 hbox = gtk_hbox_new(FALSE, 5);
00194 icon = gdk_pixmap_create_from_xpm_d( edit_contact_window->window, &mask, NULL, cancel_xpm);
00195 iconwid = gtk_pixmap_new( icon, mask );
00196 label = gtk_label_new(_("Cancel"));
00197
00198 gtk_box_pack_start(GTK_BOX(hbox), iconwid, FALSE, FALSE, 2);
00199 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
00200
00201 gtk_widget_show(iconwid);
00202 gtk_widget_show(label);
00203
00204 button = gtk_button_new();
00205
00206 gtk_signal_connect_object(GTK_OBJECT(button), "clicked",
00207 GTK_SIGNAL_FUNC(gtk_widget_destroy),
00208 GTK_OBJECT(edit_contact_window));
00209 gtk_container_add (GTK_CONTAINER (button), hbox);
00210 gtk_widget_show(hbox);
00211
00212 gtk_box_pack_start(GTK_BOX(hbox2), button, TRUE, TRUE, 0);
00213 gtk_widget_show(button);
00214
00215 /*Buttons End*/
00216
00217 hbox = gtk_hbox_new(FALSE, 5);
00218
00219 gtk_box_pack_end(GTK_BOX(hbox), hbox2, FALSE, FALSE, 0 );
00220 gtk_widget_show(hbox2);
00221
00222 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
00223 gtk_widget_show(hbox);
00224
00225 table = gtk_table_new(1, 1, FALSE);
00226 gtk_table_attach(GTK_TABLE(table), vbox, 0, 1, 0, 1,
00227 GTK_EXPAND, GTK_EXPAND, 0, 0);
00228 gtk_widget_show(vbox);
00229
00230 gtk_container_add(GTK_CONTAINER(edit_contact_window), table);
00231 gtk_widget_show(table);
00232
00233 gtk_signal_connect( GTK_OBJECT(edit_contact_window), "destroy",
00234 GTK_SIGNAL_FUNC(destroy), NULL );
00235 gtk_widget_show(edit_contact_window);
00236 }
00237
00238 //gtk_entry_set_text(GTK_ENTRY(nick), c->nick );
00239 //gtk_combo_set_value_in_list(GTK_COMBO(service_list), c-> default_chatb, 0 );
00240 g_snprintf(buff,1024,_("Edit Properties for %s"), c->nick);
00241 gtk_window_set_title(GTK_WINDOW(edit_contact_window), buff );
00242 eb_icon(edit_contact_window->window);
00243 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(service_list)->entry),
00244 eb_services[c->default_chatb].name );
00245
00246 gtk_signal_connect( GTK_OBJECT(edit_contact_window), "destroy",
00247 GTK_SIGNAL_FUNC(destroy), NULL );
00248 my_contact = c;
00249 window_open = 1;
00250 }
|
|
||||||||||||
|
Definition at line 50 of file edit_contact_window.c. References contact::default_chatb, contact::default_filetransb, edit_contact_window, get_service_id(), group_list, contact::label, move_contact(), nick, contact::nick, rename_nick_log(), service_list, update_contact_list(), and write_contact_list(). Referenced by edit_contact_window_new().
00051 {
00052 gint service_id = get_service_id(gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(service_list)->entry)));
00053 /* Rename log if logging is enabled */
00054 rename_nick_log(my_contact->nick, gtk_entry_get_text(GTK_ENTRY(nick)));
00055 strncpy(my_contact->nick, gtk_entry_get_text(GTK_ENTRY(nick)), 254);
00056 my_contact->nick[254] = '\0';
00057 my_contact->default_chatb = service_id;
00058 my_contact->default_filetransb = service_id;
00059
00060 if (my_contact->label)
00061 gtk_label_set_text(GTK_LABEL(my_contact->label), my_contact->nick);
00062 move_contact(gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(group_list)->entry)),
00063 my_contact);
00064 update_contact_list ();
00065 write_contact_list();
00066 gtk_widget_destroy(edit_contact_window);
00067 }
|
|
|
Definition at line 40 of file edit_contact_window.c. Referenced by edit_contact_window_new(), and ok_callback(). |
|
|
Definition at line 43 of file edit_contact_window.c. Referenced by edit_contact_window_new(), and ok_callback(). |
|
|
Definition at line 39 of file edit_contact_window.c. |
|
|
Definition at line 41 of file edit_contact_window.c. Referenced by edit_contact_window_new(), and ok_callback(). |
|
|
Definition at line 42 of file edit_contact_window.c. Referenced by edit_contact_window_new(), and ok_callback(). |
|
|
Definition at line 38 of file edit_contact_window.c. Referenced by destroy(), and edit_contact_window_new(). |