Mercurial > pidgin.yaz
comparison src/dialogs.c @ 4635:42d53c416bb9
[gaim-migrate @ 4942]
remove deprecated gtk calls, gtk2-ify log viewer, gtk2-ify jabber vcard
dialog, and probably a cleanup or two I forgot about.
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Sun, 02 Mar 2003 19:21:36 +0000 |
parents | 5cdfd20daa07 |
children | bf89c7598989 |
comparison
equal
deleted
inserted
replaced
4634:d19872836812 | 4635:42d53c416bb9 |
---|---|
274 static gint delete_event_dialog(GtkWidget *w, GdkEventAny *e, struct gaim_conversation *c) | 274 static gint delete_event_dialog(GtkWidget *w, GdkEventAny *e, struct gaim_conversation *c) |
275 { | 275 { |
276 struct gaim_gtk_conversation *gtkconv; | 276 struct gaim_gtk_conversation *gtkconv; |
277 gchar *object_data; | 277 gchar *object_data; |
278 | 278 |
279 object_data = gtk_object_get_user_data(GTK_OBJECT(w)); | 279 object_data = g_object_get_data(G_OBJECT(w), "dialog_type"); |
280 | 280 |
281 gtkconv = GAIM_GTK_CONVERSATION(c); | 281 gtkconv = GAIM_GTK_CONVERSATION(c); |
282 | 282 |
283 if (GTK_IS_COLOR_SELECTION_DIALOG(w)) { | 283 if (GTK_IS_COLOR_SELECTION_DIALOG(w)) { |
284 gaim_gtk_set_state_lock(TRUE); | 284 gaim_gtk_set_state_lock(TRUE); |
285 if (w == gtkconv->dialogs.fg_color) { | 285 if (w == gtkconv->dialogs.fg_color) { |
286 gtk_toggle_button_set_state( | 286 gtk_toggle_button_set_active( |
287 GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), FALSE); | 287 GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), FALSE); |
288 gtkconv->dialogs.fg_color = NULL; | 288 gtkconv->dialogs.fg_color = NULL; |
289 } else { | 289 } else { |
290 gtk_toggle_button_set_state( | 290 gtk_toggle_button_set_active( |
291 GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), FALSE); | 291 GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), FALSE); |
292 gtkconv->dialogs.bg_color = NULL; | 292 gtkconv->dialogs.bg_color = NULL; |
293 } | 293 } |
294 gaim_gtk_set_state_lock(FALSE); | 294 gaim_gtk_set_state_lock(FALSE); |
295 } else if (GTK_IS_FONT_SELECTION_DIALOG(w)) { | 295 } else if (GTK_IS_FONT_SELECTION_DIALOG(w)) { |
296 gaim_gtk_set_state_lock(TRUE); | 296 gaim_gtk_set_state_lock(TRUE); |
297 gtk_toggle_button_set_state( | 297 gtk_toggle_button_set_active( |
298 GTK_TOGGLE_BUTTON(gtkconv->toolbar.normal_size), FALSE); | 298 GTK_TOGGLE_BUTTON(gtkconv->toolbar.normal_size), FALSE); |
299 gaim_gtk_set_state_lock(FALSE); | 299 gaim_gtk_set_state_lock(FALSE); |
300 gtkconv->dialogs.font = NULL; | 300 gtkconv->dialogs.font = NULL; |
301 } else if (!g_strcasecmp(object_data, "smiley dialog")) { | 301 } else if (!g_strcasecmp(object_data, "smiley dialog")) { |
302 gaim_gtk_set_state_lock(TRUE); | 302 gaim_gtk_set_state_lock(TRUE); |
303 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), | 303 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), |
304 FALSE); | 304 FALSE); |
305 gaim_gtk_set_state_lock(FALSE); | 305 gaim_gtk_set_state_lock(FALSE); |
306 gtkconv->dialogs.smiley = NULL; | 306 gtkconv->dialogs.smiley = NULL; |
307 } else if (!g_strcasecmp(object_data, "log dialog")) { | 307 } else if (!g_strcasecmp(object_data, "log dialog")) { |
308 gaim_gtk_set_state_lock(TRUE); | 308 gaim_gtk_set_state_lock(TRUE); |
664 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | 664 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); |
665 | 665 |
666 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | 666 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
667 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | 667 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
668 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 668 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
669 | 669 |
670 gtk_widget_show_all(window); | 670 gtk_widget_show_all(window); |
671 } | 671 } |
672 | 672 |
673 void show_info_select_account(GtkObject *w, struct gaim_connection *gc) | 673 void show_info_select_account(GObject *w, struct gaim_connection *gc) |
674 { | 674 { |
675 struct getuserinfo *info = gtk_object_get_user_data(w); | 675 struct getuserinfo *info = g_object_get_data(w, "getuserinfo"); |
676 info->gc = gc; | 676 info->gc = gc; |
677 } | 677 } |
678 | 678 |
679 static void dialog_set_ok_sensitive(GtkWidget *entry, GtkWidget *dlg) { | 679 static void dialog_set_ok_sensitive(GtkWidget *entry, GtkWidget *dlg) { |
680 const char *txt = gtk_entry_get_text(GTK_ENTRY(entry)); | 680 const char *txt = gtk_entry_get_text(GTK_ENTRY(entry)); |
763 g = g->next; | 763 g = g->next; |
764 continue; | 764 continue; |
765 } | 765 } |
766 g_snprintf(buf, sizeof(buf), "%s (%s)", c->username, c->prpl->name); | 766 g_snprintf(buf, sizeof(buf), "%s (%s)", c->username, c->prpl->name); |
767 opt = gtk_menu_item_new_with_label(buf); | 767 opt = gtk_menu_item_new_with_label(buf); |
768 gtk_object_set_user_data(GTK_OBJECT(opt), info); | 768 g_object_set_data(G_OBJECT(opt), "getuserinfo", info); |
769 | 769 |
770 g_signal_connect(GTK_OBJECT(opt), "activate", | 770 g_signal_connect(GTK_OBJECT(opt), "activate", |
771 G_CALLBACK(show_info_select_account), c); | 771 G_CALLBACK(show_info_select_account), c); |
772 | 772 |
773 gtk_menu_append(GTK_MENU(menu), opt); | 773 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
774 g = g->next; | 774 g = g->next; |
775 } | 775 } |
776 | 776 |
777 gtk_option_menu_set_menu(GTK_OPTION_MENU(info->account), menu); | 777 gtk_option_menu_set_menu(GTK_OPTION_MENU(info->account), menu); |
778 } | 778 } |
862 g = g->next; | 862 g = g->next; |
863 continue; | 863 continue; |
864 } | 864 } |
865 g_snprintf(buf, sizeof(buf), "%s (%s)", c->username, c->prpl->name); | 865 g_snprintf(buf, sizeof(buf), "%s (%s)", c->username, c->prpl->name); |
866 opt = gtk_menu_item_new_with_label(buf); | 866 opt = gtk_menu_item_new_with_label(buf); |
867 gtk_object_set_user_data(GTK_OBJECT(opt), info); | 867 g_object_set_data(G_OBJECT(opt), "getuserinfo", info); |
868 | 868 |
869 g_signal_connect(GTK_OBJECT(opt), "activate", | 869 g_signal_connect(GTK_OBJECT(opt), "activate", |
870 G_CALLBACK(show_info_select_account), c); | 870 G_CALLBACK(show_info_select_account), c); |
871 | 871 |
872 gtk_menu_append(GTK_MENU(menu), opt); | 872 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
873 g = g->next; | 873 g = g->next; |
874 } | 874 } |
875 | 875 |
876 gtk_option_menu_set_menu(GTK_OPTION_MENU(info->account), menu); | 876 gtk_option_menu_set_menu(GTK_OPTION_MENU(info->account), menu); |
877 } | 877 } |
1011 | 1011 |
1012 gtk_widget_show_all(a->window); | 1012 gtk_widget_show_all(a->window); |
1013 gtk_widget_grab_focus(GTK_WIDGET(a->entry)); | 1013 gtk_widget_grab_focus(GTK_WIDGET(a->entry)); |
1014 } | 1014 } |
1015 | 1015 |
1016 static void addbuddy_select_account(GtkObject *w, struct gaim_connection *gc) | 1016 static void addbuddy_select_account(GObject *w, struct gaim_connection *gc) |
1017 { | 1017 { |
1018 struct addbuddy *b = gtk_object_get_user_data(w); | 1018 struct addbuddy *b = g_object_get_data(w, "addbuddy"); |
1019 | 1019 |
1020 /* Save our account */ | 1020 /* Save our account */ |
1021 b->gc = gc; | 1021 b->gc = gc; |
1022 | 1022 |
1023 /* We also want to update our group list */ | 1023 /* We also want to update our group list */ |
1038 while (g) { | 1038 while (g) { |
1039 c = (struct gaim_connection *)g->data; | 1039 c = (struct gaim_connection *)g->data; |
1040 g_snprintf(buf, sizeof(buf), "%s (%s)", | 1040 g_snprintf(buf, sizeof(buf), "%s (%s)", |
1041 c->username, c->prpl->name); | 1041 c->username, c->prpl->name); |
1042 opt = gtk_menu_item_new_with_label(buf); | 1042 opt = gtk_menu_item_new_with_label(buf); |
1043 gtk_object_set_user_data(GTK_OBJECT(opt), b); | 1043 g_object_set_data(G_OBJECT(opt), "addbuddy", b); |
1044 g_signal_connect(GTK_OBJECT(opt), "activate", | 1044 g_signal_connect(GTK_OBJECT(opt), "activate", |
1045 G_CALLBACK(addbuddy_select_account), | 1045 G_CALLBACK(addbuddy_select_account), |
1046 c); | 1046 c); |
1047 gtk_widget_show(opt); | 1047 gtk_widget_show(opt); |
1048 gtk_menu_append(GTK_MENU(menu), opt); | 1048 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
1049 | 1049 |
1050 /* Now check to see if it's our current menu */ | 1050 /* Now check to see if it's our current menu */ |
1051 if (c == b->gc) { | 1051 if (c == b->gc) { |
1052 place = count; | 1052 place = count; |
1053 gtk_menu_item_activate(GTK_MENU_ITEM(opt)); | 1053 gtk_menu_item_activate(GTK_MENU_ITEM(opt)); |
1206 | 1206 |
1207 if (!set) | 1207 if (!set) |
1208 opt = gtk_radio_button_new_with_label(NULL, label); | 1208 opt = gtk_radio_button_new_with_label(NULL, label); |
1209 else | 1209 else |
1210 opt = | 1210 opt = |
1211 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)), | 1211 gtk_radio_button_new_with_label(gtk_radio_button_get_group( |
1212 GTK_RADIO_BUTTON(set)), | |
1212 label); | 1213 label); |
1213 | 1214 |
1214 g_signal_connect(GTK_OBJECT(opt), "toggled", G_CALLBACK(set_deny_mode), (void *)which); | 1215 g_signal_connect(GTK_OBJECT(opt), "toggled", G_CALLBACK(set_deny_mode), (void *)which); |
1215 gtk_widget_show(opt); | 1216 gtk_widget_show(opt); |
1216 if (current_deny_gc->account->permdeny == which) | 1217 if (current_deny_gc->account->permdeny == which) |
1217 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 1218 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(opt), TRUE); |
1218 | 1219 |
1219 return opt; | 1220 return opt; |
1220 } | 1221 } |
1221 | 1222 |
1222 static void des_deny_opt(GtkWidget *d, gpointer e) | 1223 static void des_deny_opt(GtkWidget *d, gpointer e) |
1234 block_store = NULL; | 1235 block_store = NULL; |
1235 } | 1236 } |
1236 | 1237 |
1237 static void set_deny_type() | 1238 static void set_deny_type() |
1238 { | 1239 { |
1239 GSList *bg = gtk_radio_button_group(GTK_RADIO_BUTTON(deny_type)); | 1240 GSList *bg = gtk_radio_button_get_group(GTK_RADIO_BUTTON(deny_type)); |
1240 | 1241 |
1241 switch (current_deny_gc->account->permdeny) { | 1242 switch (current_deny_gc->account->permdeny) { |
1242 case 5: | 1243 case 5: |
1243 bg = bg->next->next; | 1244 bg = bg->next->next; |
1244 break; | 1245 break; |
1253 case 1: | 1254 case 1: |
1254 bg = bg->next->next->next->next; | 1255 bg = bg->next->next->next->next; |
1255 break; | 1256 break; |
1256 } | 1257 } |
1257 | 1258 |
1258 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(bg->data), TRUE); | 1259 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bg->data), TRUE); |
1259 } | 1260 } |
1260 | 1261 |
1261 void build_allow_list() | 1262 void build_allow_list() |
1262 { | 1263 { |
1263 GSList *p; | 1264 GSList *p; |
1338 continue; | 1339 continue; |
1339 g_snprintf(buf, sizeof buf, "%s (%s)", gc->username, gc->prpl->name); | 1340 g_snprintf(buf, sizeof buf, "%s (%s)", gc->username, gc->prpl->name); |
1340 opt = gtk_menu_item_new_with_label(buf); | 1341 opt = gtk_menu_item_new_with_label(buf); |
1341 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(deny_gc_opt), gc); | 1342 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(deny_gc_opt), gc); |
1342 gtk_widget_show(opt); | 1343 gtk_widget_show(opt); |
1343 gtk_menu_append(GTK_MENU(menu), opt); | 1344 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
1344 if (gc == current_deny_gc) | 1345 if (gc == current_deny_gc) |
1345 found = TRUE; | 1346 found = TRUE; |
1346 else if (!found) | 1347 else if (!found) |
1347 count++; | 1348 count++; |
1348 } | 1349 } |
1481 current_deny_gc = connections->data; /* this is safe because this screen will only be | 1482 current_deny_gc = connections->data; /* this is safe because this screen will only be |
1482 available when there are connections */ | 1483 available when there are connections */ |
1483 current_is_deny = TRUE; | 1484 current_is_deny = TRUE; |
1484 | 1485 |
1485 privacy_win = pwin = gtk_window_new(GTK_WINDOW_TOPLEVEL); | 1486 privacy_win = pwin = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
1486 gtk_window_set_policy(GTK_WINDOW(pwin), FALSE, FALSE, TRUE); | 1487 gtk_window_set_resizable(GTK_WINDOW(pwin), FALSE); |
1487 gtk_window_set_role(GTK_WINDOW(pwin), "privacy"); | 1488 gtk_window_set_role(GTK_WINDOW(pwin), "privacy"); |
1488 gtk_window_set_title(GTK_WINDOW(pwin), _("Gaim - Privacy")); | 1489 gtk_window_set_title(GTK_WINDOW(pwin), _("Gaim - Privacy")); |
1489 g_signal_connect(GTK_OBJECT(pwin), "destroy", G_CALLBACK(destroy_privacy), NULL); | 1490 g_signal_connect(GTK_OBJECT(pwin), "destroy", G_CALLBACK(destroy_privacy), NULL); |
1490 gtk_widget_realize(pwin); | 1491 gtk_widget_realize(pwin); |
1491 | 1492 |
1492 gtk_widget_set_usize(pwin, 0, 400); | 1493 gtk_widget_set_size_request(pwin, 0, 400); |
1493 | 1494 |
1494 box = gtk_vbox_new(FALSE, 5); | 1495 box = gtk_vbox_new(FALSE, 5); |
1495 gtk_container_set_border_width(GTK_CONTAINER(box), 5); | 1496 gtk_container_set_border_width(GTK_CONTAINER(box), 5); |
1496 gtk_container_add(GTK_CONTAINER(pwin), box); | 1497 gtk_container_add(GTK_CONTAINER(pwin), box); |
1497 gtk_widget_show(box); | 1498 gtk_widget_show(box); |
1698 g_free(b); | 1699 g_free(b); |
1699 } | 1700 } |
1700 | 1701 |
1701 static void pounce_choose(GtkWidget *opt, struct addbp *b) | 1702 static void pounce_choose(GtkWidget *opt, struct addbp *b) |
1702 { | 1703 { |
1703 struct gaim_account *account = gtk_object_get_user_data(GTK_OBJECT(opt)); | 1704 struct gaim_account *account = g_object_get_data(G_OBJECT(opt), "gaim_account"); |
1704 b->account = account; | 1705 b->account = account; |
1705 } | 1706 } |
1706 | 1707 |
1707 static GtkWidget *pounce_user_menu(struct addbp *b, struct gaim_connection *gc) | 1708 static GtkWidget *pounce_user_menu(struct addbp *b, struct gaim_connection *gc) |
1708 { | 1709 { |
1724 while (u) { | 1725 while (u) { |
1725 account = (struct gaim_account *)u->data; | 1726 account = (struct gaim_account *)u->data; |
1726 p = (struct prpl *)find_prpl(account->protocol); | 1727 p = (struct prpl *)find_prpl(account->protocol); |
1727 g_snprintf(buf, sizeof buf, "%s (%s)", account->username, (p && p->name)?p->name:_("Unknown")); | 1728 g_snprintf(buf, sizeof buf, "%s (%s)", account->username, (p && p->name)?p->name:_("Unknown")); |
1728 opt = gtk_menu_item_new_with_label(buf); | 1729 opt = gtk_menu_item_new_with_label(buf); |
1729 gtk_object_set_user_data(GTK_OBJECT(opt), account); | 1730 g_object_set_data(G_OBJECT(opt), "gaim_account", account); |
1730 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(pounce_choose), b); | 1731 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(pounce_choose), b); |
1731 gtk_menu_append(GTK_MENU(menu), opt); | 1732 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
1732 gtk_widget_show(opt); | 1733 gtk_widget_show(opt); |
1733 | 1734 |
1734 if (b->account == account) { | 1735 if (b->account == account) { |
1735 gtk_menu_item_activate(GTK_MENU_ITEM(opt)); | 1736 gtk_menu_item_activate(GTK_MENU_ITEM(opt)); |
1736 place = count; | 1737 place = count; |
1772 b->buddy_pounce = NULL; | 1773 b->buddy_pounce = NULL; |
1773 } | 1774 } |
1774 | 1775 |
1775 GAIM_DIALOG(b->window); | 1776 GAIM_DIALOG(b->window); |
1776 dialogwindows = g_list_prepend(dialogwindows, b->window); | 1777 dialogwindows = g_list_prepend(dialogwindows, b->window); |
1777 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); | 1778 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
1778 gtk_window_set_role(GTK_WINDOW(b->window), "new_bp"); | 1779 gtk_window_set_role(GTK_WINDOW(b->window), "new_bp"); |
1779 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - New Buddy Pounce")); | 1780 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - New Buddy Pounce")); |
1780 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); | 1781 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
1781 gtk_widget_realize(b->window); | 1782 gtk_widget_realize(b->window); |
1782 | 1783 |
1830 table = gtk_table_new(2, 2, FALSE); | 1831 table = gtk_table_new(2, 2, FALSE); |
1831 gtk_container_add(GTK_CONTAINER(frame), table); | 1832 gtk_container_add(GTK_CONTAINER(frame), table); |
1832 gtk_container_set_border_width(GTK_CONTAINER(table), 5); | 1833 gtk_container_set_border_width(GTK_CONTAINER(table), 5); |
1833 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | 1834 gtk_table_set_col_spacings(GTK_TABLE(table), 5); |
1834 gtk_widget_show(table); | 1835 gtk_widget_show(table); |
1835 | 1836 |
1836 b->p_signon = gtk_check_button_new_with_label(_("Pounce on sign on")); | 1837 b->p_signon = gtk_check_button_new_with_label(_("Pounce on sign on")); |
1837 if(edit_bp) | 1838 if(edit_bp) |
1838 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_signon), | 1839 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_signon), |
1839 (edit_bp->options & OPT_POUNCE_SIGNON) ? TRUE : FALSE); | 1840 (edit_bp->options & OPT_POUNCE_SIGNON) ? TRUE : FALSE); |
1840 else | 1841 else |
1841 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_signon), TRUE); | 1842 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_signon), TRUE); |
1842 gtk_table_attach(GTK_TABLE(table), b->p_signon, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); | 1843 gtk_table_attach(GTK_TABLE(table), b->p_signon, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); |
1843 gtk_widget_show(b->p_signon); | 1844 gtk_widget_show(b->p_signon); |
1844 | 1845 |
1845 b->p_unaway = gtk_check_button_new_with_label(_("Pounce on return from away")); | 1846 b->p_unaway = gtk_check_button_new_with_label(_("Pounce on return from away")); |
1846 if (away) | 1847 if (away) |
1847 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unaway), TRUE); | 1848 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_unaway), TRUE); |
1848 else if(edit_bp) | 1849 else if(edit_bp) |
1849 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unaway), | 1850 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_unaway), |
1850 (edit_bp->options & OPT_POUNCE_UNAWAY) ? TRUE : FALSE); | 1851 (edit_bp->options & OPT_POUNCE_UNAWAY) ? TRUE : FALSE); |
1851 gtk_table_attach(GTK_TABLE(table), b->p_unaway, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, 0, 0, 0); | 1852 gtk_table_attach(GTK_TABLE(table), b->p_unaway, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
1852 gtk_widget_show(b->p_unaway); | 1853 gtk_widget_show(b->p_unaway); |
1853 | 1854 |
1854 b->p_unidle = gtk_check_button_new_with_label(_("Pounce on return from idle")); | 1855 b->p_unidle = gtk_check_button_new_with_label(_("Pounce on return from idle")); |
1855 if (idle) | 1856 if (idle) |
1856 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unidle), TRUE); | 1857 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_unidle), TRUE); |
1857 else if(edit_bp) | 1858 else if(edit_bp) |
1858 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unidle), | 1859 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_unidle), |
1859 (edit_bp->options & OPT_POUNCE_UNIDLE) ? TRUE : FALSE); | 1860 (edit_bp->options & OPT_POUNCE_UNIDLE) ? TRUE : FALSE); |
1860 gtk_table_attach(GTK_TABLE(table), b->p_unidle, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); | 1861 gtk_table_attach(GTK_TABLE(table), b->p_unidle, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); |
1861 gtk_widget_show(b->p_unidle); | 1862 gtk_widget_show(b->p_unidle); |
1862 | 1863 |
1863 b->p_typing = gtk_check_button_new_with_label(_("Pounce when buddy is typing to you")); | 1864 b->p_typing = gtk_check_button_new_with_label(_("Pounce when buddy is typing to you")); |
1864 if (edit_bp) | 1865 if (edit_bp) |
1865 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_typing), | 1866 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_typing), |
1866 (edit_bp->options & OPT_POUNCE_TYPING) ? TRUE : FALSE); | 1867 (edit_bp->options & OPT_POUNCE_TYPING) ? TRUE : FALSE); |
1867 gtk_table_attach(GTK_TABLE(table), b->p_typing,1,2,1,2, GTK_FILL | GTK_EXPAND, 0, 0, 0); | 1868 gtk_table_attach(GTK_TABLE(table), b->p_typing,1,2,1,2, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
1868 gtk_widget_show(b->p_typing); | 1869 gtk_widget_show(b->p_typing); |
1869 | 1870 |
1870 /* </pounce type="when"> */ | 1871 /* </pounce type="when"> */ |
1871 | 1872 |
1872 /* <pounce type="action"> */ | 1873 /* <pounce type="action"> */ |
1873 frame = gtk_frame_new(_("Pounce Action")); | 1874 frame = gtk_frame_new(_("Pounce Action")); |
1874 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); | 1875 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); |
1875 gtk_widget_show(GTK_WIDGET(frame)); | 1876 gtk_widget_show(GTK_WIDGET(frame)); |
1876 | 1877 |
1878 gtk_container_add(GTK_CONTAINER(frame), table); | 1879 gtk_container_add(GTK_CONTAINER(frame), table); |
1879 gtk_container_set_border_width(GTK_CONTAINER(table), 5); | 1880 gtk_container_set_border_width(GTK_CONTAINER(table), 5); |
1880 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | 1881 gtk_table_set_col_spacings(GTK_TABLE(table), 5); |
1881 gtk_table_set_row_spacings(GTK_TABLE(table), 5); | 1882 gtk_table_set_row_spacings(GTK_TABLE(table), 5); |
1882 gtk_widget_show(table); | 1883 gtk_widget_show(table); |
1883 | 1884 |
1884 b->openwindow = gtk_check_button_new_with_label(_("Open IM Window")); | 1885 b->openwindow = gtk_check_button_new_with_label(_("Open IM Window")); |
1885 if(edit_bp) | 1886 if(edit_bp) |
1886 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->openwindow), | 1887 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->openwindow), |
1887 (edit_bp->options & OPT_POUNCE_POPUP) ? TRUE : FALSE); | 1888 (edit_bp->options & OPT_POUNCE_POPUP) ? TRUE : FALSE); |
1888 else | 1889 else |
1889 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->openwindow), FALSE); | 1890 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->openwindow), FALSE); |
1890 gtk_table_attach(GTK_TABLE(table), b->openwindow, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); | 1891 gtk_table_attach(GTK_TABLE(table), b->openwindow, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); |
1891 gtk_widget_show(b->openwindow); | 1892 gtk_widget_show(b->openwindow); |
1892 | 1893 |
1893 b->popupnotify = gtk_check_button_new_with_label(_("Popup Notification")); | 1894 b->popupnotify = gtk_check_button_new_with_label(_("Popup Notification")); |
1894 if(edit_bp) | 1895 if(edit_bp) |
1895 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->popupnotify), | 1896 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->popupnotify), |
1896 (edit_bp->options & OPT_POUNCE_NOTIFY) ? TRUE : FALSE); | 1897 (edit_bp->options & OPT_POUNCE_NOTIFY) ? TRUE : FALSE); |
1897 else | 1898 else |
1898 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->popupnotify), FALSE); | 1899 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->popupnotify), FALSE); |
1899 gtk_table_attach(GTK_TABLE(table), b->popupnotify, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); | 1900 gtk_table_attach(GTK_TABLE(table), b->popupnotify, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); |
1900 gtk_widget_show(b->popupnotify); | 1901 gtk_widget_show(b->popupnotify); |
1901 | 1902 |
1902 b->sendim = gtk_check_button_new_with_label(_("Send Message")); | 1903 b->sendim = gtk_check_button_new_with_label(_("Send Message")); |
1903 if(edit_bp) | 1904 if(edit_bp) |
1904 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sendim), | 1905 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->sendim), |
1905 (edit_bp->options & OPT_POUNCE_SEND_IM) ? TRUE : FALSE); | 1906 (edit_bp->options & OPT_POUNCE_SEND_IM) ? TRUE : FALSE); |
1906 else | 1907 else |
1907 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sendim), TRUE); | 1908 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->sendim), TRUE); |
1908 gtk_table_attach(GTK_TABLE(table), b->sendim, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); | 1909 gtk_table_attach(GTK_TABLE(table), b->sendim, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); |
1909 gtk_widget_show(b->sendim); | 1910 gtk_widget_show(b->sendim); |
1910 | 1911 |
1911 b->messentry = gtk_entry_new(); | 1912 b->messentry = gtk_entry_new(); |
1912 gtk_table_attach(GTK_TABLE(table), b->messentry, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, 0, 0, 0); | 1913 gtk_table_attach(GTK_TABLE(table), b->messentry, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
1913 g_signal_connect(GTK_OBJECT(b->messentry), "activate", G_CALLBACK(do_new_bp), b); | 1914 g_signal_connect(GTK_OBJECT(b->messentry), "activate", G_CALLBACK(do_new_bp), b); |
1914 if(edit_bp) { | 1915 if(edit_bp) { |
1915 gtk_widget_set_sensitive(GTK_WIDGET(b->messentry), | 1916 gtk_widget_set_sensitive(GTK_WIDGET(b->messentry), |
1916 (edit_bp->options & OPT_POUNCE_SEND_IM) ? TRUE : FALSE); | 1917 (edit_bp->options & OPT_POUNCE_SEND_IM) ? TRUE : FALSE); |
1917 gtk_entry_set_text(GTK_ENTRY(b->messentry), edit_bp->message); | 1918 gtk_entry_set_text(GTK_ENTRY(b->messentry), edit_bp->message); |
1918 } | 1919 } |
1919 gtk_widget_show(b->messentry); | 1920 gtk_widget_show(b->messentry); |
1920 | 1921 |
1922 G_CALLBACK(gaim_gtk_toggle_sensitive), b->messentry); | 1923 G_CALLBACK(gaim_gtk_toggle_sensitive), b->messentry); |
1923 | 1924 |
1924 b->command = gtk_check_button_new_with_label(_("Execute command on pounce")); | 1925 b->command = gtk_check_button_new_with_label(_("Execute command on pounce")); |
1925 gtk_table_attach(GTK_TABLE(table), b->command, 0, 1, 2, 3, GTK_FILL, 0, 0, 0); | 1926 gtk_table_attach(GTK_TABLE(table), b->command, 0, 1, 2, 3, GTK_FILL, 0, 0, 0); |
1926 if(edit_bp) | 1927 if(edit_bp) |
1927 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->command), | 1928 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->command), |
1928 (edit_bp->options & OPT_POUNCE_COMMAND) ? TRUE : FALSE); | 1929 (edit_bp->options & OPT_POUNCE_COMMAND) ? TRUE : FALSE); |
1929 else | 1930 else |
1930 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->command), FALSE); | 1931 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->command), FALSE); |
1931 gtk_widget_show(b->command); | 1932 gtk_widget_show(b->command); |
1932 | 1933 |
1933 b->commentry = gtk_entry_new(); | 1934 b->commentry = gtk_entry_new(); |
1934 gtk_table_attach(GTK_TABLE(table), b->commentry, 1, 2, 2, 3, GTK_FILL | GTK_EXPAND, 0, 0, 0); | 1935 gtk_table_attach(GTK_TABLE(table), b->commentry, 1, 2, 2, 3, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
1935 g_signal_connect(GTK_OBJECT(b->commentry), "activate", G_CALLBACK(do_new_bp), b); | 1936 g_signal_connect(GTK_OBJECT(b->commentry), "activate", G_CALLBACK(do_new_bp), b); |
1941 else | 1942 else |
1942 gtk_widget_set_sensitive(GTK_WIDGET(b->commentry), FALSE); | 1943 gtk_widget_set_sensitive(GTK_WIDGET(b->commentry), FALSE); |
1943 gtk_widget_show(b->commentry); | 1944 gtk_widget_show(b->commentry); |
1944 g_signal_connect(GTK_OBJECT(b->command), "clicked", | 1945 g_signal_connect(GTK_OBJECT(b->command), "clicked", |
1945 G_CALLBACK(gaim_gtk_toggle_sensitive), b->commentry); | 1946 G_CALLBACK(gaim_gtk_toggle_sensitive), b->commentry); |
1946 | 1947 |
1947 b->sound = gtk_check_button_new_with_label(_("Play sound on pounce")); | 1948 b->sound = gtk_check_button_new_with_label(_("Play sound on pounce")); |
1948 if(edit_bp) | 1949 if(edit_bp) |
1949 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sound), | 1950 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->sound), |
1950 (edit_bp->options & OPT_POUNCE_SOUND) ? TRUE : FALSE); | 1951 (edit_bp->options & OPT_POUNCE_SOUND) ? TRUE : FALSE); |
1951 else | 1952 else |
1952 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sound), FALSE); | 1953 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->sound), FALSE); |
1953 gtk_table_attach(GTK_TABLE(table), b->sound, 0, 1, 3, 4, GTK_FILL, 0, 0, 0); | 1954 gtk_table_attach(GTK_TABLE(table), b->sound, 0, 1, 3, 4, GTK_FILL, 0, 0, 0); |
1954 gtk_widget_show(b->sound); | 1955 gtk_widget_show(b->sound); |
1955 | 1956 |
1956 b->soundentry = gtk_entry_new(); | 1957 b->soundentry = gtk_entry_new(); |
1957 gtk_table_attach(GTK_TABLE(table), b->soundentry, 1, 2, 3, 4, GTK_FILL | GTK_EXPAND, 0, 0, 0); | 1958 gtk_table_attach(GTK_TABLE(table), b->soundentry, 1, 2, 3, 4, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
1968 /* </pounce type="action"> */ | 1969 /* </pounce type="action"> */ |
1969 | 1970 |
1970 b->save = gtk_check_button_new_with_label(_("Save this pounce after activation")); | 1971 b->save = gtk_check_button_new_with_label(_("Save this pounce after activation")); |
1971 gtk_container_set_border_width(GTK_CONTAINER(b->save), 7); | 1972 gtk_container_set_border_width(GTK_CONTAINER(b->save), 7); |
1972 if(edit_bp) | 1973 if(edit_bp) |
1973 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->save), | 1974 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->save), |
1974 (edit_bp->options & OPT_POUNCE_SAVE) ? TRUE : FALSE); | 1975 (edit_bp->options & OPT_POUNCE_SAVE) ? TRUE : FALSE); |
1975 else | 1976 else |
1976 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->save), FALSE); | 1977 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->save), FALSE); |
1977 gtk_box_pack_start(GTK_BOX(vbox), b->save, FALSE, FALSE, 0); | 1978 gtk_box_pack_start(GTK_BOX(vbox), b->save, FALSE, FALSE, 0); |
1978 gtk_widget_show(b->save); | 1979 gtk_widget_show(b->save); |
1979 | 1980 |
1980 sep = gtk_hseparator_new(); | 1981 sep = gtk_hseparator_new(); |
1981 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); | 1982 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); |
2061 b->gc = gc; | 2062 b->gc = gc; |
2062 | 2063 |
2063 GAIM_DIALOG(b->window); | 2064 GAIM_DIALOG(b->window); |
2064 dialogwindows = g_list_prepend(dialogwindows, b->window); | 2065 dialogwindows = g_list_prepend(dialogwindows, b->window); |
2065 gtk_window_set_role(GTK_WINDOW(b->window), "set_dir"); | 2066 gtk_window_set_role(GTK_WINDOW(b->window), "set_dir"); |
2066 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); | 2067 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
2067 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set Dir Info")); | 2068 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set Dir Info")); |
2068 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); | 2069 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
2069 gtk_widget_realize(b->window); | 2070 gtk_widget_realize(b->window); |
2070 | 2071 |
2071 fbox = gtk_vbox_new(FALSE, 5); | 2072 fbox = gtk_vbox_new(FALSE, 5); |
2244 | 2245 |
2245 struct passwddlg *b = g_new0(struct passwddlg, 1); | 2246 struct passwddlg *b = g_new0(struct passwddlg, 1); |
2246 b->gc = gc; | 2247 b->gc = gc; |
2247 | 2248 |
2248 GAIM_DIALOG(b->window); | 2249 GAIM_DIALOG(b->window); |
2249 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); | 2250 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
2250 gtk_window_set_role(GTK_WINDOW(b->window), "change_passwd"); | 2251 gtk_window_set_role(GTK_WINDOW(b->window), "change_passwd"); |
2251 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Password Change")); | 2252 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Password Change")); |
2252 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); | 2253 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
2253 gtk_widget_realize(b->window); | 2254 gtk_widget_realize(b->window); |
2254 dialogwindows = g_list_prepend(dialogwindows, b->window); | 2255 dialogwindows = g_list_prepend(dialogwindows, b->window); |
2255 | 2256 |
2256 fbox = gtk_vbox_new(FALSE, 5); | 2257 fbox = gtk_vbox_new(FALSE, 5); |
2257 gtk_container_border_width(GTK_CONTAINER(fbox), 5); | 2258 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
2258 gtk_container_add(GTK_CONTAINER(b->window), fbox); | 2259 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
2259 gtk_widget_show(fbox); | 2260 gtk_widget_show(fbox); |
2260 | 2261 |
2261 frame = gtk_frame_new(_("Change Password")); | 2262 frame = gtk_frame_new(_("Change Password")); |
2262 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); | 2263 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); |
2263 gtk_widget_show(frame); | 2264 gtk_widget_show(frame); |
2264 | 2265 |
2265 vbox = gtk_vbox_new(FALSE, 5); | 2266 vbox = gtk_vbox_new(FALSE, 5); |
2266 gtk_container_border_width(GTK_CONTAINER(vbox), 5); | 2267 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
2267 gtk_container_add(GTK_CONTAINER(frame), vbox); | 2268 gtk_container_add(GTK_CONTAINER(frame), vbox); |
2268 gtk_widget_show(vbox); | 2269 gtk_widget_show(vbox); |
2269 | 2270 |
2270 g_snprintf(buf, sizeof(buf), _("Changing password for %s:"), gc->username); | 2271 g_snprintf(buf, sizeof(buf), _("Changing password for %s:"), gc->username); |
2271 label = gtk_label_new(buf); | 2272 label = gtk_label_new(buf); |
2434 b->who = who ? g_strdup(normalize(who)) : NULL; | 2435 b->who = who ? g_strdup(normalize(who)) : NULL; |
2435 info_dlgs = g_slist_append(info_dlgs, b); | 2436 info_dlgs = g_slist_append(info_dlgs, b); |
2436 | 2437 |
2437 GAIM_DIALOG(b->window); | 2438 GAIM_DIALOG(b->window); |
2438 gtk_window_set_title(GTK_WINDOW(b->window), "Gaim"); | 2439 gtk_window_set_title(GTK_WINDOW(b->window), "Gaim"); |
2439 gtk_container_border_width(GTK_CONTAINER(b->window), 5); | 2440 gtk_container_set_border_width(GTK_CONTAINER(b->window), 5); |
2440 gtk_widget_realize(GTK_WIDGET(b->window)); | 2441 gtk_widget_realize(GTK_WIDGET(b->window)); |
2441 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(info_dlg_free), b); | 2442 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(info_dlg_free), b); |
2442 | 2443 |
2443 bbox = gtk_vbox_new(FALSE, 5); | 2444 bbox = gtk_vbox_new(FALSE, 5); |
2444 gtk_container_add(GTK_CONTAINER(b->window), bbox); | 2445 gtk_container_add(GTK_CONTAINER(b->window), bbox); |
2452 gtk_box_pack_start(GTK_BOX(bbox), sw, TRUE, TRUE, 0); | 2453 gtk_box_pack_start(GTK_BOX(bbox), sw, TRUE, TRUE, 0); |
2453 | 2454 |
2454 text = gtk_imhtml_new(NULL, NULL); | 2455 text = gtk_imhtml_new(NULL, NULL); |
2455 b->text = text; | 2456 b->text = text; |
2456 gtk_container_add(GTK_CONTAINER(sw), text); | 2457 gtk_container_add(GTK_CONTAINER(sw), text); |
2457 gtk_widget_set_usize(sw, 300, 250); | 2458 gtk_widget_set_size_request(sw, 300, 250); |
2458 gaim_setup_imhtml(text); | 2459 gaim_setup_imhtml(text); |
2459 | 2460 |
2460 ok = picture_button(b->window, _("OK"), ok_xpm); | 2461 ok = picture_button(b->window, _("OK"), ok_xpm); |
2461 g_signal_connect_swapped(GTK_OBJECT(ok), "clicked", G_CALLBACK(gtk_widget_destroy), | 2462 g_signal_connect_swapped(GTK_OBJECT(ok), "clicked", G_CALLBACK(gtk_widget_destroy), |
2462 GTK_OBJECT(b->window)); | 2463 GTK_OBJECT(b->window)); |
2533 p->gc = gc; | 2534 p->gc = gc; |
2534 p->permit = permit; | 2535 p->permit = permit; |
2535 | 2536 |
2536 GAIM_DIALOG(p->window); | 2537 GAIM_DIALOG(p->window); |
2537 gtk_container_set_border_width(GTK_CONTAINER(p->window), 5); | 2538 gtk_container_set_border_width(GTK_CONTAINER(p->window), 5); |
2538 gtk_window_set_policy(GTK_WINDOW(p->window), FALSE, FALSE, TRUE); | 2539 gtk_window_set_resizable(GTK_WINDOW(p->window), FALSE); |
2539 gtk_widget_realize(p->window); | 2540 gtk_widget_realize(p->window); |
2540 | 2541 |
2541 dialogwindows = g_list_prepend(dialogwindows, p->window); | 2542 dialogwindows = g_list_prepend(dialogwindows, p->window); |
2542 | 2543 |
2543 bbox = gtk_hbox_new(FALSE, 5); | 2544 bbox = gtk_hbox_new(FALSE, 5); |
2665 gtk_file_selection_hide_fileop_buttons( | 2666 gtk_file_selection_hide_fileop_buttons( |
2666 GTK_FILE_SELECTION(gtkconv->dialogs.log)); | 2667 GTK_FILE_SELECTION(gtkconv->dialogs.log)); |
2667 | 2668 |
2668 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s.log", | 2669 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s.log", |
2669 gaim_home_dir(), normalize(c->name)); | 2670 gaim_home_dir(), normalize(c->name)); |
2670 gtk_object_set_user_data(GTK_OBJECT(gtkconv->dialogs.log), | 2671 g_object_set_data(G_OBJECT(gtkconv->dialogs.log), "dialog_type", |
2671 "log dialog"); | 2672 "log dialog"); |
2672 gtk_file_selection_set_filename(GTK_FILE_SELECTION(gtkconv->dialogs.log), | 2673 gtk_file_selection_set_filename(GTK_FILE_SELECTION(gtkconv->dialogs.log), |
2673 buf); | 2674 buf); |
2674 g_signal_connect(G_OBJECT(gtkconv->dialogs.log), "delete_event", | 2675 g_signal_connect(G_OBJECT(gtkconv->dialogs.log), "delete_event", |
2675 G_CALLBACK(delete_event_dialog), c); | 2676 G_CALLBACK(delete_event_dialog), c); |
2734 GtkWidget *frame; | 2735 GtkWidget *frame; |
2735 | 2736 |
2736 struct findbyinfo *b = g_new0(struct findbyinfo, 1); | 2737 struct findbyinfo *b = g_new0(struct findbyinfo, 1); |
2737 b->gc = gc; | 2738 b->gc = gc; |
2738 GAIM_DIALOG(b->window); | 2739 GAIM_DIALOG(b->window); |
2739 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); | 2740 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
2740 gtk_window_set_role(GTK_WINDOW(b->window), "find_info"); | 2741 gtk_window_set_role(GTK_WINDOW(b->window), "find_info"); |
2741 gtk_widget_show(b->window); | 2742 gtk_widget_show(b->window); |
2742 | 2743 |
2743 dialogwindows = g_list_prepend(dialogwindows, b->window); | 2744 dialogwindows = g_list_prepend(dialogwindows, b->window); |
2744 | 2745 |
2871 gtk_widget_show(fbox); | 2872 gtk_widget_show(fbox); |
2872 | 2873 |
2873 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Info")); | 2874 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Info")); |
2874 gtk_window_set_focus(GTK_WINDOW(b->window), b->firstentry); | 2875 gtk_window_set_focus(GTK_WINDOW(b->window), b->firstentry); |
2875 gtk_container_add(GTK_CONTAINER(b->window), fbox); | 2876 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
2876 gtk_container_border_width(GTK_CONTAINER(b->window), 5); | 2877 gtk_container_set_border_width(GTK_CONTAINER(b->window), 5); |
2877 gtk_widget_realize(b->window); | 2878 gtk_widget_realize(b->window); |
2878 | 2879 |
2879 gtk_widget_show(b->window); | 2880 gtk_widget_show(b->window); |
2880 } | 2881 } |
2881 | 2882 |
2890 | 2891 |
2891 struct findbyemail *b = g_new0(struct findbyemail, 1); | 2892 struct findbyemail *b = g_new0(struct findbyemail, 1); |
2892 if (g_slist_find(connections, gc)) | 2893 if (g_slist_find(connections, gc)) |
2893 b->gc = gc; | 2894 b->gc = gc; |
2894 GAIM_DIALOG(b->window); | 2895 GAIM_DIALOG(b->window); |
2895 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); | 2896 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
2896 gtk_window_set_role(GTK_WINDOW(b->window), "find_email"); | 2897 gtk_window_set_role(GTK_WINDOW(b->window), "find_email"); |
2897 gtk_widget_realize(b->window); | 2898 gtk_widget_realize(b->window); |
2898 dialogwindows = g_list_prepend(dialogwindows, b->window); | 2899 dialogwindows = g_list_prepend(dialogwindows, b->window); |
2899 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); | 2900 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
2900 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Email")); | 2901 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Email")); |
2942 | 2943 |
2943 gtkconv = GAIM_GTK_CONVERSATION(c); | 2944 gtkconv = GAIM_GTK_CONVERSATION(c); |
2944 | 2945 |
2945 if (gtkconv->toolbar.link) { | 2946 if (gtkconv->toolbar.link) { |
2946 gaim_gtk_set_state_lock(TRUE); | 2947 gaim_gtk_set_state_lock(TRUE); |
2947 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link), | 2948 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link), |
2948 FALSE); | 2949 FALSE); |
2949 gaim_gtk_set_state_lock(FALSE); | 2950 gaim_gtk_set_state_lock(FALSE); |
2950 } | 2951 } |
2951 | 2952 |
2952 destroy_dialog(NULL, gtkconv->toolbar.link); | 2953 destroy_dialog(NULL, gtkconv->toolbar.link); |
2977 g_free(open_tag); | 2978 g_free(open_tag); |
2978 } | 2979 } |
2979 | 2980 |
2980 if (gtkconv->toolbar.link) { | 2981 if (gtkconv->toolbar.link) { |
2981 gaim_gtk_set_state_lock(TRUE); | 2982 gaim_gtk_set_state_lock(TRUE); |
2982 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link), | 2983 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link), |
2983 FALSE); | 2984 FALSE); |
2984 gaim_gtk_set_state_lock(FALSE); | 2985 gaim_gtk_set_state_lock(FALSE); |
2985 } | 2986 } |
2986 | 2987 |
2987 gtkconv->dialogs.link = NULL; | 2988 gtkconv->dialogs.link = NULL; |
3096 | 3097 |
3097 gtkconv = GAIM_GTK_CONVERSATION(c); | 3098 gtkconv = GAIM_GTK_CONVERSATION(c); |
3098 | 3099 |
3099 if (gtkconv->toolbar.fgcolor && widget) { | 3100 if (gtkconv->toolbar.fgcolor && widget) { |
3100 gaim_gtk_set_state_lock(TRUE); | 3101 gaim_gtk_set_state_lock(TRUE); |
3101 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), | 3102 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), |
3102 FALSE); | 3103 FALSE); |
3103 gaim_gtk_set_state_lock(FALSE); | 3104 gaim_gtk_set_state_lock(FALSE); |
3104 } | 3105 } |
3105 | 3106 |
3106 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.fg_color); | 3107 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.fg_color); |
3114 | 3115 |
3115 gtkconv = GAIM_GTK_CONVERSATION(c); | 3116 gtkconv = GAIM_GTK_CONVERSATION(c); |
3116 | 3117 |
3117 if (gtkconv->toolbar.bgcolor && widget) { | 3118 if (gtkconv->toolbar.bgcolor && widget) { |
3118 gaim_gtk_set_state_lock(TRUE); | 3119 gaim_gtk_set_state_lock(TRUE); |
3119 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), | 3120 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), |
3120 FALSE); | 3121 FALSE); |
3121 gaim_gtk_set_state_lock(FALSE); | 3122 gaim_gtk_set_state_lock(FALSE); |
3122 } | 3123 } |
3123 | 3124 |
3124 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.bg_color); | 3125 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.bg_color); |
3135 | 3136 |
3136 open_tag = g_malloc(30); | 3137 open_tag = g_malloc(30); |
3137 | 3138 |
3138 gtk_color_selection_get_current_color(colorsel, &text_color); | 3139 gtk_color_selection_get_current_color(colorsel, &text_color); |
3139 | 3140 |
3140 c = gtk_object_get_user_data(GTK_OBJECT(colorsel)); | 3141 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation"); |
3141 /* GTK_IS_EDITABLE(c->entry); huh? */ | 3142 /* GTK_IS_EDITABLE(c->entry); huh? */ |
3142 | 3143 |
3143 gtkconv = GAIM_GTK_CONVERSATION(c); | 3144 gtkconv = GAIM_GTK_CONVERSATION(c); |
3144 | 3145 |
3145 gtkconv->fg_color = text_color; | 3146 gtkconv->fg_color = text_color; |
3165 | 3166 |
3166 open_tag = g_malloc(30); | 3167 open_tag = g_malloc(30); |
3167 | 3168 |
3168 gtk_color_selection_get_current_color(colorsel, &text_color); | 3169 gtk_color_selection_get_current_color(colorsel, &text_color); |
3169 | 3170 |
3170 c = gtk_object_get_user_data(GTK_OBJECT(colorsel)); | 3171 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation"); |
3171 /* GTK_IS_EDITABLE(c->entry); huh? */ | 3172 /* GTK_IS_EDITABLE(c->entry); huh? */ |
3172 | 3173 |
3173 gtkconv = GAIM_GTK_CONVERSATION(c); | 3174 gtkconv = GAIM_GTK_CONVERSATION(c); |
3174 | 3175 |
3175 gtkconv->bg_color = text_color; | 3176 gtkconv->bg_color = text_color; |
3215 if (!gtkconv->dialogs.fg_color) { | 3216 if (!gtkconv->dialogs.fg_color) { |
3216 | 3217 |
3217 gtkconv->dialogs.fg_color = gtk_color_selection_dialog_new(_("Select Text Color")); | 3218 gtkconv->dialogs.fg_color = gtk_color_selection_dialog_new(_("Select Text Color")); |
3218 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->colorsel; | 3219 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->colorsel; |
3219 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &fgcolor); | 3220 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &fgcolor); |
3220 gtk_object_set_user_data(GTK_OBJECT(colorsel), c); | 3221 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c); |
3221 | 3222 |
3222 g_signal_connect(GTK_OBJECT(gtkconv->dialogs.fg_color), "delete_event", | 3223 g_signal_connect(GTK_OBJECT(gtkconv->dialogs.fg_color), "delete_event", |
3223 G_CALLBACK(delete_event_dialog), c); | 3224 G_CALLBACK(delete_event_dialog), c); |
3224 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->ok_button), | 3225 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->ok_button), |
3225 "clicked", G_CALLBACK(do_fgcolor), colorsel); | 3226 "clicked", G_CALLBACK(do_fgcolor), colorsel); |
3263 if (!gtkconv->dialogs.bg_color) { | 3264 if (!gtkconv->dialogs.bg_color) { |
3264 | 3265 |
3265 gtkconv->dialogs.bg_color = gtk_color_selection_dialog_new(_("Select Background Color")); | 3266 gtkconv->dialogs.bg_color = gtk_color_selection_dialog_new(_("Select Background Color")); |
3266 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->colorsel; | 3267 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->colorsel; |
3267 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &bgcolor); | 3268 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &bgcolor); |
3268 gtk_object_set_user_data(GTK_OBJECT(colorsel), c); | 3269 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c); |
3269 | 3270 |
3270 g_signal_connect(GTK_OBJECT(gtkconv->dialogs.bg_color), "delete_event", | 3271 g_signal_connect(GTK_OBJECT(gtkconv->dialogs.bg_color), "delete_event", |
3271 G_CALLBACK(delete_event_dialog), c); | 3272 G_CALLBACK(delete_event_dialog), c); |
3272 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->ok_button), | 3273 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->ok_button), |
3273 "clicked", G_CALLBACK(do_bgcolor), colorsel); | 3274 "clicked", G_CALLBACK(do_bgcolor), colorsel); |
3292 | 3293 |
3293 gtkconv = GAIM_GTK_CONVERSATION(c); | 3294 gtkconv = GAIM_GTK_CONVERSATION(c); |
3294 | 3295 |
3295 if (gtkconv->toolbar.normal_size && widget) { | 3296 if (gtkconv->toolbar.normal_size && widget) { |
3296 gaim_gtk_set_state_lock(TRUE); | 3297 gaim_gtk_set_state_lock(TRUE); |
3297 gtk_toggle_button_set_state( | 3298 gtk_toggle_button_set_active( |
3298 GTK_TOGGLE_BUTTON(gtkconv->toolbar.normal_size), FALSE); | 3299 GTK_TOGGLE_BUTTON(gtkconv->toolbar.normal_size), FALSE); |
3299 gaim_gtk_set_state_lock(FALSE); | 3300 gaim_gtk_set_state_lock(FALSE); |
3300 } | 3301 } |
3301 | 3302 |
3302 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.font); | 3303 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.font); |
3308 { | 3309 { |
3309 /* this could be expanded to include font size, weight, etc. | 3310 /* this could be expanded to include font size, weight, etc. |
3310 but for now only works with font face */ | 3311 but for now only works with font face */ |
3311 int i = 0; | 3312 int i = 0; |
3312 char *fontname; | 3313 char *fontname; |
3313 struct gaim_conversation *c = gtk_object_get_user_data(GTK_OBJECT(fontsel)); | 3314 struct gaim_conversation *c = g_object_get_data(G_OBJECT(fontsel), |
3315 "gaim_conversation"); | |
3314 | 3316 |
3315 if (c) { | 3317 if (c) { |
3316 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); | 3318 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); |
3317 while(fontname[i] && !isdigit(fontname[i])) { | 3319 while(fontname[i] && !isdigit(fontname[i])) { |
3318 i++; | 3320 i++; |
3319 } | 3321 } |
3320 fontname[i] = 0; | 3322 fontname[i] = 0; |
3321 gaim_gtk_set_font_face(GAIM_GTK_CONVERSATION(c), fontname); | 3323 gaim_gtk_set_font_face(GAIM_GTK_CONVERSATION(c), fontname); |
3322 } else { | 3324 } else { |
3355 } else { | 3357 } else { |
3356 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), | 3358 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
3357 DEFAULT_FONT_FACE " 12"); | 3359 DEFAULT_FONT_FACE " 12"); |
3358 } | 3360 } |
3359 | 3361 |
3360 gtk_object_set_user_data(GTK_OBJECT(fontseld), NULL); | |
3361 g_signal_connect(GTK_OBJECT(fontseld), "delete_event", | 3362 g_signal_connect(GTK_OBJECT(fontseld), "delete_event", |
3362 G_CALLBACK(destroy_fontsel), NULL); | 3363 G_CALLBACK(destroy_fontsel), NULL); |
3363 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->cancel_button), | 3364 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->cancel_button), |
3364 "clicked", G_CALLBACK(destroy_fontsel), NULL); | 3365 "clicked", G_CALLBACK(destroy_fontsel), NULL); |
3365 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->ok_button), "clicked", | 3366 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->ok_button), "clicked", |
3371 } | 3372 } |
3372 | 3373 |
3373 if (!gtkconv->dialogs.font) { | 3374 if (!gtkconv->dialogs.font) { |
3374 gtkconv->dialogs.font = gtk_font_selection_dialog_new(_("Select Font")); | 3375 gtkconv->dialogs.font = gtk_font_selection_dialog_new(_("Select Font")); |
3375 | 3376 |
3376 if (font) | 3377 g_object_set_data(G_OBJECT(gtkconv->dialogs.font), "gaim_conversation", c); |
3377 gtk_object_set_user_data(GTK_OBJECT(gtkconv->dialogs.font), c); | |
3378 else | |
3379 gtk_object_set_user_data(GTK_OBJECT(gtkconv->dialogs.font), NULL); | |
3380 | 3378 |
3381 if (gtkconv->fontface[0]) { | 3379 if (gtkconv->fontface[0]) { |
3382 g_snprintf(fonttif, sizeof(fonttif), "%s 12", gtkconv->fontface); | 3380 g_snprintf(fonttif, sizeof(fonttif), "%s 12", gtkconv->fontface); |
3383 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font), | 3381 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font), |
3384 fonttif); | 3382 fonttif); |
3459 c = (struct gaim_connection *)g->data; | 3457 c = (struct gaim_connection *)g->data; |
3460 g_snprintf(buf, sizeof buf, "%s (%s)", c->username, c->prpl->name); | 3458 g_snprintf(buf, sizeof buf, "%s (%s)", c->username, c->prpl->name); |
3461 opt = gtk_menu_item_new_with_label(buf); | 3459 opt = gtk_menu_item_new_with_label(buf); |
3462 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(set_import_gc), c); | 3460 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(set_import_gc), c); |
3463 gtk_widget_show(opt); | 3461 gtk_widget_show(opt); |
3464 gtk_menu_append(GTK_MENU(menu), opt); | 3462 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
3465 g = g->next; | 3463 g = g->next; |
3466 } | 3464 } |
3467 | 3465 |
3468 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); | 3466 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); |
3469 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), 0); | 3467 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), 0); |
3522 away_messages = g_slist_insert_sorted(away_messages, am, sort_awaymsg_list); | 3520 away_messages = g_slist_insert_sorted(away_messages, am, sort_awaymsg_list); |
3523 } | 3521 } |
3524 | 3522 |
3525 save_prefs(); | 3523 save_prefs(); |
3526 do_away_menu(); | 3524 do_away_menu(); |
3527 if (prefs_away_list != NULL) | |
3528 gtk_list_select_item(GTK_LIST(prefs_away_list), g_slist_index(away_messages, am)); | |
3529 | 3525 |
3530 return am; | 3526 return am; |
3531 } | 3527 } |
3532 | 3528 |
3533 int check_away_mess(struct create_away *ca, int type) | 3529 int check_away_mess(struct create_away *ca, int type) |
3605 | 3601 |
3606 struct create_away *ca = g_new0(struct create_away, 1); | 3602 struct create_away *ca = g_new0(struct create_away, 1); |
3607 | 3603 |
3608 /* Set up window */ | 3604 /* Set up window */ |
3609 GAIM_DIALOG(ca->window); | 3605 GAIM_DIALOG(ca->window); |
3610 gtk_widget_set_usize(ca->window, -1, 250); | 3606 gtk_widget_set_size_request(ca->window, -1, 250); |
3611 gtk_container_border_width(GTK_CONTAINER(ca->window), 5); | 3607 gtk_container_set_border_width(GTK_CONTAINER(ca->window), 5); |
3612 gtk_window_set_role(GTK_WINDOW(ca->window), "away_mess"); | 3608 gtk_window_set_role(GTK_WINDOW(ca->window), "away_mess"); |
3613 gtk_window_set_title(GTK_WINDOW(ca->window), _("Gaim - New away message")); | 3609 gtk_window_set_title(GTK_WINDOW(ca->window), _("Gaim - New away message")); |
3614 g_signal_connect(GTK_OBJECT(ca->window), "delete_event", | 3610 g_signal_connect(GTK_OBJECT(ca->window), "delete_event", |
3615 G_CALLBACK(destroy_dialog), ca->window); | 3611 G_CALLBACK(destroy_dialog), ca->window); |
3616 gtk_widget_realize(ca->window); | 3612 gtk_widget_realize(ca->window); |
3706 | 3702 |
3707 gtkconv = GAIM_GTK_CONVERSATION(c); | 3703 gtkconv = GAIM_GTK_CONVERSATION(c); |
3708 | 3704 |
3709 if (gtkconv->toolbar.smiley) { | 3705 if (gtkconv->toolbar.smiley) { |
3710 gaim_gtk_set_state_lock(TRUE); | 3706 gaim_gtk_set_state_lock(TRUE); |
3711 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), | 3707 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), |
3712 FALSE); | 3708 FALSE); |
3713 gaim_gtk_set_state_lock(FALSE); | 3709 gaim_gtk_set_state_lock(FALSE); |
3714 } | 3710 } |
3715 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.smiley); | 3711 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.smiley); |
3716 gtk_widget_destroy(gtkconv->dialogs.smiley); | 3712 gtk_widget_destroy(gtkconv->dialogs.smiley); |
3777 return; | 3773 return; |
3778 | 3774 |
3779 win = GAIM_GTK_WINDOW(gaim_conversation_get_window(c))->window; | 3775 win = GAIM_GTK_WINDOW(gaim_conversation_get_window(c))->window; |
3780 | 3776 |
3781 GAIM_DIALOG(dialog); | 3777 GAIM_DIALOG(dialog); |
3782 gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, FALSE, TRUE); | 3778 gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); |
3783 gtk_window_set_role(GTK_WINDOW(dialog), "smiley_dialog"); | 3779 gtk_window_set_role(GTK_WINDOW(dialog), "smiley_dialog"); |
3784 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); | 3780 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); |
3785 | 3781 |
3786 /* setup boxes */ | 3782 /* setup boxes */ |
3787 vbox = gtk_vbox_new(TRUE, 5); | 3783 vbox = gtk_vbox_new(TRUE, 5); |
3826 | 3822 |
3827 gtk_container_add(GTK_CONTAINER(dialog), vbox); | 3823 gtk_container_add(GTK_CONTAINER(dialog), vbox); |
3828 gtk_container_set_border_width(GTK_CONTAINER(dialog), 5); | 3824 gtk_container_set_border_width(GTK_CONTAINER(dialog), 5); |
3829 | 3825 |
3830 /* connect signals */ | 3826 /* connect signals */ |
3831 gtk_object_set_user_data(GTK_OBJECT(dialog), "smiley dialog"); | 3827 g_object_set_data(G_OBJECT(dialog), "dialog_type", "smiley dialog"); |
3832 g_signal_connect(G_OBJECT(dialog), "delete_event", | 3828 g_signal_connect(G_OBJECT(dialog), "delete_event", |
3833 G_CALLBACK(delete_event_dialog), c); | 3829 G_CALLBACK(delete_event_dialog), c); |
3834 | 3830 |
3835 /* show everything */ | 3831 /* show everything */ |
3836 gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!")); | 3832 gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!")); |
3860 GtkWidget *bbox; | 3856 GtkWidget *bbox; |
3861 GtkWidget *cancel; | 3857 GtkWidget *cancel; |
3862 static GtkWidget *add = NULL; | 3858 static GtkWidget *add = NULL; |
3863 GtkWidget *label; | 3859 GtkWidget *label; |
3864 GtkWidget *topbox; | 3860 GtkWidget *topbox; |
3865 static int a, c; | |
3866 | 3861 |
3867 if (aliasdlg) | 3862 if (aliasdlg) |
3868 gtk_widget_destroy(aliasdlg); | 3863 gtk_widget_destroy(aliasdlg); |
3869 | 3864 |
3870 GAIM_DIALOG(aliasdlg); | 3865 GAIM_DIALOG(aliasdlg); |
3871 gtk_window_set_policy(GTK_WINDOW(aliasdlg), FALSE, FALSE, TRUE); | 3866 gtk_window_set_resizable(GTK_WINDOW(aliasdlg), FALSE); |
3872 gtk_window_set_role(GTK_WINDOW(aliasdlg), "alias_dialog"); | 3867 gtk_window_set_role(GTK_WINDOW(aliasdlg), "alias_dialog"); |
3873 gtk_widget_realize(aliasdlg); | 3868 gtk_widget_realize(aliasdlg); |
3874 dialogwindows = g_list_prepend(dialogwindows, aliasdlg); | 3869 dialogwindows = g_list_prepend(dialogwindows, aliasdlg); |
3875 | 3870 |
3876 topbox = gtk_vbox_new(FALSE, 5); | 3871 topbox = gtk_vbox_new(FALSE, 5); |
3884 label = gtk_label_new(_("Buddy")); | 3879 label = gtk_label_new(_("Buddy")); |
3885 gtk_widget_show(bbox); | 3880 gtk_widget_show(bbox); |
3886 gtk_widget_show(label); | 3881 gtk_widget_show(label); |
3887 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 5); | 3882 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 5); |
3888 gtk_box_pack_end(GTK_BOX(bbox), aliasentry, FALSE, FALSE, 5); | 3883 gtk_box_pack_end(GTK_BOX(bbox), aliasentry, FALSE, FALSE, 5); |
3889 gtk_entry_set_editable(GTK_ENTRY(aliasentry), FALSE); | 3884 gtk_editable_set_editable(GTK_EDITABLE(aliasentry), FALSE); |
3890 gtk_box_pack_start(GTK_BOX(topbox), bbox, FALSE, FALSE, 0); | 3885 gtk_box_pack_start(GTK_BOX(topbox), bbox, FALSE, FALSE, 0); |
3891 | 3886 |
3892 /* And the buddy alias box */ | 3887 /* And the buddy alias box */ |
3893 bbox = gtk_hbox_new(FALSE, 5); | 3888 bbox = gtk_hbox_new(FALSE, 5); |
3894 label = gtk_label_new(_("Alias")); | 3889 label = gtk_label_new(_("Alias")); |
3914 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); | 3909 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); |
3915 | 3910 |
3916 /* Handle closes right */ | 3911 /* Handle closes right */ |
3917 g_signal_connect(GTK_OBJECT(aliasdlg), "destroy", G_CALLBACK(destroy_dialog), aliasdlg); | 3912 g_signal_connect(GTK_OBJECT(aliasdlg), "destroy", G_CALLBACK(destroy_dialog), aliasdlg); |
3918 g_signal_connect(GTK_OBJECT(cancel), "clicked", G_CALLBACK(destroy_dialog), aliasdlg); | 3913 g_signal_connect(GTK_OBJECT(cancel), "clicked", G_CALLBACK(destroy_dialog), aliasdlg); |
3919 a = g_signal_connect(GTK_OBJECT(add), "clicked", G_CALLBACK(do_alias_bud), b); | 3914 g_signal_connect(GTK_OBJECT(add), "clicked", G_CALLBACK(do_alias_bud), b); |
3920 c = g_signal_connect(GTK_OBJECT(aliasname), "activate", G_CALLBACK(do_alias_bud), b); | 3915 g_signal_connect(GTK_OBJECT(aliasname), "activate", G_CALLBACK(do_alias_bud), b); |
3921 /* Finish up */ | 3916 /* Finish up */ |
3922 gtk_widget_show(add); | 3917 gtk_widget_show(add); |
3923 gtk_widget_show(cancel); | 3918 gtk_widget_show(cancel); |
3924 gtk_widget_show(aliasentry); | 3919 gtk_widget_show(aliasentry); |
3925 gtk_widget_show(aliasname); | 3920 gtk_widget_show(aliasname); |
3950 FILE *fp_old, *fp_new; | 3945 FILE *fp_old, *fp_new; |
3951 char filename[PATHSIZE]; | 3946 char filename[PATHSIZE]; |
3952 char *name; | 3947 char *name; |
3953 char *tmp; | 3948 char *tmp; |
3954 | 3949 |
3955 name = gtk_object_get_user_data(GTK_OBJECT(filesel)); | 3950 name = g_object_get_data(G_OBJECT(filesel), "name"); |
3956 tmp = gaim_user_dir(); | 3951 tmp = gaim_user_dir(); |
3957 g_snprintf(filename, PATHSIZE, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s%s", tmp, | 3952 g_snprintf(filename, PATHSIZE, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s%s", tmp, |
3958 name ? normalize(name) : "system", name ? ".log" : ""); | 3953 name ? normalize(name) : "system", name ? ".log" : ""); |
3959 | 3954 |
3960 file = (const char*)gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel)); | 3955 file = (const char*)gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel)); |
4003 gtk_file_selection_set_filename(GTK_FILE_SELECTION(filesel), buf); | 3998 gtk_file_selection_set_filename(GTK_FILE_SELECTION(filesel), buf); |
4004 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), | 3999 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), |
4005 "clicked", G_CALLBACK(do_save_log), filesel); | 4000 "clicked", G_CALLBACK(do_save_log), filesel); |
4006 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), | 4001 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), |
4007 "clicked", G_CALLBACK(destroy_dialog), filesel); | 4002 "clicked", G_CALLBACK(destroy_dialog), filesel); |
4008 gtk_object_set_user_data(GTK_OBJECT(filesel), name); | 4003 g_object_set_data(G_OBJECT(filesel), "name", name); |
4009 | 4004 |
4010 gtk_widget_realize(filesel); | 4005 gtk_widget_realize(filesel); |
4011 gtk_widget_show(filesel); | 4006 gtk_widget_show(filesel); |
4012 | 4007 |
4013 return; | 4008 return; |
4027 if ((remove(filename)) == -1) { | 4022 if ((remove(filename)) == -1) { |
4028 g_snprintf(buf, 256, _("Couldn't remove file %s." ), filename); | 4023 g_snprintf(buf, 256, _("Couldn't remove file %s." ), filename); |
4029 do_error_dialog(buf, strerror(errno), GAIM_ERROR); | 4024 do_error_dialog(buf, strerror(errno), GAIM_ERROR); |
4030 } | 4025 } |
4031 | 4026 |
4032 window = gtk_object_get_user_data(GTK_OBJECT(w)); | 4027 window = g_object_get_data(G_OBJECT(w), "log_window"); |
4033 destroy_dialog(NULL, window); | 4028 destroy_dialog(NULL, window); |
4034 } | 4029 } |
4035 | 4030 |
4036 static void show_clear_log(GtkWidget *w, gchar *name) | 4031 static void show_clear_log(GtkWidget *w, gchar *name) |
4037 { | 4032 { |
4044 | 4039 |
4045 GAIM_DIALOG(window); | 4040 GAIM_DIALOG(window); |
4046 gtk_window_set_role(GTK_WINDOW(window), "dialog"); | 4041 gtk_window_set_role(GTK_WINDOW(window), "dialog"); |
4047 gtk_window_set_title(GTK_WINDOW(window), _("Gaim - Clear Log")); | 4042 gtk_window_set_title(GTK_WINDOW(window), _("Gaim - Clear Log")); |
4048 gtk_container_set_border_width(GTK_CONTAINER(window), 10); | 4043 gtk_container_set_border_width(GTK_CONTAINER(window), 10); |
4049 gtk_window_set_policy(GTK_WINDOW(window), TRUE, TRUE, TRUE); | 4044 gtk_window_set_resizable(GTK_WINDOW(window), TRUE); |
4050 g_signal_connect(GTK_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window); | 4045 g_signal_connect(GTK_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window); |
4051 gtk_widget_realize(window); | 4046 gtk_widget_realize(window); |
4052 | 4047 |
4053 box = gtk_vbox_new(FALSE, 5); | 4048 box = gtk_vbox_new(FALSE, 5); |
4054 gtk_container_add(GTK_CONTAINER(window), box); | 4049 gtk_container_add(GTK_CONTAINER(window), box); |
4062 hbox = gtk_hbox_new(FALSE, 0); | 4057 hbox = gtk_hbox_new(FALSE, 0); |
4063 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); | 4058 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); |
4064 gtk_widget_show(hbox); | 4059 gtk_widget_show(hbox); |
4065 | 4060 |
4066 button = picture_button(window, _("Okay"), ok_xpm); | 4061 button = picture_button(window, _("Okay"), ok_xpm); |
4067 gtk_object_set_user_data(GTK_OBJECT(button), gtk_object_get_user_data(GTK_OBJECT(w))); | 4062 g_object_set_data(G_OBJECT(button), "log_window", g_object_get_data(G_OBJECT(w), |
4063 "log_window")); | |
4068 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(do_clear_log_file), name); | 4064 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(do_clear_log_file), name); |
4069 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), window); | 4065 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), window); |
4070 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); | 4066 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); |
4071 gtk_widget_show(button); | 4067 gtk_widget_show(button); |
4072 | 4068 |
4078 gtk_widget_show_all(window); | 4074 gtk_widget_show_all(window); |
4079 | 4075 |
4080 return; | 4076 return; |
4081 } | 4077 } |
4082 | 4078 |
4083 static void log_show_convo(GtkWidget *w, struct view_log *view) | 4079 static void log_show_convo(struct view_log *view) |
4084 { | 4080 { |
4085 gchar buf[BUF_LONG]; | 4081 gchar buf[BUF_LONG]; |
4086 FILE *fp; | 4082 FILE *fp; |
4087 char filename[256]; | 4083 char filename[256]; |
4088 int i=0; | 4084 int i=0; |
4103 do_error_dialog(buf, strerror(errno), GAIM_ERROR); | 4099 do_error_dialog(buf, strerror(errno), GAIM_ERROR); |
4104 return; | 4100 return; |
4105 } | 4101 } |
4106 | 4102 |
4107 gtk_widget_set_sensitive(view->bbox, FALSE); | 4103 gtk_widget_set_sensitive(view->bbox, FALSE); |
4108 gtk_signal_disconnect_by_func(GTK_OBJECT(view->window), | 4104 g_signal_handlers_disconnect_by_func(G_OBJECT(view->window), |
4109 G_CALLBACK(destroy_dialog), view->window); | 4105 G_CALLBACK(destroy_dialog), view->window); |
4110 block = g_signal_connect(GTK_OBJECT(view->window), "delete_event", | 4106 block = g_signal_connect(GTK_OBJECT(view->window), "delete_event", |
4111 G_CALLBACK(dont_destroy), view->window); | 4107 G_CALLBACK(dont_destroy), view->window); |
4112 | 4108 |
4113 fseek(fp, view->offset, SEEK_SET); | 4109 fseek(fp, view->offset, SEEK_SET); |
4141 } | 4137 } |
4142 gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, -1, view->options); | 4138 gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, -1, view->options); |
4143 gtk_imhtml_append_text(GTK_IMHTML(view->layout), "<BR>", -1, view->options); | 4139 gtk_imhtml_append_text(GTK_IMHTML(view->layout), "<BR>", -1, view->options); |
4144 | 4140 |
4145 gtk_widget_set_sensitive(view->bbox, TRUE); | 4141 gtk_widget_set_sensitive(view->bbox, TRUE); |
4146 gtk_signal_disconnect(GTK_OBJECT(view->window), block); | 4142 g_signal_handler_disconnect(G_OBJECT(view->window), block); |
4147 g_signal_connect(GTK_OBJECT(view->window), "delete_event", | 4143 g_signal_connect(GTK_OBJECT(view->window), "delete_event", |
4148 G_CALLBACK(destroy_dialog), view->window); | 4144 G_CALLBACK(destroy_dialog), view->window); |
4149 g_string_free(string, TRUE); | 4145 g_string_free(string, TRUE); |
4150 fclose(fp); | 4146 fclose(fp); |
4151 } | 4147 } |
4152 | 4148 |
4149 static void log_select_convo(GtkTreeSelection *sel, GtkTreeModel *model) | |
4150 { | |
4151 GValue val = { 0, }; | |
4152 GtkTreeIter iter; | |
4153 | |
4154 if(!gtk_tree_selection_get_selected(sel, &model, &iter)) | |
4155 return; | |
4156 gtk_tree_model_get_value(model, &iter, 1, &val); | |
4157 log_show_convo(g_value_get_pointer(&val)); | |
4158 } | |
4159 | |
4153 static void des_view_item(GtkObject *obj, struct view_log *view) | 4160 static void des_view_item(GtkObject *obj, struct view_log *view) |
4154 { | 4161 { |
4155 if (view->name) | 4162 if (view->name) |
4156 g_free(view->name); | 4163 g_free(view->name); |
4157 g_free(view); | 4164 g_free(view); |
4158 } | 4165 } |
4159 | 4166 |
4160 static void des_log_win(GtkObject *win, gpointer data) | 4167 static void des_log_win(GObject *win, gpointer data) |
4161 { | 4168 { |
4162 char *x = gtk_object_get_user_data(win); | 4169 char *x = g_object_get_data(win, "log_window"); |
4163 if (x) | 4170 if (x) |
4164 g_free(x); | 4171 g_free(x); |
4165 } | 4172 } |
4166 | 4173 |
4167 void conv_show_log(GtkWidget *w, gpointer data) | 4174 void conv_show_log(GtkWidget *w, gpointer data) |
4190 GtkWidget *sw; | 4197 GtkWidget *sw; |
4191 GtkWidget *layout; | 4198 GtkWidget *layout; |
4192 GtkWidget *close_button; | 4199 GtkWidget *close_button; |
4193 GtkWidget *clear_button; | 4200 GtkWidget *clear_button; |
4194 GtkWidget *save_button; | 4201 GtkWidget *save_button; |
4195 GtkWidget *list = NULL; | 4202 GtkListStore *list_store; |
4196 GList *item_list = NULL; | 4203 GtkWidget *tree_view; |
4204 GtkTreeSelection *sel = NULL; | |
4205 GtkTreePath *path; | |
4197 GtkWidget *item = NULL; | 4206 GtkWidget *item = NULL; |
4198 GtkWidget *last = NULL; | 4207 GtkWidget *last = NULL; |
4199 GtkWidget *frame; | 4208 GtkWidget *frame; |
4200 struct view_log *view; | 4209 struct view_log *view; |
4201 char *name = nm ? g_strdup(nm) : NULL; | 4210 char *name = nm ? g_strdup(nm) : NULL; |
4202 | 4211 |
4203 int options; | 4212 int options; |
4204 guint block; | 4213 guint block; |
4205 char convo_start[32]; | 4214 char convo_start[32]; |
4206 long offset = 0; | 4215 long offset = 0; |
4207 unsigned int i = 0; | |
4208 | 4216 |
4209 options = GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL; | 4217 options = GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL; |
4210 if (convo_options & OPT_CONVO_IGNORE_COLOUR) | 4218 if (convo_options & OPT_CONVO_IGNORE_COLOUR) |
4211 options ^= GTK_IMHTML_NO_COLOURS; | 4219 options ^= GTK_IMHTML_NO_COLOURS; |
4212 if (convo_options & OPT_CONVO_IGNORE_FONTS) | 4220 if (convo_options & OPT_CONVO_IGNORE_FONTS) |
4213 options ^= GTK_IMHTML_NO_FONTS; | 4221 options ^= GTK_IMHTML_NO_FONTS; |
4214 if (convo_options & OPT_CONVO_IGNORE_SIZES) | 4222 if (convo_options & OPT_CONVO_IGNORE_SIZES) |
4215 options ^= GTK_IMHTML_NO_SIZES; | 4223 options ^= GTK_IMHTML_NO_SIZES; |
4216 | 4224 |
4217 window = gtk_window_new(GTK_WINDOW_TOPLEVEL); | 4225 window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
4218 gtk_object_set_user_data(GTK_OBJECT(window), name); | 4226 g_object_set_data(G_OBJECT(window), "name", name); |
4219 g_signal_connect(GTK_OBJECT(window), "destroy", G_CALLBACK(des_log_win), NULL); | 4227 g_signal_connect(GTK_OBJECT(window), "destroy", G_CALLBACK(des_log_win), NULL); |
4220 gtk_window_set_role(GTK_WINDOW(window), "log"); | 4228 gtk_window_set_role(GTK_WINDOW(window), "log"); |
4221 if (name) | 4229 if (name) |
4222 g_snprintf(buf, BUF_LONG, _("Gaim - Conversations with %s"), name); | 4230 g_snprintf(buf, BUF_LONG, _("Gaim - Conversations with %s"), name); |
4223 else | 4231 else |
4224 g_snprintf(buf, BUF_LONG, _("Gaim - System Log")); | 4232 g_snprintf(buf, BUF_LONG, _("Gaim - System Log")); |
4225 gtk_window_set_title(GTK_WINDOW(window), buf); | 4233 gtk_window_set_title(GTK_WINDOW(window), buf); |
4226 gtk_container_set_border_width(GTK_CONTAINER(window), 10); | 4234 gtk_container_set_border_width(GTK_CONTAINER(window), 10); |
4227 gtk_window_set_policy(GTK_WINDOW(window), TRUE, TRUE, TRUE); | 4235 gtk_window_set_resizable(GTK_WINDOW(window), TRUE); |
4228 block = g_signal_connect(GTK_OBJECT(window), "delete_event", | 4236 block = g_signal_connect(GTK_OBJECT(window), "delete_event", |
4229 G_CALLBACK(dont_destroy), window); | 4237 G_CALLBACK(dont_destroy), window); |
4230 gtk_widget_realize(window); | 4238 gtk_widget_realize(window); |
4231 | 4239 |
4232 layout = gtk_imhtml_new(NULL, NULL); | 4240 layout = gtk_imhtml_new(NULL, NULL); |
4245 g_snprintf(buf, BUF_LONG, _("Couldn't open log file %s"), filename); | 4253 g_snprintf(buf, BUF_LONG, _("Couldn't open log file %s"), filename); |
4246 do_error_dialog(buf, strerror(errno), GAIM_ERROR); | 4254 do_error_dialog(buf, strerror(errno), GAIM_ERROR); |
4247 return; | 4255 return; |
4248 } | 4256 } |
4249 | 4257 |
4250 list = gtk_list_new(); | 4258 list_store = gtk_list_store_new(2, |
4259 G_TYPE_STRING, | |
4260 G_TYPE_POINTER); | |
4261 | |
4262 tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(list_store)); | |
4263 | |
4264 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree_view), FALSE); | |
4265 | |
4266 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(tree_view), | |
4267 -1, "", gtk_cell_renderer_text_new(), "text", 0, NULL); | |
4268 | |
4269 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view)); | |
4270 g_signal_connect(G_OBJECT(sel), "changed", | |
4271 G_CALLBACK(log_select_convo), | |
4272 NULL); | |
4251 | 4273 |
4252 frame = gtk_frame_new(_("Date")); | 4274 frame = gtk_frame_new(_("Date")); |
4253 gtk_widget_show(frame); | 4275 gtk_widget_show(frame); |
4254 | 4276 |
4255 sw = gtk_scrolled_window_new(NULL, NULL); | 4277 sw = gtk_scrolled_window_new(NULL, NULL); |
4256 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); | 4278 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); |
4257 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), list); | 4279 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), tree_view); |
4258 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), | 4280 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), |
4259 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | 4281 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
4260 gtk_widget_set_usize(sw, 220, 220); | 4282 gtk_widget_set_size_request(sw, 220, 220); |
4261 gtk_container_add(GTK_CONTAINER(frame), sw); | 4283 gtk_container_add(GTK_CONTAINER(frame), sw); |
4262 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); | 4284 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); |
4263 | 4285 |
4264 while (fgets(buf, BUF_LONG, fp)) { | 4286 while (fgets(buf, BUF_LONG, fp)) { |
4265 if (strstr(buf, "---- New C")) { | 4287 if (strstr(buf, "---- New C")) { |
4266 int length; | 4288 int length; |
4267 char *temp = strchr(buf, '@'); | 4289 char *temp = strchr(buf, '@'); |
4290 GtkTreeIter iter; | |
4268 | 4291 |
4269 if (temp == NULL || strlen(temp) < 2) | 4292 if (temp == NULL || strlen(temp) < 2) |
4270 continue; | 4293 continue; |
4271 | |
4272 if (i == 1 && item_list) { | |
4273 item_list = g_list_remove(item_list, last); | |
4274 last = NULL; | |
4275 } | |
4276 | |
4277 i = 0; | |
4278 | 4294 |
4279 temp++; | 4295 temp++; |
4280 length = strcspn(temp, "-"); | 4296 length = strcspn(temp, "-"); |
4281 if (length > 31) length = 31; | 4297 if (length > 31) length = 31; |
4282 | 4298 |
4283 offset = ftell(fp); | 4299 offset = ftell(fp); |
4284 g_snprintf(convo_start, length, "%s", temp); | 4300 g_snprintf(convo_start, length, "%s", temp); |
4285 item = gtk_list_item_new_with_label(convo_start); | 4301 gtk_list_store_append(list_store, &iter); |
4286 view = g_new0(struct view_log, 1); | 4302 view = g_new0(struct view_log, 1); |
4287 view->options = options; | 4303 view->options = options; |
4288 view->offset = offset; | 4304 view->offset = offset; |
4289 view->name = g_strdup(name); | 4305 view->name = g_strdup(name); |
4290 view->bbox = bbox; | 4306 view->bbox = bbox; |
4291 view->window = window; | 4307 view->window = window; |
4292 view->layout = layout; | 4308 view->layout = layout; |
4293 g_signal_connect(GTK_OBJECT(item), "select", | 4309 gtk_list_store_set(list_store, &iter, |
4294 G_CALLBACK(log_show_convo), view); | 4310 0, convo_start, |
4295 g_signal_connect(GTK_OBJECT(item), "destroy", | 4311 1, view, |
4312 -1); | |
4313 g_signal_connect(G_OBJECT(window), "destroy", | |
4296 G_CALLBACK(des_view_item), view); | 4314 G_CALLBACK(des_view_item), view); |
4297 last = item; | 4315 last = item; |
4298 item_list = g_list_append(item_list, item); | |
4299 | |
4300 gtk_widget_show(item); | |
4301 } | 4316 } |
4302 i++; | |
4303 } | 4317 } |
4304 fclose(fp); | 4318 fclose(fp); |
4305 if (i == 1 && item_list) | 4319 |
4306 item_list = g_list_remove(item_list, item); | 4320 path = gtk_tree_path_new_first(); |
4307 | 4321 gtk_tree_selection_select_path(sel, path); |
4308 if (item_list) | 4322 gtk_tree_path_free(path); |
4309 gtk_list_insert_items(GTK_LIST(list), item_list, 0 ); | 4323 |
4310 } | 4324 g_object_unref(G_OBJECT(list_store)); |
4311 | 4325 } |
4312 gtk_signal_disconnect(GTK_OBJECT(window), block); | 4326 |
4327 | |
4328 g_signal_handler_disconnect(GTK_OBJECT(window), block); | |
4313 g_signal_connect(GTK_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window); | 4329 g_signal_connect(GTK_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window); |
4314 | 4330 |
4315 frame = gtk_frame_new(_("Conversation")); | 4331 frame = gtk_frame_new(_("Conversation")); |
4316 gtk_widget_show(frame); | 4332 gtk_widget_show(frame); |
4317 | 4333 |
4318 sw = gtk_scrolled_window_new(NULL, NULL); | 4334 sw = gtk_scrolled_window_new(NULL, NULL); |
4319 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); | 4335 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); |
4320 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | 4336 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
4321 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); | 4337 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); |
4322 gtk_widget_set_usize(sw, 390, 220); | 4338 gtk_widget_set_size_request(sw, 390, 220); |
4323 gtk_container_add(GTK_CONTAINER(frame), sw); | 4339 gtk_container_add(GTK_CONTAINER(frame), sw); |
4324 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); | 4340 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); |
4325 | 4341 |
4326 g_signal_connect(GTK_OBJECT(layout), "url_clicked", G_CALLBACK(open_url), NULL); | 4342 g_signal_connect(GTK_OBJECT(layout), "url_clicked", G_CALLBACK(open_url), NULL); |
4327 gtk_container_add(GTK_CONTAINER(sw), layout); | 4343 gtk_container_add(GTK_CONTAINER(sw), layout); |
4333 close_button = picture_button(window, _("Close"), cancel_xpm); | 4349 close_button = picture_button(window, _("Close"), cancel_xpm); |
4334 gtk_box_pack_end(GTK_BOX(bbox), close_button, FALSE, FALSE, 5); | 4350 gtk_box_pack_end(GTK_BOX(bbox), close_button, FALSE, FALSE, 5); |
4335 g_signal_connect(GTK_OBJECT(close_button), "clicked", G_CALLBACK(destroy_dialog), window); | 4351 g_signal_connect(GTK_OBJECT(close_button), "clicked", G_CALLBACK(destroy_dialog), window); |
4336 | 4352 |
4337 clear_button = picture_button(window, _("Clear"), close_xpm); | 4353 clear_button = picture_button(window, _("Clear"), close_xpm); |
4338 gtk_object_set_user_data(GTK_OBJECT(clear_button), window); | 4354 g_object_set_data(G_OBJECT(clear_button), "log_window", window); |
4339 gtk_box_pack_end(GTK_BOX(bbox), clear_button, FALSE, FALSE, 5); | 4355 gtk_box_pack_end(GTK_BOX(bbox), clear_button, FALSE, FALSE, 5); |
4340 g_signal_connect(GTK_OBJECT(clear_button), "clicked", G_CALLBACK(show_clear_log), name); | 4356 g_signal_connect(GTK_OBJECT(clear_button), "clicked", G_CALLBACK(show_clear_log), name); |
4341 | 4357 |
4342 save_button = picture_button(window, _("Save"), save_xpm); | 4358 save_button = picture_button(window, _("Save"), save_xpm); |
4343 gtk_box_pack_end(GTK_BOX(bbox), save_button, FALSE, FALSE, 5); | 4359 gtk_box_pack_end(GTK_BOX(bbox), save_button, FALSE, FALSE, 5); |
4344 g_signal_connect(GTK_OBJECT(save_button), "clicked", G_CALLBACK(show_save_log), name); | 4360 g_signal_connect(GTK_OBJECT(save_button), "clicked", G_CALLBACK(show_save_log), name); |
4345 | 4361 |
4346 gtk_widget_show_all(window); | 4362 gtk_widget_show_all(window); |
4347 | 4363 |
4348 if (!name) { | 4364 if (!name) { |
4349 view = g_new0(struct view_log, 1); | 4365 view = g_new0(struct view_log, 1); |
4350 view->options = options; | 4366 view->options = options; |
4351 view->name = NULL; | 4367 view->name = NULL; |
4352 view->bbox = bbox; | 4368 view->bbox = bbox; |
4353 view->window = window; | 4369 view->window = window; |
4354 view->layout = layout; | 4370 view->layout = layout; |
4355 log_show_convo(layout, view); | 4371 log_show_convo(view); |
4356 g_signal_connect(GTK_OBJECT(layout), "destroy", G_CALLBACK(des_view_item), view); | 4372 g_signal_connect(GTK_OBJECT(layout), "destroy", G_CALLBACK(des_view_item), view); |
4357 } else { | 4373 } |
4358 gtk_list_select_item(GTK_LIST(list), 0); | 4374 |
4359 } | |
4360 | |
4361 gtk_widget_set_sensitive(bbox, TRUE); | 4375 gtk_widget_set_sensitive(bbox, TRUE); |
4362 | 4376 |
4363 return; | 4377 return; |
4364 } | 4378 } |
4365 | 4379 |
4375 GSList *accts; | 4389 GSList *accts; |
4376 | 4390 |
4377 if (resp == GTK_RESPONSE_OK) { | 4391 if (resp == GTK_RESPONSE_OK) { |
4378 | 4392 |
4379 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); | 4393 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); |
4380 g = gtk_object_get_user_data(GTK_OBJECT(entry)); | 4394 g = g_object_get_data(G_OBJECT(entry), "group"); |
4381 | 4395 |
4382 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, g->name)) { | 4396 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, g->name)) { |
4383 char *prevname; | 4397 char *prevname; |
4384 | 4398 |
4385 if ((orig = find_group(new_name)) != NULL && g_strcasecmp(new_name, g->name)) { | 4399 if ((orig = find_group(new_name)) != NULL && g_strcasecmp(new_name, g->name)) { |
4423 GtkWidget *name_entry = NULL; | 4437 GtkWidget *name_entry = NULL; |
4424 | 4438 |
4425 g_free(filename); | 4439 g_free(filename); |
4426 | 4440 |
4427 if (!rename_dialog) { | 4441 if (!rename_dialog) { |
4428 rename_dialog = gtk_dialog_new_with_buttons(_("Gaim - Rename Group"), GTK_WINDOW(blist), GTK_DIALOG_MODAL, | 4442 rename_dialog = gtk_dialog_new_with_buttons(_("Gaim - Rename Group"), GTK_WINDOW(blist), GTK_DIALOG_MODAL, |
4429 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); | 4443 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); |
4430 gtk_dialog_set_default_response (GTK_DIALOG(rename_dialog), GTK_RESPONSE_OK); | 4444 gtk_dialog_set_default_response (GTK_DIALOG(rename_dialog), GTK_RESPONSE_OK); |
4431 gtk_container_set_border_width (GTK_CONTAINER(rename_dialog), 6); | 4445 gtk_container_set_border_width (GTK_CONTAINER(rename_dialog), 6); |
4432 gtk_window_set_resizable(GTK_WINDOW(rename_dialog), FALSE); | 4446 gtk_window_set_resizable(GTK_WINDOW(rename_dialog), FALSE); |
4433 gtk_dialog_set_has_separator(GTK_DIALOG(rename_dialog), FALSE); | 4447 gtk_dialog_set_has_separator(GTK_DIALOG(rename_dialog), FALSE); |
4434 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(rename_dialog)->vbox), 12); | 4448 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(rename_dialog)->vbox), 12); |
4435 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(rename_dialog)->vbox), 6); | 4449 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(rename_dialog)->vbox), 6); |
4436 | 4450 |
4437 hbox = gtk_hbox_new(FALSE, 12); | 4451 hbox = gtk_hbox_new(FALSE, 12); |
4438 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(rename_dialog)->vbox), hbox); | 4452 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(rename_dialog)->vbox), hbox); |
4439 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | 4453 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); |
4440 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | 4454 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); |
4441 | 4455 |
4442 vbox = gtk_vbox_new(FALSE, 0); | 4456 vbox = gtk_vbox_new(FALSE, 0); |
4443 gtk_container_add(GTK_CONTAINER(hbox), vbox); | 4457 gtk_container_add(GTK_CONTAINER(hbox), vbox); |
4444 | 4458 |
4445 label = gtk_label_new(_("Please enter a new name for the selected group.\n")); | 4459 label = gtk_label_new(_("Please enter a new name for the selected group.\n")); |
4446 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | 4460 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
4447 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | 4461 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
4448 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | 4462 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); |
4449 | 4463 |
4450 hbox = gtk_hbox_new(FALSE, 6); | 4464 hbox = gtk_hbox_new(FALSE, 6); |
4451 gtk_container_add(GTK_CONTAINER(vbox), hbox); | 4465 gtk_container_add(GTK_CONTAINER(vbox), hbox); |
4452 | 4466 |
4453 label = gtk_label_new(NULL); | 4467 label = gtk_label_new(NULL); |
4454 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Group:")); | 4468 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Group:")); |
4455 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 4469 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
4456 | 4470 |
4457 name_entry = gtk_entry_new(); | 4471 name_entry = gtk_entry_new(); |
4458 gtk_entry_set_activates_default (GTK_ENTRY(name_entry), TRUE); | 4472 gtk_entry_set_activates_default (GTK_ENTRY(name_entry), TRUE); |
4459 gtk_object_set_user_data(GTK_OBJECT(name_entry), g); | 4473 g_object_set_data(G_OBJECT(name_entry), "group", g); |
4460 gtk_entry_set_text(GTK_ENTRY(name_entry), g->name); | 4474 gtk_entry_set_text(GTK_ENTRY(name_entry), g->name); |
4461 gtk_box_pack_start(GTK_BOX(hbox), name_entry, FALSE, FALSE, 0); | 4475 gtk_box_pack_start(GTK_BOX(hbox), name_entry, FALSE, FALSE, 0); |
4462 gtk_entry_set_activates_default (GTK_ENTRY(name_entry), TRUE); | 4476 gtk_entry_set_activates_default (GTK_ENTRY(name_entry), TRUE); |
4463 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(name_entry)); | 4477 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(name_entry)); |
4464 | 4478 |
4465 g_signal_connect(G_OBJECT(rename_dialog), "response", G_CALLBACK(do_rename_group), name_entry); | 4479 g_signal_connect(G_OBJECT(rename_dialog), "response", G_CALLBACK(do_rename_group), name_entry); |
4466 | 4480 |
4467 } | 4481 } |
4468 | 4482 |
4469 gtk_widget_show_all(rename_dialog); | 4483 gtk_widget_show_all(rename_dialog); |
4474 | 4488 |
4475 /*------------------------------------------------------------------------*/ | 4489 /*------------------------------------------------------------------------*/ |
4476 /* The dialog for renaming buddies */ | 4490 /* The dialog for renaming buddies */ |
4477 /*------------------------------------------------------------------------*/ | 4491 /*------------------------------------------------------------------------*/ |
4478 | 4492 |
4479 static void do_rename_buddy(GtkObject *obj, GtkWidget *entry) | 4493 static void do_rename_buddy(GObject *obj, GtkWidget *entry) |
4480 { | 4494 { |
4481 const char *new_name; | 4495 const char *new_name; |
4482 struct buddy *b; | 4496 struct buddy *b; |
4483 GSList *gr; | 4497 GSList *gr; |
4484 | 4498 |
4485 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); | 4499 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); |
4486 b = gtk_object_get_user_data(obj); | 4500 b = g_object_get_data(obj, "buddy"); |
4487 | 4501 |
4488 if (!g_slist_find(connections, b->account->gc)) { | 4502 if (!g_slist_find(connections, b->account->gc)) { |
4489 destroy_dialog(rename_bud_dialog, rename_bud_dialog); | 4503 destroy_dialog(rename_bud_dialog, rename_bud_dialog); |
4490 return; | 4504 return; |
4491 } | 4505 } |
4527 GtkWidget *label; | 4541 GtkWidget *label; |
4528 | 4542 |
4529 if (!rename_bud_dialog) { | 4543 if (!rename_bud_dialog) { |
4530 GAIM_DIALOG(rename_bud_dialog); | 4544 GAIM_DIALOG(rename_bud_dialog); |
4531 gtk_window_set_role(GTK_WINDOW(rename_bud_dialog), "rename_bud_dialog"); | 4545 gtk_window_set_role(GTK_WINDOW(rename_bud_dialog), "rename_bud_dialog"); |
4532 gtk_window_set_policy(GTK_WINDOW(rename_bud_dialog), FALSE, TRUE, TRUE); | 4546 gtk_window_set_resizable(GTK_WINDOW(rename_bud_dialog), TRUE); |
4533 gtk_window_set_title(GTK_WINDOW(rename_bud_dialog), _("Gaim - Rename Buddy")); | 4547 gtk_window_set_title(GTK_WINDOW(rename_bud_dialog), _("Gaim - Rename Buddy")); |
4534 g_signal_connect(GTK_OBJECT(rename_bud_dialog), "destroy", | 4548 g_signal_connect(GTK_OBJECT(rename_bud_dialog), "destroy", |
4535 G_CALLBACK(destroy_dialog), rename_bud_dialog); | 4549 G_CALLBACK(destroy_dialog), rename_bud_dialog); |
4536 gtk_widget_realize(rename_bud_dialog); | 4550 gtk_widget_realize(rename_bud_dialog); |
4537 | 4551 |
4549 label = gtk_label_new(_("New name:")); | 4563 label = gtk_label_new(_("New name:")); |
4550 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0); | 4564 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0); |
4551 | 4565 |
4552 name_entry = gtk_entry_new(); | 4566 name_entry = gtk_entry_new(); |
4553 gtk_box_pack_start(GTK_BOX(fbox), name_entry, TRUE, TRUE, 0); | 4567 gtk_box_pack_start(GTK_BOX(fbox), name_entry, TRUE, TRUE, 0); |
4554 gtk_object_set_user_data(GTK_OBJECT(name_entry), b); | 4568 g_object_set_data(G_OBJECT(name_entry), "buddy", b); |
4555 gtk_entry_set_text(GTK_ENTRY(name_entry), b->name); | 4569 gtk_entry_set_text(GTK_ENTRY(name_entry), b->name); |
4556 g_signal_connect(GTK_OBJECT(name_entry), "activate", | 4570 g_signal_connect(GTK_OBJECT(name_entry), "activate", |
4557 G_CALLBACK(do_rename_buddy), name_entry); | 4571 G_CALLBACK(do_rename_buddy), name_entry); |
4558 gtk_widget_grab_focus(name_entry); | 4572 gtk_widget_grab_focus(name_entry); |
4559 | 4573 |
4560 bbox = gtk_hbox_new(FALSE, 5); | 4574 bbox = gtk_hbox_new(FALSE, 5); |
4561 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); | 4575 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); |
4562 | 4576 |
4563 button = picture_button(rename_bud_dialog, _("OK"), ok_xpm); | 4577 button = picture_button(rename_bud_dialog, _("OK"), ok_xpm); |
4564 gtk_object_set_user_data(GTK_OBJECT(button), b); | 4578 g_object_set_data(G_OBJECT(button), "buddy", b); |
4565 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | 4579 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
4566 g_signal_connect(GTK_OBJECT(button), "clicked", | 4580 g_signal_connect(GTK_OBJECT(button), "clicked", |
4567 G_CALLBACK(do_rename_buddy), name_entry); | 4581 G_CALLBACK(do_rename_buddy), name_entry); |
4568 | 4582 |
4569 button = picture_button(rename_bud_dialog, _("Cancel"), cancel_xpm); | 4583 button = picture_button(rename_bud_dialog, _("Cancel"), cancel_xpm); |
4774 button_box_2 = gtk_hbox_new(FALSE, 0); | 4788 button_box_2 = gtk_hbox_new(FALSE, 0); |
4775 button_box_3 = gtk_hbox_new(FALSE, 0); | 4789 button_box_3 = gtk_hbox_new(FALSE, 0); |
4776 gtk_box_pack_start(GTK_BOX(button_box), button_box_2, TRUE, TRUE, 0); | 4790 gtk_box_pack_start(GTK_BOX(button_box), button_box_2, TRUE, TRUE, 0); |
4777 gtk_box_pack_start(GTK_BOX(button_box), button_box_3, TRUE, TRUE, 0); | 4791 gtk_box_pack_start(GTK_BOX(button_box), button_box_3, TRUE, TRUE, 0); |
4778 pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); | 4792 pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); |
4779 pixmap = gtk_pixmap_new(pm, mask); | 4793 pixmap = gtk_image_new_from_pixmap(pm, mask); |
4780 gtk_box_pack_end(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0); | 4794 gtk_box_pack_end(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0); |
4781 | 4795 |
4782 if (text) { | 4796 if (text) { |
4783 label = gtk_label_new(text); | 4797 label = gtk_label_new(text); |
4784 gtk_box_pack_start(GTK_BOX(button_box_3), label, FALSE, FALSE, 2); | 4798 gtk_box_pack_start(GTK_BOX(button_box_3), label, FALSE, FALSE, 2); |
4789 gtk_widget_show(button_box_2); | 4803 gtk_widget_show(button_box_2); |
4790 gtk_widget_show(button_box_3); | 4804 gtk_widget_show(button_box_3); |
4791 gtk_widget_show(button_box); | 4805 gtk_widget_show(button_box); |
4792 | 4806 |
4793 /* this causes clipping on lots of buttons with long text */ | 4807 /* this causes clipping on lots of buttons with long text */ |
4794 /* gtk_widget_set_usize(button, 75, 30);*/ | 4808 /* gtk_widget_set_size_request(button, 75, 30);*/ |
4795 gtk_widget_show(button); | 4809 gtk_widget_show(button); |
4796 gdk_pixmap_unref(pm); | 4810 gdk_pixmap_unref(pm); |
4797 gdk_bitmap_unref(mask); | 4811 gdk_bitmap_unref(mask); |
4798 | 4812 |
4799 return button; | 4813 return button; |
4822 gtk_box_pack_start(GTK_BOX(button_box), button_box_2, TRUE, TRUE, 0); | 4836 gtk_box_pack_start(GTK_BOX(button_box), button_box_2, TRUE, TRUE, 0); |
4823 gtk_widget_show(button_box_2); | 4837 gtk_widget_show(button_box_2); |
4824 gtk_widget_show(button_box); | 4838 gtk_widget_show(button_box); |
4825 if (dispstyle == 2 || dispstyle == 0) { | 4839 if (dispstyle == 2 || dispstyle == 0) { |
4826 pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); | 4840 pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); |
4827 pixmap = gtk_pixmap_new(pm, mask); | 4841 pixmap = gtk_image_new_from_pixmap(pm, mask); |
4828 gtk_box_pack_start(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0); | 4842 gtk_box_pack_start(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0); |
4829 | 4843 |
4830 gtk_widget_show(pixmap); | 4844 gtk_widget_show(pixmap); |
4831 | 4845 |
4832 gdk_pixmap_unref(pm); | 4846 gdk_pixmap_unref(pm); |
5173 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 0.0, (gfloat) 0.5); | 5187 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 0.0, (gfloat) 0.5); |
5174 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, | 5188 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, |
5175 1 + col_offset, 2 + col_offset, row_num, row_num +1); | 5189 1 + col_offset, 2 + col_offset, row_num, row_num +1); |
5176 gtk_widget_show(label); | 5190 gtk_widget_show(label); |
5177 | 5191 |
5178 med->widget = gtk_entry_new_with_max_length(50); | 5192 med->widget = gtk_entry_new(); |
5193 gtk_entry_set_max_length(GTK_ENTRY(med->widget), 50); | |
5179 if(med->text != NULL) { | 5194 if(med->text != NULL) { |
5180 gtk_entry_set_text(GTK_ENTRY (med->widget), med->text); | 5195 gtk_entry_set_text(GTK_ENTRY (med->widget), med->text); |
5181 } | 5196 } |
5182 gtk_entry_set_visibility(GTK_ENTRY (med->widget), med->visible); | 5197 gtk_entry_set_visibility(GTK_ENTRY (med->widget), med->visible); |
5183 gtk_entry_set_editable(GTK_ENTRY (med->widget), med->editable); | 5198 gtk_editable_set_editable(GTK_EDITABLE(med->widget), med->editable); |
5184 gtk_table_attach(GTK_TABLE (*entries_table), med->widget, | 5199 gtk_table_attach(GTK_TABLE (*entries_table), med->widget, |
5185 2 + col_offset, 3 + col_offset, row_num, row_num +1, | 5200 2 + col_offset, 3 + col_offset, row_num, row_num +1, |
5186 GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 5, 0); | 5201 GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 5, 0); |
5187 gtk_widget_show(med->widget); | 5202 gtk_widget_show(med->widget); |
5188 } | 5203 } |
5198 GtkWidget *texts_obox, | 5213 GtkWidget *texts_obox, |
5199 GSList *multi_text_items) | 5214 GSList *multi_text_items) |
5200 { | 5215 { |
5201 GSList *multi_text; | 5216 GSList *multi_text; |
5202 MultiTextData *mtd; | 5217 MultiTextData *mtd; |
5203 GtkWidget *frame; | 5218 GtkWidget *frame; |
5204 GtkWidget *hbox; | 5219 GtkWidget *sw; |
5205 GtkWidget *vscrollbar; | |
5206 | 5220 |
5207 if(*texts_ibox != NULL) { | 5221 if(*texts_ibox != NULL) { |
5208 gtk_widget_destroy(GTK_WIDGET (*texts_ibox)); | 5222 gtk_widget_destroy(GTK_WIDGET (*texts_ibox)); |
5209 } | 5223 } |
5210 *texts_ibox = gtk_vbox_new(FALSE, 5); | 5224 *texts_ibox = gtk_vbox_new(FALSE, 5); |
5211 gtk_container_add(GTK_CONTAINER (texts_obox), *texts_ibox); | 5225 gtk_container_add(GTK_CONTAINER (texts_obox), *texts_ibox); |
5212 | 5226 |
5213 for(multi_text = multi_text_items; multi_text != NULL; multi_text = multi_text->next) { | 5227 for(multi_text = multi_text_items; multi_text != NULL; multi_text = multi_text->next) { |
5214 mtd = (MultiTextData *) multi_text->data; | 5228 mtd = (MultiTextData *) multi_text->data; |
5215 frame = gtk_frame_new(mtd->label); | 5229 frame = gtk_frame_new(mtd->label); |
5230 sw = gtk_scrolled_window_new(NULL, NULL); | |
5231 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); | |
5232 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), | |
5233 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
5234 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), | |
5235 GTK_SHADOW_IN); | |
5236 gtk_widget_set_size_request(sw, 300, 100); | |
5237 gtk_container_add(GTK_CONTAINER (frame), sw); | |
5216 gtk_container_add(GTK_CONTAINER (*texts_ibox), frame); | 5238 gtk_container_add(GTK_CONTAINER (*texts_ibox), frame); |
5217 hbox = gtk_hbox_new(FALSE, 0); | 5239 mtd->textbox = gtk_text_view_new(); |
5218 gtk_container_add(GTK_CONTAINER (frame), hbox); | 5240 gtk_text_view_set_editable(GTK_TEXT_VIEW(mtd->textbox), TRUE); |
5219 mtd->textbox = gtk_text_new(NULL, NULL); | 5241 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(mtd->textbox), GTK_WRAP_WORD); |
5220 gtk_text_set_editable(GTK_TEXT(mtd->textbox), TRUE); | 5242 gtk_text_buffer_set_text( |
5221 gtk_text_set_word_wrap(GTK_TEXT(mtd->textbox), TRUE); | 5243 gtk_text_view_get_buffer(GTK_TEXT_VIEW(mtd->textbox)), |
5222 gtk_widget_set_usize(mtd->textbox, 300, 100); | 5244 mtd->text?mtd->text:"", -1); |
5223 gtk_text_insert(GTK_TEXT(mtd->textbox), NULL, NULL, NULL, mtd->text?mtd->text:"", -1); | 5245 gtk_container_add(GTK_CONTAINER (sw), mtd->textbox); |
5224 gtk_box_pack_start(GTK_BOX (hbox), mtd->textbox, FALSE, FALSE, 0); | |
5225 vscrollbar = gtk_vscrollbar_new (GTK_TEXT(mtd->textbox)->vadj); | |
5226 gtk_box_pack_start(GTK_BOX (hbox), vscrollbar, FALSE, FALSE, 0); | |
5227 gtk_widget_show(mtd->textbox); | 5246 gtk_widget_show(mtd->textbox); |
5228 gtk_widget_show (vscrollbar); | 5247 gtk_widget_show(sw); |
5229 gtk_widget_show(hbox); | |
5230 gtk_widget_show(frame); | 5248 gtk_widget_show(frame); |
5231 } | 5249 } |
5232 | 5250 |
5233 gtk_widget_show(*texts_ibox); | 5251 gtk_widget_show(*texts_ibox); |
5234 } | 5252 } |
5351 for(list = b->multi_text_items; list != NULL; list = list->next) { | 5369 for(list = b->multi_text_items; list != NULL; list = list->next) { |
5352 if(((MultiTextData *) list->data)->text != NULL) { | 5370 if(((MultiTextData *) list->data)->text != NULL) { |
5353 g_free(((MultiTextData *) list->data)->text); | 5371 g_free(((MultiTextData *) list->data)->text); |
5354 } | 5372 } |
5355 ((MultiTextData *) list->data)->text = | 5373 ((MultiTextData *) list->data)->text = |
5356 gtk_editable_get_chars((GtkEditable *) (((MultiTextData *) list->data)->textbox), | 5374 gtk_text_view_get_text(GTK_TEXT_VIEW(((MultiTextData *) list->data)->textbox), FALSE); |
5357 0, -1); | |
5358 } | 5375 } |
5359 | 5376 |
5360 | 5377 |
5361 tmp = b->custom(b); | 5378 tmp = b->custom(b); |
5362 | 5379 |