# HG changeset patch # User Sean Egan # Date 1030272684 0 # Node ID 8fa61405af2bd5bc29151bd88750a90008440ee5 # Parent ccbcc11a68c25c81dad62c1733cb89017dff6720 [gaim-migrate @ 3453] Who never commits anything *now*, Etan? I changed most of the error message text around. If you think any of it should be different, just let me know, or send a patch. committer: Tailor Script diff -r ccbcc11a68c2 -r 8fa61405af2b pixmaps/Makefile.am --- a/pixmaps/Makefile.am Sun Aug 25 06:08:15 2002 +0000 +++ b/pixmaps/Makefile.am Sun Aug 25 10:51:24 2002 +0000 @@ -46,6 +46,10 @@ free_icon.xpm \ gaim.png \ gaim.xpm \ + gaim_error.png \ + gaim_info.png \ + gaim_question.png \ + gaim_warning.png \ gg_suncloud.xpm \ gg_sunred.xpm \ gg_sunwhitered.xpm \ @@ -127,6 +131,9 @@ gaimbuttonpixdir = $(datadir)/pixmaps/gaim/buttons gaimbuttonpix_DATA = edit.png +gaimdialogpixdir = $(datadir)/pixmaps/gaim/dialogs +gaimdialogpix_DATA = gaim_error.png gaim_info.png gaim_question.png gaim_warning.png + gaimdistpixdir = $(datadir)/pixmaps/gaim gaimdistpix_DATA = away.png connect.png msgpend.png offline.png online.png diff -r ccbcc11a68c2 -r 8fa61405af2b pixmaps/gaim_error.png Binary file pixmaps/gaim_error.png has changed diff -r ccbcc11a68c2 -r 8fa61405af2b pixmaps/gaim_info.png Binary file pixmaps/gaim_info.png has changed diff -r ccbcc11a68c2 -r 8fa61405af2b pixmaps/gaim_question.png Binary file pixmaps/gaim_question.png has changed diff -r ccbcc11a68c2 -r 8fa61405af2b pixmaps/gaim_warning.png Binary file pixmaps/gaim_warning.png has changed diff -r ccbcc11a68c2 -r 8fa61405af2b plugins/notify.c --- a/plugins/notify.c Sun Aug 25 06:08:15 2002 +0000 +++ b/plugins/notify.c Sun Aug 25 10:51:24 2002 +0000 @@ -21,6 +21,7 @@ #include #include #include +#include guint choice = 1; #define NOTIFY_FOCUS 0x00000001 @@ -257,7 +258,7 @@ snprintf(buf, 1000, "%s/.gaim/.notify", getenv("HOME")); if (!(fp = fopen(buf, "w"))) { - do_error_dialog(_("Unable to write to config file"), _("Notify plugin")); + do_error_dialog(_("Unable to write notify plugin config file"), strerror(errno), GAIM_ERROR); return; } diff -r ccbcc11a68c2 -r 8fa61405af2b src/aim.c --- a/src/aim.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/aim.c Sun Aug 25 10:51:24 2002 +0000 @@ -159,7 +159,7 @@ const char *password = gtk_entry_get_text(GTK_ENTRY(pass)); if (!strlen(username)) { - do_error_dialog(_("Please enter your logon"), _("Signon Error")); + do_error_dialog(_("Please enter your login."), NULL, GAIM_ERROR); return; } diff -r ccbcc11a68c2 -r 8fa61405af2b src/buddy.c --- a/src/buddy.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/buddy.c Sun Aug 25 10:51:24 2002 +0000 @@ -1626,7 +1626,7 @@ (when & OPT_POUNCE_UNIDLE) ? "returned from being idle" : "returned from being away"); - do_error_dialog(tmp, _("Buddy Pounce")); + do_error_dialog(tmp, NULL, GAIM_INFO); } if (b->options & OPT_POUNCE_SEND_IM) { if (strlen(b->message) > 0) { diff -r ccbcc11a68c2 -r 8fa61405af2b src/buddy_chat.c --- a/src/buddy_chat.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/buddy_chat.c Sun Aug 25 10:51:24 2002 +0000 @@ -251,7 +251,7 @@ } if (gc == NULL) { do_error_dialog("You are not currently signed on with any protocols that have " - "the ability to chat.", "Unable to chat"); + "the ability to chat.", NULL, GAIM_ERROR); return; } diff -r ccbcc11a68c2 -r 8fa61405af2b src/conversation.c --- a/src/conversation.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/conversation.c Sun Aug 25 10:51:24 2002 +0000 @@ -1333,11 +1333,11 @@ if (err < 0) { if (err == -E2BIG) - do_error_dialog(_("Unable to send message: too large"), _("Message Error")); + do_error_dialog(_("Unable to send message. The message is too large"), NULL, GAIM_ERROR); else if (err == -ENOTCONN) debug_printf("Not yet connected\n"); else - do_error_dialog(_("Unable to send message: Unknown reason"), _("Message Error")); + do_error_dialog(_("Unable to send message"), NULL, GAIM_ERROR); } else { gtk_editable_delete_text(GTK_EDITABLE(c->entry), 0, -1); @@ -3478,7 +3478,7 @@ fwrite(data, 1, len, file); fclose(file); } else { - do_error_dialog("Can't open file for writing", "Error"); + do_error_dialog("Can't save icon file to disk", strerror(errno), GAIM_ERROR); } gtk_widget_destroy(c->save_icon); diff -r ccbcc11a68c2 -r 8fa61405af2b src/dialogs.c --- a/src/dialogs.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/dialogs.c Sun Aug 25 10:51:24 2002 +0000 @@ -551,55 +551,69 @@ /* The dialog for getting an error */ /*------------------------------------------------------------------------*/ -GtkWidget *do_error_dialog(char *message, char *title) +GtkWidget *do_error_dialog(char *primary, char *secondary, int type) { GtkWidget *d; GtkWidget *label; GtkWidget *close; GtkWidget *img = NULL; - /* -#if GTK_CHECK_VERSION(1,3,0) - char *filename; + GtkWidget *hbox; + char labeltext[1024 * 2]; + char *filename = NULL; + + /* These are the GTK stock dialog icons with our little Gaim logo on top. + * Inspired by the GIMP. */ switch (type){ case GAIM_LOGO: - filename = g_build_filename(DATADIR, "pixmaps", "gaim", "gaim.png", NULL); - break; - case GAIM_INFO: - filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_info.png", NULL); - break; - case GAIM_WARNING: - filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_warning.png", NULL); - break; - case GAIM_ERROR: - filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_error.png", NULL); - break; - case GAIM_QUESTION: - filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); - break; + filename = g_build_filename(DATADIR, "pixmaps", "gaim", "gaim.png", NULL); + break; + case GAIM_INFO: + filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_info.png", NULL); + break; + case GAIM_WARNING: + filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_warning.png", NULL); + break; + case GAIM_ERROR: + filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_error.png", NULL); + break; + /* case GAIM_QUESTION: + filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); + break; + */ + } + if (filename) { + img = gtk_image_new_from_file(filename); + gtk_misc_set_alignment(GTK_MISC(img), 0, 0); } - img = gtk_image_new_from_file(filename); -#endif - */ - - d = gtk_dialog_new(); - gtk_window_set_policy(GTK_WINDOW(d), FALSE, FALSE, TRUE); - gtk_widget_realize(d); - label = gtk_label_new(message); + d = gtk_dialog_new_with_buttons(NULL, NULL, GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT); + g_signal_connect(d, "response", G_CALLBACK(gtk_widget_destroy), NULL); + + gtk_container_set_border_width (GTK_CONTAINER(d), 6); + gtk_window_set_resizable(GTK_WINDOW(d), FALSE); + gtk_dialog_set_has_separator(GTK_DIALOG(d), FALSE); + gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(d)->vbox), 12); + gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(d)->vbox), 6); + + hbox = gtk_hbox_new(FALSE, 12); + gtk_container_add(GTK_CONTAINER(GTK_DIALOG(d)->vbox), hbox); + if (filename) { + gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); + } + gtk_widget_show(img); + + g_snprintf(labeltext, sizeof(labeltext), "%s\n\n%s", primary, secondary ? secondary : ""); + + label = gtk_label_new(NULL); + gtk_label_set_markup(GTK_LABEL(label), labeltext); gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_widget_show(label); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), label, FALSE, FALSE, 5); - - close = picture_button(d, _("Close"), cancel_xpm); - - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), close, FALSE, FALSE, 5); - - gtk_container_set_border_width(GTK_CONTAINER(d), 5); - gtk_window_set_title(GTK_WINDOW(d), title); - gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), d); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); + + gtk_widget_show(hbox); aol_icon(d->window); gtk_widget_show(d); - gtk_widget_grab_focus(close); return d; } @@ -1543,7 +1557,7 @@ struct buddy_pounce *bp; if (strlen(gtk_entry_get_text(GTK_ENTRY(b->nameentry))) == 0) { - do_error_dialog(_("Please enter a buddy to pounce."), _("Buddy Pounce Error")); + do_error_dialog(_("Please enter a buddy to pounce."), NULL, GAIM_ERROR); return; } @@ -2109,12 +2123,12 @@ new2 = gtk_entry_get_text(GTK_ENTRY(b->new2)); if (g_strcasecmp(new1, new2)) { - do_error_dialog(_("New Passwords Do Not Match"), _("Gaim - Change Password Error")); + do_error_dialog(_("New Passwords Do Not Match"), NULL, GAIM_ERROR); return; } if ((strlen(orig) < 1) || (strlen(new1) < 1) || (strlen(new2) < 1)) { - do_error_dialog(_("Fill out all fields completely"), _("Gaim - Change Password Error")); + do_error_dialog(_("Fill out all fields completely"), NULL, GAIM_ERROR); return; } @@ -3428,14 +3442,15 @@ { if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) { /* We shouldn't allow a blank title */ - do_error_dialog(_("You cannot create an away message with a blank title"), - _("Gaim - Error")); + do_error_dialog(_("You cannot save an away message with a blank title"), + _("Please give the message a title, or choose \"Make Away\" to use " + "without saving."), GAIM_ERROR); return 0; } if ((gtk_text_get_length(GTK_TEXT(ca->text)) == 0) && (type <= 1)) { /* We shouldn't allow a blank message */ - do_error_dialog(_("You cannot create an empty away message"), _("Gaim - Error")); + do_error_dialog(_("You cannot create an empty away message"), NULL, GAIM_ERROR); return 0; } @@ -3915,15 +3930,15 @@ if ((fp_new = fopen(path, "w")) == NULL) { g_snprintf(error, BUF_LONG, - "Can't open file %s for writing - %s", path, strerror(errno)); - do_error_dialog(error, "Error"); + _("Couldn't write to %s."), path); + do_error_dialog(error, strerror(errno), GAIM_ERROR); return; } if ((fp_old = fopen(filename, "r")) == NULL) { g_snprintf(error, BUF_LONG, - "Can't open file %s for reading - %s", filename, strerror(errno)); - do_error_dialog(error, "Error"); + _("Couldn't write to %s."), filename); + do_error_dialog(error, strerror(errno), GAIM_ERROR); fclose(fp_new); return; } @@ -3978,8 +3993,8 @@ g_free(tmp); if ((remove(filename)) == -1) { - g_snprintf(buf, 256, _("Unable to remove file %s - %s"), filename, strerror(errno)); - do_error_dialog(buf, _("Error")); + g_snprintf(buf, 256, _("Couldn't remove file %s." ), filename); + do_error_dialog(buf, strerror(errno), GAIM_ERROR); } window = gtk_object_get_user_data(GTK_OBJECT(w)); @@ -4054,8 +4069,8 @@ g_free(tmp); } if ((fp = fopen(filename, "r")) == NULL) { - g_snprintf(buf, BUF_LONG, "Unable to open log file %s", filename); - do_error_dialog(buf, "Error!"); + g_snprintf(buf, BUF_LONG, "Couldn't open log file %s.", filename); + do_error_dialog(buf, strerror(errno), GAIM_ERROR); return; } @@ -4185,8 +4200,8 @@ g_snprintf(filename, 256, "%s/logs/%s.log", tmp, normalize(name)); g_free(tmp); if ((fp = fopen(filename, "r")) == NULL) { - g_snprintf(buf, BUF_LONG, "Unable to open log file %s", filename); - do_error_dialog(buf, "Error!"); + g_snprintf(buf, BUF_LONG, "Couldn't open log file %s", filename); + do_error_dialog(buf, strerror(errno), GAIM_ERROR); return; } @@ -4603,8 +4618,7 @@ gdk_window_set_group(w, mainwindow->window); #endif } - -#if GTK_CHECK_VERSION(1,3,0) + GtkWidget *pixbuf_button(char *text, char *iconfile) { GtkWidget *button, *image, *label, *bbox; @@ -4628,7 +4642,7 @@ gtk_widget_show_all(bbox); return button; } -#endif + GtkWidget *picture_button(GtkWidget *window, char *text, char **xpm) { diff -r ccbcc11a68c2 -r 8fa61405af2b src/gaim.h --- a/src/gaim.h Sun Aug 25 06:08:15 2002 +0000 +++ b/src/gaim.h Sun Aug 25 10:51:24 2002 +0000 @@ -348,7 +348,7 @@ /* Functions in dialogs.c */ extern void g_show_info_text(struct gaim_connection *, char *, int, char *, ...); -extern GtkWidget *do_error_dialog(char *, char *); +extern GtkWidget *do_error_dialog(char *, char *, int type); extern void show_change_passwd(struct gaim_connection *); extern void show_set_dir(struct gaim_connection *); extern void show_find_email(struct gaim_connection *); diff -r ccbcc11a68c2 -r 8fa61405af2b src/gaimrc.c --- a/src/gaimrc.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/gaimrc.c Sun Aug 25 10:51:24 2002 +0000 @@ -1139,7 +1139,7 @@ fclose(f); } else if (opt_rcfile_arg) { g_snprintf(buf, sizeof(buf), _("Could not open config file %s."), opt_rcfile_arg); - do_error_dialog(buf, _("Preferences Error")); + do_error_dialog(buf, NULL, GAIM_ERROR); set_defaults(); } else { set_defaults(); diff -r ccbcc11a68c2 -r 8fa61405af2b src/module.c --- a/src/module.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/module.c Sun Aug 25 10:51:24 2002 +0000 @@ -103,13 +103,13 @@ plug->handle = g_module_open(filename, 0); if (!plug->handle) { error = (char *)g_module_error(); - do_error_dialog(error, _("Plugin Error")); + do_error_dialog(_("Gaim was unable to load your plugin."), error, GAIM_ERROR); g_free(plug); return NULL; } if (!g_module_symbol(plug->handle, "gaim_plugin_init", (gpointer *)&gaim_plugin_init)) { - do_error_dialog(g_module_error(), _("Plugin Error")); + do_error_dialog(_("Gaim was unable to load your plugin."), g_module_error(), GAIM_ERROR); g_module_close(plug->handle); g_free(plug); return NULL; @@ -119,7 +119,7 @@ debug_printf("loaded plugin returned %s\n", retval ? retval : "NULL"); if (retval) { plugin_remove_callbacks(plug->handle); - do_error_dialog(retval, _("Plugin Error")); + do_error_dialog("Gaim was unable to load your plugin.", retval, GAIM_ERROR); g_module_close(plug->handle); g_free(plug); return NULL; diff -r ccbcc11a68c2 -r 8fa61405af2b src/multi.c --- a/src/multi.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/multi.c Sun Aug 25 10:51:24 2002 +0000 @@ -945,15 +945,17 @@ signoff(u->gc); } else { if (u->protocol == PROTO_TOC) - do_error_dialog(_("You have attempted to login an IM account using the " + do_error_dialog(_("TOC not found."), + _("You have attempted to login an IM account using the " "TOC protocol. Because this protocol is inferior to " "OSCAR, it is now compiled as a plugin by default. " "To login, edit this account to use OSCAR or load the " - "TOC plugin."), _("Login Error")); + "TOC plugin."), GAIM_ERROR); else - do_error_dialog(_("You cannot log this account in; you do not have " + do_error_dialog(_("Protocol not found."), + _("You cannot log this account in; you do not have " "the protocol it uses loaded, or the protocol does " - "not have a login function."), _("Login Error")); + "not have a login function."), GAIM_ERROR); } l = l->next; } @@ -1389,7 +1391,7 @@ gtk_widget_destroy(k->dlg); k = g_new0(struct kick_dlg, 1); k->user = gc->user; - k->dlg = do_error_dialog(buf, title); + k->dlg = do_error_dialog(title, buf, GAIM_ERROR); kicks = g_slist_append(kicks, k); gtk_signal_connect(GTK_OBJECT(k->dlg), "destroy", GTK_SIGNAL_FUNC(set_kick_null), k); if (meter) { diff -r ccbcc11a68c2 -r 8fa61405af2b src/perl.c --- a/src/perl.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/perl.c Sun Aug 25 10:51:24 2002 +0000 @@ -410,7 +410,7 @@ title = SvPV(ST(0), junk); message = SvPV(ST(1), junk); - do_error_dialog(message, title); + do_error_dialog(message, NULL, GAIM_INFO); XSRETURN(0); } @@ -876,7 +876,7 @@ s = s->next; } - do_error_dialog(buf, _("Perl Scripts")); + do_error_dialog(buf, NULL, GAIM_INFO); } #endif /* USE_PERL */ diff -r ccbcc11a68c2 -r 8fa61405af2b src/prefs.c --- a/src/prefs.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/prefs.c Sun Aug 25 10:51:24 2002 +0000 @@ -83,7 +83,6 @@ #endif char fontface[128]; - GtkWidget *prefs_away_list = NULL; GtkWidget *prefs_away_menu = NULL; GtkWidget *preftree = NULL; @@ -104,7 +103,7 @@ GtkCTreeNode *deny_node = NULL; GtkWidget *prefs_proxy_frame = NULL; static GtkWidget *gaim_button(const char *, guint *, int, GtkWidget *); -GtkWidget *gaim_labeled_spin_button(GtkWidget *, const gchar *, int*, int, int); +GtkWidget *gaim_labeled_spin_button(GtkWidget *, const gchar *, int*, int, int, GtkSizeGroup *); static GtkWidget *gaim_dropdown(GtkWidget *, const gchar *, int *, int, ...); static GtkWidget *show_color_pref(GtkWidget *, gboolean); static void delete_prefs(GtkWidget *, void *); @@ -170,6 +169,26 @@ } +static GtkWidget *make_frame(GtkWidget *ret, char *text) { + GtkWidget *vbox, *label, *hbox; + char labeltext[256]; + + vbox = gtk_vbox_new(FALSE, 6); + gtk_box_pack_start(GTK_BOX(ret), vbox, FALSE, FALSE, 0); + label = gtk_label_new(NULL); + g_snprintf(labeltext, sizeof(labeltext), "%s", text); + gtk_label_set_markup(GTK_LABEL(label), labeltext); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0); + gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); + hbox = gtk_hbox_new(FALSE, 6); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + label = gtk_label_new(" "); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); + vbox = gtk_vbox_new(FALSE, 6); + gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); + return vbox; +} + /* OK, Apply and Cancel */ static void apply_cb(GtkWidget *button, void *data) @@ -229,560 +248,370 @@ apply_cb(button, data); gtk_widget_destroy(prefs); } -#if GTK_CHECK_VERSION(1,3,0) + static void pref_nb_select(GtkTreeSelection *sel, GtkNotebook *nb) { GtkTreeIter iter; + char text[128]; GValue val = { 0, }; GtkTreeModel *model = GTK_TREE_MODEL(prefstree); if (! gtk_tree_selection_get_selected (sel, &model, &iter)) return; gtk_tree_model_get_value (model, &iter, 1, &val); - gtk_label_set_text (GTK_LABEL(preflabel), g_value_get_string (&val)); + g_snprintf(text, sizeof(text), "%s", + g_value_get_string(&val)); + gtk_label_set_markup (GTK_LABEL(preflabel), text); g_value_unset (&val); gtk_tree_model_get_value (model, &iter, 2, &val); gtk_notebook_set_current_page (GTK_NOTEBOOK (prefsnotebook), g_value_get_int (&val)); } -#else -static void pref_nb_select(GtkCTree *ctree, GtkCTreeNode *node, gint column, GtkNotebook *nb) { - char *text; - gtk_ctree_get_node_info(GTK_CTREE(ctree), node, &text, NULL, NULL, NULL, NULL, NULL, NULL, NULL); - gtk_label_set_text (GTK_LABEL(preflabel), text); - gtk_notebook_set_page (GTK_NOTEBOOK (prefsnotebook), gtk_ctree_node_get_row_data(GTK_CTREE(ctree), node)); -} -#endif /* GTK_CHECK_VERSION */ /* These are the pages in the preferences notebook */ GtkWidget *interface_page() { GtkWidget *ret; GtkWidget *frame; GtkWidget *vbox; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); - - /* All the pages are pretty similar--a vbox packed with frames... */ - frame = gtk_frame_new (_("Windows")); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); - /* And a vbox in each frame */ - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - - /* These shouldn't have to wait for user to click OK or APPLY or whatnot */ - /* They really shouldn't be in preferences at all */ - debugbutton = gaim_button(_("Show Debug Window"), &misc_options, OPT_MISC_DEBUG, vbox); - gtk_widget_show (vbox); + vbox = make_frame(ret, _("Interface Options")); + /* This shouldn't have to wait for user to click OK or APPLY or whatnot */ + /* This really shouldn't be in preferences at all */ + debugbutton = gaim_button(_("Show _Debug Window"), &misc_options, OPT_MISC_DEBUG, vbox); - frame = gtk_frame_new (_("Style")); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Use borderless buttons"), &misc_options_new, OPT_MISC_COOL_LOOK, vbox); - gtk_widget_show (vbox); - - gtk_widget_show(ret); + gaim_button(_("Use _borderless buttons"), &misc_options_new, OPT_MISC_COOL_LOOK, vbox); + + gtk_widget_show_all(ret); return ret; } GtkWidget *font_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *button; GtkWidget *vbox, *hbox; GtkWidget *select = NULL; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); - - frame = gtk_frame_new (_("Style")); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); + GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); + + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Bold"), &font_options_new, OPT_FONT_BOLD, vbox); - gaim_button(_("Italics"), &font_options_new, OPT_FONT_ITALIC, vbox); - gaim_button(_("Underline"), &font_options_new, OPT_FONT_UNDERLINE, vbox); - gaim_button(_("Strikethough"), &font_options_new, OPT_FONT_STRIKE, vbox); - gtk_widget_show (vbox); - + vbox = make_frame(ret, _("Style")); + gaim_button(_("_Bold"), &font_options_new, OPT_FONT_BOLD, vbox); + gaim_button(_("_Italics"), &font_options_new, OPT_FONT_ITALIC, vbox); + gaim_button(_("_Underline"), &font_options_new, OPT_FONT_UNDERLINE, vbox); + gaim_button(_("_Strikethough"), &font_options_new, OPT_FONT_STRIKE, vbox); + + vbox = make_frame(ret, _("Face")); + hbox = gtk_hbox_new(FALSE, 6); + gtk_container_add(GTK_CONTAINER(vbox), hbox); + button = gaim_button(_("Use custo_m face"), &font_options_new, OPT_FONT_FACE, hbox); + gtk_size_group_add_widget(sg, button); + select = gtk_button_new_from_stock(GTK_STOCK_SELECT_FONT); - frame = gtk_frame_new (_("Face")); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - hbox = gtk_hbox_new(FALSE, 5); - gtk_container_add(GTK_CONTAINER(vbox), hbox); - button = gaim_button(_("Use custom face"), &font_options_new, OPT_FONT_FACE, hbox); -#if GTK_CHECK_VERSION(1,3,0) - select = gtk_button_new_from_stock(GTK_STOCK_SELECT_FONT); -#else - select = picture_button(prefs, _("Select"), fontface2_xpm); -#endif if (!(font_options_new & OPT_FONT_FACE)) gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select); gtk_signal_connect(GTK_OBJECT(select), "clicked", GTK_SIGNAL_FUNC(show_font_dialog), NULL); gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 0); - if (misc_options & OPT_MISC_COOL_LOOK) - gtk_button_set_relief(GTK_BUTTON(select), GTK_RELIEF_NONE); - gtk_widget_show(select); - gtk_widget_show(hbox); hbox = gtk_hbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(vbox), hbox); - button = gaim_button(_("Use custom size"), &font_options_new, OPT_FONT_SIZE, hbox); - select = gaim_labeled_spin_button(hbox, NULL, &fontsize_new, 1, 7); + button = gaim_button(_("Use custom si_ze"), &font_options_new, OPT_FONT_SIZE, hbox); + gtk_size_group_add_widget(sg, button); + select = gaim_labeled_spin_button(hbox, NULL, &fontsize_new, 1, 7, NULL); if (!(font_options_new & OPT_FONT_SIZE)) gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select); - gtk_widget_show(hbox); - gtk_widget_show (vbox); - - frame = gtk_frame_new ("Color"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); + vbox = make_frame(ret, _("Color")); hbox = gtk_hbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(vbox), hbox); + + button = gaim_button(_("_Text color"), &font_options_new, OPT_FONT_FGCOL, hbox); + gtk_size_group_add_widget(sg, button); + + select = gtk_button_new_from_stock(GTK_STOCK_SELECT_COLOR); + gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 0); pref_fg_picture = show_color_pref(hbox, TRUE); - button = gaim_button(_("Text color"), &font_options_new, OPT_FONT_FGCOL, hbox); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_color), pref_fg_picture); - -#if GTK_CHECK_VERSION(1,3,0) - select = gtk_button_new_from_stock(GTK_STOCK_SELECT_COLOR); -#else - select = picture_button(prefs, _("Select"), fgcolor_xpm); -#endif + if (!(font_options_new & OPT_FONT_FGCOL)) gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select); gtk_signal_connect(GTK_OBJECT(select), "clicked", GTK_SIGNAL_FUNC(show_fgcolor_dialog), NULL); - gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 0); - if (misc_options & OPT_MISC_COOL_LOOK) - gtk_button_set_relief(GTK_BUTTON(select), GTK_RELIEF_NONE); - gtk_widget_show(select); - gtk_widget_show(hbox); - hbox = gtk_hbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(vbox), hbox); + + button = gaim_button(_("Bac_kground color"), &font_options_new, OPT_FONT_BGCOL, hbox); + gtk_size_group_add_widget(sg, button); + select = gtk_button_new_from_stock(GTK_STOCK_SELECT_COLOR); + gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 0); pref_bg_picture = show_color_pref(hbox, FALSE); - button = gaim_button(_("Background color"), &font_options_new, OPT_FONT_BGCOL, hbox); - gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_color), + gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_color), pref_bg_picture); -#if GTK_CHECK_VERSION(1,3,0) - select = gtk_button_new_from_stock(GTK_STOCK_SELECT_COLOR); -#else - select = picture_button(prefs, _("Select"), bgcolor_xpm); -#endif if (!(font_options_new & OPT_FONT_BGCOL)) gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE); gtk_signal_connect(GTK_OBJECT(select), "clicked", GTK_SIGNAL_FUNC(show_bgcolor_dialog), NULL); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select); - gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 0); - if (misc_options & OPT_MISC_COOL_LOOK) - gtk_button_set_relief(GTK_BUTTON(select), GTK_RELIEF_NONE); - gtk_widget_show(select); - gtk_widget_show(hbox); - gtk_widget_show (vbox); - - gtk_widget_show(ret); + gtk_widget_show_all(ret); return ret; } GtkWidget *messages_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *vbox; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); - - frame = gtk_frame_new ("Display"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Show graphical smileys"), &convo_options_new, OPT_CONVO_SHOW_SMILEY, vbox); - gaim_button(_("Show timestamp on messages"), &convo_options_new, OPT_CONVO_SHOW_TIME, vbox); - gaim_button(_("Show URLs as links"), &convo_options_new, OPT_CONVO_SEND_LINKS, vbox); - gaim_button(_("Highlight misspelled words"), &convo_options_new, OPT_CONVO_CHECK_SPELLING, vbox); - gtk_widget_show (vbox); - - - frame = gtk_frame_new ("Ignore"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Ignore colors"), &convo_options_new, OPT_CONVO_IGNORE_COLOUR, vbox); - gaim_button(_("Ignore font faces"), &convo_options_new, OPT_CONVO_IGNORE_FONTS, vbox); - gaim_button(_("Ignore font sizes"), &convo_options_new, OPT_CONVO_IGNORE_SIZES, vbox); - gaim_button(_("Ignore TiK Automated Messages"), &away_options_new, OPT_AWAY_TIK_HACK, vbox); - gtk_widget_show (vbox); - - gtk_widget_show(ret); + vbox = make_frame (ret, _("Display")); + gaim_button(_("Show graphical _smileys"), &convo_options_new, OPT_CONVO_SHOW_SMILEY, vbox); + gaim_button(_("Show _timestamp on messages"), &convo_options_new, OPT_CONVO_SHOW_TIME, vbox); + gaim_button(_("Show _URLs as links"), &convo_options_new, OPT_CONVO_SEND_LINKS, vbox); + gaim_button(_("_Highlight misspelled words"), &convo_options_new, OPT_CONVO_CHECK_SPELLING, vbox); + + vbox = make_frame (ret, _("Ignore")); + gaim_button(_("Ignore c_olors"), &convo_options_new, OPT_CONVO_IGNORE_COLOUR, vbox); + gaim_button(_("Ignore font _faces"), &convo_options_new, OPT_CONVO_IGNORE_FONTS, vbox); + gaim_button(_("Ignore font si_zes"), &convo_options_new, OPT_CONVO_IGNORE_SIZES, vbox); + gaim_button(_("Ignore Ti_K Automated Messages"), &away_options_new, OPT_AWAY_TIK_HACK, vbox); + + gtk_widget_show_all(ret); return ret; } GtkWidget *hotkeys_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *vbox; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); - - frame = gtk_frame_new ("Send Message"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Enter sends message"), &convo_options_new, OPT_CONVO_ENTER_SENDS, vbox); - gaim_button(_("Control-Enter sends message"), &convo_options_new, OPT_CONVO_CTL_ENTER, vbox); - gtk_widget_show (vbox); - - frame = gtk_frame_new ("Window Closing"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Escape closes window"), &convo_options_new, OPT_CONVO_ESC_CAN_CLOSE, vbox); - gaim_button(_("Control-W closes window"), &convo_options_new, OPT_CONVO_CTL_W_CLOSES, vbox); - gtk_widget_show (vbox); - + vbox = make_frame(ret, _("Send Message")); + gaim_button(_("_Enter sends message"), &convo_options_new, OPT_CONVO_ENTER_SENDS, vbox); + gaim_button(_("C_ontrol-Enter sends message"), &convo_options_new, OPT_CONVO_CTL_ENTER, vbox); + + vbox = make_frame (ret, _("Window Closing")); + gaim_button(_("E_scape closes window"), &convo_options_new, OPT_CONVO_ESC_CAN_CLOSE, vbox); + gaim_button(_("Control-_W closes window"), &convo_options_new, OPT_CONVO_CTL_W_CLOSES, vbox); - frame = gtk_frame_new ("Insertions"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); + vbox = make_frame(ret, "Insertions"); + gaim_button(_("Control-{B/I/U/S} inserts _HTML tags"), &convo_options_new, OPT_CONVO_CTL_CHARS, vbox); + gaim_button(_("Control-(number) inserts _smileys"), &convo_options_new, OPT_CONVO_CTL_SMILEYS, vbox); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Control-{B/I/U/S} inserts HTML tags"), &convo_options_new, OPT_CONVO_CTL_CHARS, vbox); - gaim_button(_("Control-(number) inserts smileys"), &convo_options_new, OPT_CONVO_CTL_SMILEYS, vbox); - gtk_widget_show (vbox); - - gtk_widget_show(ret); + gtk_widget_show_all(ret); return ret; } GtkWidget *list_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *vbox; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); - frame = gtk_frame_new ("Buttons"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Hide IM/Info/Chat buttons"), &blist_options_new, OPT_BLIST_NO_BUTTONS, vbox); - gaim_button(_("Show pictures on buttons"), &blist_options_new, OPT_BLIST_SHOW_BUTTON_XPM, vbox); - gtk_widget_show (vbox); + vbox = make_frame (ret, _("Buttons")); + gaim_button(_("_Hide IM/Info/Chat buttons"), &blist_options_new, OPT_BLIST_NO_BUTTONS, vbox); + gaim_button(_("Show _pictures on buttons"), &blist_options_new, OPT_BLIST_SHOW_BUTTON_XPM, vbox); + vbox = make_frame (ret, _("Buddy List Window")); + gaim_button(_("_Save Window Size/Position"), &blist_options_new, OPT_BLIST_SAVED_WINDOWS, vbox); + gaim_button(_("_Raise Window on Events"), &blist_options_new, OPT_BLIST_POPUP, vbox); - frame = gtk_frame_new ("Buddy List Window"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); -#ifdef USE_APPLET - gaim_button(_("Automatically show buddy list on sign on"), &blist_options_new, - OPT_BLIST_APP_BUDDY_SHOW, vbox); - gaim_button(_("Display Buddy List near applet"), &blist_options_new, OPT_BLIST_NEAR_APPLET, vbox); - -#endif - gaim_button(_("Save Window Size/Position"), &blist_options_new, OPT_BLIST_SAVED_WINDOWS, vbox); - gaim_button(_("Raise Window on Events"), &blist_options_new, OPT_BLIST_POPUP, vbox); - gtk_widget_show(vbox); - + vbox = make_frame (ret, _("Group Display")); + gaim_button(_("Hide _groups with no online buddies"), &blist_options_new, OPT_BLIST_NO_MT_GRP, vbox); + gaim_button(_("Show _numbers in groups"), &blist_options_new, OPT_BLIST_SHOW_GRPNUM, vbox); - frame = gtk_frame_new ("Group Display"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Hide groups with no online buddies"), &blist_options_new, OPT_BLIST_NO_MT_GRP, vbox); - gaim_button(_("Show numbers in groups"), &blist_options_new, OPT_BLIST_SHOW_GRPNUM, vbox); - gtk_widget_show(vbox); - + vbox = make_frame (ret, _("Buddy Display")); + gaim_button(_("Show buddy type _icons"), &blist_options_new, OPT_BLIST_SHOW_PIXMAPS, vbox); + gaim_button(_("Show _warning levels"), &blist_options_new, OPT_BLIST_SHOW_WARN, vbox); + gaim_button(_("Show idle _times"), &blist_options_new, OPT_BLIST_SHOW_IDLETIME, vbox); + gaim_button(_("Grey i_dle buddies"), &blist_options_new, OPT_BLIST_GREY_IDLERS, vbox); - frame = gtk_frame_new ("Buddy Display"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Show buddy type icons"), &blist_options_new, OPT_BLIST_SHOW_PIXMAPS, vbox); - gaim_button(_("Show warning levels"), &blist_options_new, OPT_BLIST_SHOW_WARN, vbox); - gaim_button(_("Show idle times"), &blist_options_new, OPT_BLIST_SHOW_IDLETIME, vbox); - gaim_button(_("Grey idle buddies"), &blist_options_new, OPT_BLIST_GREY_IDLERS, vbox); - gtk_widget_show(vbox); - - - - gtk_widget_show (vbox); - - gtk_widget_show(ret); + gtk_widget_show_all(ret); return ret; } GtkWidget *im_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *vbox; - GtkWidget *typingbutton; - - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); + GtkWidget *typingbutton, *widge; + GtkSizeGroup *sg; - frame = gtk_frame_new ("Window"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_dropdown(vbox, "Show buttons as:", &im_options_new, OPT_IM_BUTTON_TEXT | OPT_IM_BUTTON_XPM, + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); + + sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); + + vbox = make_frame (ret, _("Window")); + widge = gaim_dropdown(vbox, "Show _buttons as:", &im_options_new, OPT_IM_BUTTON_TEXT | OPT_IM_BUTTON_XPM, "Pictures", OPT_IM_BUTTON_XPM, "Text", OPT_IM_BUTTON_TEXT, "Pictures and text", OPT_IM_BUTTON_XPM | OPT_IM_BUTTON_TEXT, NULL); - gaim_labeled_spin_button(vbox, _("New window width:"), &conv_size_new.width, 25, 9999); - gaim_labeled_spin_button(vbox, _("New window height:"), &conv_size_new.height, 25, 9999); - gaim_labeled_spin_button(vbox, _("Entry widget height:"), &conv_size_new.entry_height, 25, 9999); - gaim_button(_("Raise windows on events"), &im_options_new, OPT_IM_POPUP, vbox); - gaim_button(_("Hide window on send"), &im_options_new, OPT_IM_POPDOWN, vbox); + gtk_size_group_add_widget(sg, widge); + gtk_misc_set_alignment(GTK_MISC(widge), 0, 0); + gaim_labeled_spin_button(vbox, _("New window _width:"), &conv_size_new.width, 25, 9999, sg); + gaim_labeled_spin_button(vbox, _("New window _height:"), &conv_size_new.height, 25, 9999, sg); + gaim_labeled_spin_button(vbox, _("_Entry widget height:"), &conv_size_new.entry_height, 25, 9999, sg); + gaim_button(_("_Raise windows on events"), &im_options_new, OPT_IM_POPUP, vbox); + gaim_button(_("Hide window on _send"), &im_options_new, OPT_IM_POPDOWN, vbox); gtk_widget_show (vbox); - - frame = gtk_frame_new ("Buddy Icons"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Hide Buddy Icons"), &im_options_new, OPT_IM_HIDE_ICONS, vbox); - gaim_button(_("Disable Buddy Icon Animation"), &im_options_new, OPT_IM_NO_ANIMATION, vbox); - gtk_widget_show(vbox); - + vbox = make_frame (ret, _("Buddy Icons")); + gaim_button(_("Hide Buddy _Icons"), &im_options_new, OPT_IM_HIDE_ICONS, vbox); + gaim_button(_("Disable Buddy Icon A_nimation"), &im_options_new, OPT_IM_NO_ANIMATION, vbox); - frame = gtk_frame_new ("Display"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Show logins in window"), &im_options_new, OPT_IM_LOGON, vbox); - gtk_widget_show(vbox); - + vbox = make_frame (ret, _("Display")); + gaim_button(_("Show _logins in window"), &im_options_new, OPT_IM_LOGON, vbox); - frame = gtk_frame_new ("Typing Notification"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - typingbutton = gaim_button(_("Notify buddies that you are typing to them"), &misc_options_new, + vbox = make_frame (ret, _("Typing Notification")); + typingbutton = gaim_button(_("Notify buddies that you are _typing to them"), &misc_options_new, OPT_MISC_STEALTH_TYPING, vbox); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(typingbutton), !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(typingbutton))); misc_options_new ^= OPT_MISC_STEALTH_TYPING; - gtk_widget_show(vbox); - - - gtk_widget_show (vbox); - - gtk_widget_show(ret); + gtk_widget_show_all(ret); return ret; } GtkWidget *chat_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *vbox; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); + GtkWidget *dd; + GtkSizeGroup *sg; - frame = gtk_frame_new ("Window"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_dropdown(vbox, "Show buttons as:", &chat_options_new, OPT_CHAT_BUTTON_TEXT | OPT_CHAT_BUTTON_XPM, - "Pictures", OPT_CHAT_BUTTON_XPM, - "Text", OPT_CHAT_BUTTON_TEXT, - "Pictures and Text", OPT_CHAT_BUTTON_XPM | OPT_CHAT_BUTTON_TEXT, NULL); - gaim_labeled_spin_button(vbox, _("New window width:"), &buddy_chat_size_new.width, 25, 9999); - gaim_labeled_spin_button(vbox, _("New window height:"), &buddy_chat_size_new.height, 25, 9999); - gaim_labeled_spin_button(vbox, _("Entry widget height:"), &buddy_chat_size_new.entry_height, 25, 9999); - gaim_button(_("Raise windows on events"), &chat_options_new, OPT_CHAT_POPUP, vbox); - gtk_widget_show (vbox); - + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); + + sg = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); - frame = gtk_frame_new ("Tab Completion"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Tab-Complete Nicks"), &chat_options_new, OPT_CHAT_TAB_COMPLETE, vbox); - gaim_button(_("Old-Style Tab Completion"), &chat_options_new, OPT_CHAT_OLD_STYLE_TAB, vbox); - gtk_widget_show(vbox); - + vbox = make_frame (ret, _("Window")); + dd = gaim_dropdown(vbox, "Show _buttons as:", &chat_options_new, OPT_CHAT_BUTTON_TEXT | OPT_CHAT_BUTTON_XPM, + "Pictures", OPT_CHAT_BUTTON_XPM, + "Text", OPT_CHAT_BUTTON_TEXT, + "Pictures and Text", OPT_CHAT_BUTTON_XPM | OPT_CHAT_BUTTON_TEXT, NULL); + gtk_size_group_add_widget(sg, dd); + gtk_misc_set_alignment(GTK_MISC(dd), 0, 0); + gaim_labeled_spin_button(vbox, _("New window _width:"), &buddy_chat_size_new.width, 25, 9999, sg); + gaim_labeled_spin_button(vbox, _("New window _height:"), &buddy_chat_size_new.height, 25, 9999, sg); + gaim_labeled_spin_button(vbox, _("_Entry widget height:"), &buddy_chat_size_new.entry_height, 25, 9999, sg); + gaim_button(_("_Raise windows on events"), &chat_options_new, OPT_CHAT_POPUP, vbox); - frame = gtk_frame_new ("Display"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Show people joining/leaving in window"), &chat_options_new, OPT_CHAT_LOGON, vbox); - gaim_button(_("Colorize screennames"), &chat_options_new, OPT_CHAT_COLORIZE, vbox); - gtk_widget_show(vbox); - - gtk_widget_show(ret); + vbox = make_frame (ret, _("Tab Completion")); + gaim_button(_("_Tab-Complete Nicks"), &chat_options_new, OPT_CHAT_TAB_COMPLETE, vbox); + gaim_button(_("_Old-Style Tab Completion"), &chat_options_new, OPT_CHAT_OLD_STYLE_TAB, vbox); + + vbox = make_frame (ret, _("Display")); + gaim_button(_("_Show people joining/leaving in window"), &chat_options_new, OPT_CHAT_LOGON, vbox); + gaim_button(_("Co_lorize screennames"), &chat_options_new, OPT_CHAT_COLORIZE, vbox); + + gtk_widget_show_all(ret); return ret; } GtkWidget *tab_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *vbox; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); + GtkWidget *dd; + GtkSizeGroup *sg; + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); - frame = gtk_frame_new ("IM Tabs"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - - gaim_dropdown(vbox, "Tab Placement:", &im_options_new, OPT_IM_SIDE_TAB | OPT_IM_BR_TAB, + sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); + + vbox = make_frame (ret, _("IM Tabs")); + dd = gaim_dropdown(vbox, "Tab _Placement:", &im_options_new, OPT_IM_SIDE_TAB | OPT_IM_BR_TAB, "Top", 0, "Bottom", OPT_IM_BR_TAB, "Left", OPT_IM_SIDE_TAB, "Right", OPT_IM_BR_TAB | OPT_IM_SIDE_TAB, NULL); - gaim_button(_("Show all Instant Messages in one tabbed\nwindow"), &im_options_new, OPT_IM_ONE_WINDOW, vbox); - gaim_button(_("Show aliases in tabs/titles"), &im_options_new, OPT_IM_ALIAS_TAB, vbox); - gtk_widget_show (vbox); - + gtk_size_group_add_widget(sg, dd); + gaim_button(_("Show all _Instant Messages in one tabbed\nwindow"), &im_options_new, OPT_IM_ONE_WINDOW, vbox); + gaim_button(_("Show a_liases in tabs/titles"), &im_options_new, OPT_IM_ALIAS_TAB, vbox); - frame = gtk_frame_new ("Chat Tabs"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - - gaim_dropdown(vbox, "Tab Placement:", &chat_options_new, OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB, - "Top", 0, - "Bottom", OPT_CHAT_BR_TAB, - "Left", OPT_CHAT_SIDE_TAB, - "Right", OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB, NULL); - gaim_button(_("Show all chats in one tabbed window"), &chat_options_new, OPT_CHAT_ONE_WINDOW, + vbox = make_frame (ret, _("Chat Tabs")); + dd = gaim_dropdown(vbox, "Tab _Placement:", &chat_options_new, OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB, + "Top", 0, + "Bottom", OPT_CHAT_BR_TAB, + "Left", OPT_CHAT_SIDE_TAB, + "Right", OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB, NULL); + gtk_size_group_add_widget(sg, dd); + gaim_button(_("Show all c_hats in one tabbed window"), &chat_options_new, OPT_CHAT_ONE_WINDOW, vbox); - gtk_widget_show(vbox); - frame = gtk_frame_new ("Combined Tabs"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gtk_widget_show(vbox); - gaim_button(_("Show IMs and chats in same tabbed\nwindow."), &convo_options_new, OPT_CONVO_COMBINE, vbox); + vbox = make_frame (ret, _("Combined Tabs")); + gaim_button(_("Show IMs and chats in _same tabbed\nwindow."), &convo_options_new, OPT_CONVO_COMBINE, vbox); - frame = gtk_frame_new ("Buddy List Tabs"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - - gaim_dropdown(vbox, "Tab Placement:", &blist_options_new, OPT_BLIST_BOTTOM_TAB, + vbox = make_frame (ret, _("Buddy List Tabs")); + dd = gaim_dropdown(vbox, "Tab _Placement:", &blist_options_new, OPT_BLIST_BOTTOM_TAB, "Top", 0, "Bottom", OPT_BLIST_BOTTOM_TAB, NULL); - gtk_widget_show(vbox); - - gtk_widget_show(ret); + gtk_size_group_add_widget(sg, dd); + + gtk_widget_show_all(ret); return ret; } GtkWidget *proxy_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *vbox; GtkWidget *entry; GtkWidget *label; GtkWidget *hbox; GtkWidget *table; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); - frame = gtk_frame_new ("Proxy Type"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_dropdown(vbox, "Proxy Type:", &proxytype_new, -1, + vbox = make_frame (ret, _("Proxy Type")); + gaim_dropdown(vbox, "Proxy _Type:", &proxytype_new, -1, "No Proxy", PROXY_NONE, "SOCKS 4", PROXY_SOCKS4, "SOCKS 5", PROXY_SOCKS5, "HTTP", PROXY_HTTP, NULL); - gtk_widget_show (vbox); table = gtk_table_new(2, 2, FALSE); gtk_container_set_border_width(GTK_CONTAINER(table), 5); gtk_table_set_col_spacings(GTK_TABLE(table), 5); gtk_table_set_row_spacings(GTK_TABLE(table), 5); - gtk_widget_show(table); - frame = gtk_frame_new(_("Proxy Server")); - prefs_proxy_frame = frame; - - gtk_widget_show(frame); - gtk_box_pack_start(GTK_BOX(ret), frame, FALSE, FALSE, 5); + vbox = make_frame(ret, _("Proxy Server")); + prefs_proxy_frame = vbox; if (proxytype == PROXY_NONE) - gtk_widget_set_sensitive(GTK_WIDGET(frame), FALSE); + gtk_widget_set_sensitive(GTK_WIDGET(vbox), FALSE); table = gtk_table_new(2, 4, FALSE); gtk_container_set_border_width(GTK_CONTAINER(table), 5); gtk_table_set_col_spacings(GTK_TABLE(table), 5); gtk_table_set_row_spacings(GTK_TABLE(table), 10); - gtk_widget_show(table); - gtk_container_add(GTK_CONTAINER(frame), table); + gtk_container_add(GTK_CONTAINER(vbox), table); - label = gtk_label_new(_("Host")); + label = gtk_label_new_with_mnemonic(_("_Host")); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); - gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); entry = gtk_entry_new(); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(proxy_print_option), (void *)PROXYHOST); gtk_entry_set_text(GTK_ENTRY(entry), proxyhost); - gtk_widget_show(entry); hbox = gtk_hbox_new(TRUE, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - gtk_widget_show(hbox); - label = gtk_label_new(_("Port")); + label = gtk_label_new_with_mnemonic(_("Port")); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); - gtk_widget_show(label); entry = gtk_entry_new(); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 1, 2, GTK_FILL, 0, 0, 0); gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(proxy_print_option), (void *)PROXYPORT); @@ -792,142 +621,104 @@ g_snprintf(buf, sizeof(buf), "%d", proxyport); gtk_entry_set_text(GTK_ENTRY(entry), buf); } - gtk_widget_show(entry); - label = gtk_label_new(_("User")); + label = gtk_label_new_with_mnemonic(_("_User")); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, GTK_FILL, 0, 0, 0); - gtk_widget_show(label); entry = gtk_entry_new(); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 2, 3, GTK_FILL, 0, 0, 0); gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(proxy_print_option), (void *)PROXYUSER); gtk_entry_set_text(GTK_ENTRY(entry), proxyuser); - gtk_widget_show(entry); hbox = gtk_hbox_new(TRUE, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - gtk_widget_show(hbox); - label = gtk_label_new(_("Password")); + label = gtk_label_new_with_mnemonic(_("Pa_ssword")); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4, GTK_FILL, 0, 0, 0); - gtk_widget_show(label); entry = gtk_entry_new(); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 3, 4, GTK_FILL , 0, 0, 0); gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(proxy_print_option), (void *)PROXYPASS); gtk_entry_set_text(GTK_ENTRY(entry), proxypass); - gtk_widget_show(entry); - gtk_widget_show(ret); + gtk_widget_show_all(ret); return ret; } GtkWidget *browser_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *vbox, *hbox; GtkWidget *label; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); + GtkSizeGroup *sg; + + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); + + sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); - frame = gtk_frame_new ("Browser Selection"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_dropdown(vbox, "Browser", &web_browser_new, -1, - "Netscape", BROWSER_NETSCAPE, - "Konqueror", BROWSER_KONQ, - "Mozilla", BROWSER_MOZILLA, - "Manual", BROWSER_MANUAL, -#ifdef USE_GNOME - "GNOME URL Handler", BROWSER_GNOME, -#endif /* USE_GNOME */ - "Galeon", BROWSER_GALEON, - "Opera", BROWSER_OPERA, NULL); + vbox = make_frame (ret, _("Browser Selection")); + label = gaim_dropdown(vbox, "_Browser", &web_browser_new, -1, + "Netscape", BROWSER_NETSCAPE, + "Konqueror", BROWSER_KONQ, + "Mozilla", BROWSER_MOZILLA, + "Manual", BROWSER_MANUAL, + "Galeon", BROWSER_GALEON, + "Opera", BROWSER_OPERA, NULL); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0); + gtk_size_group_add_widget(sg, label); hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - label = gtk_label_new("Manual: "); + label = gtk_label_new_with_mnemonic("_Manual: "); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); - gtk_widget_show(label); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0); + gtk_size_group_add_widget(sg, label); browser_entry = gtk_entry_new(); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), browser_entry); if (web_browser_new != BROWSER_MANUAL) gtk_widget_set_sensitive(browser_entry, FALSE); gtk_box_pack_start (GTK_BOX (hbox), browser_entry, FALSE, FALSE, 0); - gtk_widget_show(browser_entry); - gtk_widget_show(hbox); - gtk_widget_show (vbox); - - frame = gtk_frame_new ("Browser Options"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Open new window by default"), &misc_options_new, OPT_MISC_BROWSER_POPUP, vbox); - gtk_widget_show(vbox); + vbox = make_frame (ret, _("Browser Options")); + gaim_button(_("Open new _window by default"), &misc_options_new, OPT_MISC_BROWSER_POPUP, vbox); - gtk_widget_show(ret); + gtk_widget_show_all(ret); return ret; } GtkWidget *logging_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *vbox; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); - frame = gtk_frame_new ("Message Logs"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Log all conversations"), &logging_options_new, OPT_LOG_ALL, vbox); - gaim_button(_("Strip HTML from logs"), &logging_options_new, OPT_LOG_STRIP_HTML, vbox); - gtk_widget_show (vbox); - + vbox = make_frame (ret, _("Message Logs")); + gaim_button(_("_Log all conversations"), &logging_options_new, OPT_LOG_ALL, vbox); + gaim_button(_("Strip _HTML from logs"), &logging_options_new, OPT_LOG_STRIP_HTML, vbox); - frame = gtk_frame_new ("System Logs"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Log when buddies sign on/sign off"), &logging_options_new, OPT_LOG_BUDDY_SIGNON, + vbox = make_frame (ret, _("System Logs")); + gaim_button(_("Log when buddies _sign on/sign off"), &logging_options_new, OPT_LOG_BUDDY_SIGNON, vbox); - gaim_button(_("Log when buddies become idle/un-idle"), &logging_options_new, OPT_LOG_BUDDY_IDLE, + gaim_button(_("Log when buddies become _idle/un-idle"), &logging_options_new, OPT_LOG_BUDDY_IDLE, vbox); - gaim_button(_("Log when buddies go away/come back"), &logging_options_new, OPT_LOG_BUDDY_AWAY, vbox); - gaim_button(_("Log your own signons/idleness/awayness"), &logging_options_new, OPT_LOG_MY_SIGNON, + gaim_button(_("Log when buddies go away/come _back"), &logging_options_new, OPT_LOG_BUDDY_AWAY, vbox); + gaim_button(_("Log your _own signons/idleness/awayness"), &logging_options_new, OPT_LOG_MY_SIGNON, vbox); - gaim_button(_("Individual log file for each buddy's signons"), &logging_options_new, + gaim_button(_("I_ndividual log file for each buddy's signons"), &logging_options_new, OPT_LOG_INDIVIDUAL, vbox); - gtk_widget_show(vbox); - gtk_widget_show(ret); + gtk_widget_show_all(ret); return ret; } static GtkWidget *sndcmd = NULL; -/* static void set_sound_driver(GtkWidget *w, int option) -{ - if (option == OPT_SOUND_CMD) - gtk_widget_set_sensitive(sndcmd, TRUE); - else - gtk_widget_set_sensitive(sndcmd, FALSE); - - sound_options &= ~(OPT_SOUND_NORMAL | OPT_SOUND_BEEP | - OPT_SOUND_NAS | OPT_SOUND_ARTSC | - OPT_SOUND_ESD | OPT_SOUND_CMD); - sound_options |= option; - save_prefs(); - } */ static gint sound_cmd_yeah(GtkEntry *entry, GdkEvent *event, gpointer d) { @@ -937,30 +728,22 @@ GtkWidget *sound_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *label; GtkWidget *vbox, *hbox; + GtkSizeGroup *sg; + GtkWidget *dd; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); - frame = gtk_frame_new ("Sound Options"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("No sounds when you log in"), &sound_options, OPT_SOUND_SILENT_SIGNON, vbox); - gaim_button(_("Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, vbox); - gtk_widget_show (vbox); + sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); + vbox = make_frame (ret, _("Sound Options")); + gaim_button(_("_No sounds when you log in"), &sound_options, OPT_SOUND_SILENT_SIGNON, vbox); + gaim_button(_("_Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, vbox); - frame = gtk_frame_new ("Sound Method"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - - gaim_dropdown(vbox, "Method", &sound_options_new, OPT_SOUND_BEEP | + vbox = make_frame (ret, _("Sound Method")); + dd = gaim_dropdown(vbox, "_Method", &sound_options_new, OPT_SOUND_BEEP | OPT_SOUND_ESD | OPT_SOUND_ARTSC | OPT_SOUND_NAS | OPT_SOUND_NORMAL | OPT_SOUND_CMD, "Console Beep", OPT_SOUND_BEEP, @@ -975,127 +758,99 @@ #endif /* NAS_SOUND */ "Internal", OPT_SOUND_NORMAL, "Command", OPT_SOUND_CMD, NULL); + gtk_size_group_add_widget(sg, dd); + gtk_misc_set_alignment(GTK_MISC(dd), 0, 0); - hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); - gtk_widget_show(hbox); - label = gtk_label_new("Sound Method"); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); - gtk_widget_show(label); - + hbox = gtk_hbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(vbox), hbox); - gtk_widget_show(hbox); - label = gtk_label_new(_("Sound command\n(%s for filename)")); + label = gtk_label_new_with_mnemonic(_("Sound c_ommand\n(%s for filename)")); + gtk_size_group_add_widget(sg, label); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); - gtk_widget_show(label); sndcmd = gtk_entry_new(); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), sndcmd); gtk_entry_set_editable(GTK_ENTRY(sndcmd), TRUE); gtk_entry_set_text(GTK_ENTRY(sndcmd), sound_cmd); -#if GTK_CHECK_VERSION(1,3,0) gtk_widget_set_size_request(sndcmd, 75, -1); -#else - gtk_widget_set_usize(sndcmd, 75, -1); -#endif + gtk_widget_set_sensitive(sndcmd, (sound_options_new & OPT_SOUND_CMD)); gtk_box_pack_start(GTK_BOX(hbox), sndcmd, TRUE, TRUE, 5); gtk_signal_connect(GTK_OBJECT(sndcmd), "focus_out_event", GTK_SIGNAL_FUNC(sound_cmd_yeah), NULL); - gtk_widget_show(sndcmd); - - gtk_widget_show(vbox); - - gtk_widget_show(ret); + gtk_widget_show_all(ret); return ret; } GtkWidget *away_page() { GtkWidget *ret; - GtkWidget *frame; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *label; GtkWidget *button; GtkWidget *select; + GtkWidget *dd; + GtkSizeGroup *sg; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); - frame = gtk_frame_new ("Away"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_button(_("Sending messages removes away status"), &away_options_new, OPT_AWAY_BACK_ON_IM, vbox); - gaim_button(_("Queue new messages when away"), &away_options_new, OPT_AWAY_QUEUE, vbox); - gaim_button(_("Ignore new conversations when away"), &away_options_new, OPT_AWAY_DISCARD, vbox); - gtk_widget_show (vbox); + sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); + vbox = make_frame (ret, _("Away")); + gaim_button(_("_Sending messages removes away status"), &away_options_new, OPT_AWAY_BACK_ON_IM, vbox); + gaim_button(_("_Queue new messages when away"), &away_options_new, OPT_AWAY_QUEUE, vbox); + gaim_button(_("_Ignore new conversations when away"), &away_options_new, OPT_AWAY_DISCARD, vbox); - frame = gtk_frame_new ("Auto-response"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - + vbox = make_frame (ret, _("Auto-response")); hbox = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(vbox), hbox); - gaim_labeled_spin_button(hbox, _("Seconds before resending:"), - &away_resend_new, 1, 24 * 60 * 60); - gtk_widget_show(hbox); - gaim_button(_("Don't send auto-response"), &away_options_new, OPT_AWAY_NO_AUTO_RESP, vbox); - gaim_button(_("Only send auto-response when idle"), &away_options_new, OPT_AWAY_IDLE_RESP, vbox); + gaim_labeled_spin_button(hbox, _("Seconds before _resending:"), + &away_resend_new, 1, 24 * 60 * 60, sg); + gaim_button(_("_Don't send auto-response"), &away_options_new, OPT_AWAY_NO_AUTO_RESP, vbox); + gaim_button(_("_Only send auto-response when idle"), &away_options_new, OPT_AWAY_IDLE_RESP, vbox); if (away_options_new & OPT_AWAY_NO_AUTO_RESP) gtk_widget_set_sensitive(hbox, FALSE); - gtk_widget_show(vbox); - - - frame = gtk_frame_new ("Idle"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - gaim_dropdown(vbox, "Idle Time Reporting:", &away_resend_new, -1, - "None", IDLE_NONE, - "Gaim Usage", IDLE_GAIM, + + vbox = make_frame (ret, _("Idle")); + dd = gaim_dropdown(vbox, "Idle _Time Reporting:", &away_resend_new, -1, + "None", IDLE_NONE, + "Gaim Usage", IDLE_GAIM, #ifdef USE_SCREENSAVER - "X Usage", IDLE_SCREENSAVER, + "X Usage", IDLE_SCREENSAVER, #endif - NULL); - gtk_widget_show(vbox); - - frame = gtk_frame_new ("Auto-away"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); + NULL); + gtk_size_group_add_widget(sg, dd); + gtk_misc_set_alignment(GTK_MISC(dd), 0, 0); - button = gaim_button(_("Set away when idle"), &away_options_new, OPT_AWAY_AUTO, vbox); - select = gaim_labeled_spin_button(vbox, "Minutes before setting away:", &auto_away_new, 1, 24 * 60); + vbox = make_frame (ret, _("Auto-away")); + button = gaim_button(_("Set away _when idle"), &away_options_new, OPT_AWAY_AUTO, vbox); + select = gaim_labeled_spin_button(vbox, "_Minutes before setting away:", &auto_away_new, 1, 24 * 60, sg); if (!(away_options_new & OPT_AWAY_AUTO)) gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select); - label = gtk_label_new("Away message:"); + label = gtk_label_new_with_mnemonic("Away m_essage:"); + gtk_size_group_add_widget(sg, label); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(vbox), hbox); - gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); - gtk_widget_show(label); prefs_away_menu = gtk_option_menu_new(); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), prefs_away_menu); if (!(away_options_new & OPT_AWAY_AUTO)) gtk_widget_set_sensitive(GTK_WIDGET(prefs_away_menu), FALSE); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), prefs_away_menu); default_away_menu_init(prefs_away_menu); gtk_widget_show(prefs_away_menu); gtk_box_pack_start(GTK_BOX(hbox), prefs_away_menu, FALSE, FALSE, 0); - gtk_widget_show (vbox); - gtk_widget_show(ret); + gtk_widget_show_all(ret); return ret; } @@ -1232,12 +987,8 @@ GtkWidget *sound_events_page() { GtkWidget *ret; - GtkWidget *frame; - GtkWidget *vbox; GtkWidget *sw; GtkWidget *button, *hbox; - -#if GTK_CHECK_VERSION(1,3,0) GtkTreeIter iter; GtkWidget *event_view; GtkListStore *event_store; @@ -1245,24 +996,14 @@ GtkTreeViewColumn *col; GtkTreeSelection *sel; GtkTreePath *path; -#else - GtkWidget *list; -#endif int j; - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); - frame = gtk_frame_new ("Sound Events"); - gtk_box_pack_start (GTK_BOX (ret), frame, TRUE, TRUE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); sw = gtk_scrolled_window_new(NULL,NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); - gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); - -#if GTK_CHECK_VERSION(1,3,0) + gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0); event_store = gtk_list_store_new (3, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_UINT); for (j=0; j < NUM_SOUNDS; j++) { @@ -1300,58 +1041,29 @@ "text", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col); - gtk_widget_show(event_view); g_object_unref(G_OBJECT(event_store)); gtk_container_add(GTK_CONTAINER(sw), event_view); -#else - list = gtk_clist_new(1); - for (j=0; sound_order[j] != 0; j++) { - if (sounds[sound_order[j]].opt == 0) - continue; - gtk_clist_append(GTK_CLIST(list), &(sounds[sound_order[j]].label)); - } - gtk_widget_show(list); - gtk_container_add(GTK_CONTAINER(sw), list); -#endif - - gtk_widget_show (vbox); - gtk_widget_show_all (ret); - frame = gtk_frame_new ("Event Options"); - gtk_box_pack_start (GTK_BOX (ret), frame, FALSE, FALSE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - - hbox = gtk_hbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - gtk_widget_show(hbox); + hbox = gtk_hbox_new(FALSE, 6); + gtk_box_pack_start(GTK_BOX(ret), hbox, FALSE, FALSE, 0); sound_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(sound_entry), sound_file_new[0] ? sound_file_new[0] : "(default)"); gtk_entry_set_editable(GTK_ENTRY(sound_entry), FALSE); gtk_box_pack_start(GTK_BOX(hbox), sound_entry, FALSE, FALSE, 5); - gtk_widget_show(sound_entry); - - hbox = gtk_hbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - gtk_widget_show(hbox); button = gtk_button_new_with_label(_("Test")); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(test_sound), NULL); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); button = gtk_button_new_with_label(_("Reset")); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(reset_sound), NULL); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); button = gtk_button_new_with_label(_("Choose...")); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(sel_sound), NULL); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); - gtk_widget_show (vbox); + gtk_widget_show_all (ret); return ret; } @@ -1441,41 +1153,32 @@ GtkWidget *away_message_page() { GtkWidget *ret; - GtkWidget *frame; - GtkWidget *vbox, *hbox; + GtkWidget *hbox; GtkWidget *button; GtkWidget *sw; - -#if GTK_CHECK_VERSION(1,3,0) GtkTreeIter iter; GtkWidget *event_view; GtkCellRenderer *rend; GtkTreeViewColumn *col; GtkTreeSelection *sel; GtkTreePath *path; -#endif GSList *awy = away_messages; struct away_message *a; GtkWidget *sw2; - - ret = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width (GTK_CONTAINER (ret), 6); + GtkSizeGroup *sg; - frame = gtk_frame_new ("Title"); - gtk_box_pack_start (GTK_BOX (ret), frame, TRUE, TRUE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); + ret = gtk_vbox_new(FALSE, 18); + gtk_container_set_border_width (GTK_CONTAINER (ret), 12); + + sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); + sw = gtk_scrolled_window_new(NULL,NULL); away_text = gtk_imhtml_new(NULL, NULL); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); -#if GTK_CHECK_VERSION(1,3,0) + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); -#endif - gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0); -#if GTK_CHECK_VERSION(1,3,0) prefs_away_store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_POINTER); while (awy) { a = (struct away_message *)awy->data; @@ -1496,105 +1199,41 @@ gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(event_view), FALSE); gtk_widget_show(event_view); - gtk_container_add(GTK_CONTAINER(sw), event_view); -#else - prefs_away_list = gtk_list_new(); - while (awy) { - GtkWidget *ambox = gtk_hbox_new(FALSE, 5); - GtkWidget *list_item =gtk_list_item_new(); - GtkWidget *label; - a = (struct away_message *)awy->data; - gtk_container_add(GTK_CONTAINER(prefs_away_list), list_item); - gtk_signal_connect(GTK_OBJECT(list_item), "select", GTK_SIGNAL_FUNC(away_message_sel), - a); - gtk_object_set_user_data(GTK_OBJECT(list_item), a); - - gtk_widget_show(list_item); - - ambox = gtk_hbox_new(FALSE, 5); - gtk_container_add(GTK_CONTAINER(list_item), ambox); - gtk_widget_show(ambox); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), event_view); - label = gtk_label_new(a->name); - gtk_box_pack_start(GTK_BOX(ambox), label, FALSE, FALSE, 5); - gtk_widget_show(label); - - awy = awy->next; - - } - gtk_widget_show(prefs_away_list); - gtk_container_add(GTK_CONTAINER(sw), prefs_away_list); -#endif - - gtk_widget_show (vbox); - gtk_widget_show (sw); - - - frame = gtk_frame_new ("Message"); - gtk_box_pack_start (GTK_BOX (ret), frame, TRUE, TRUE, 0); - gtk_widget_show (frame); - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add (GTK_CONTAINER (frame), vbox); - sw2 = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); - gtk_box_pack_start(GTK_BOX(vbox), sw2, TRUE, TRUE, 0); - gtk_widget_show(sw2); + gtk_box_pack_start(GTK_BOX(ret), sw2, TRUE, TRUE, 0); - gtk_container_add(GTK_CONTAINER(sw2), away_text); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), away_text); GTK_LAYOUT(away_text)->hadjustment->step_increment = 10.0; GTK_LAYOUT(away_text)->vadjustment->step_increment = 10.0; gaim_setup_imhtml(away_text); - gtk_widget_show(away_text); - gtk_widget_show (vbox); - gtk_widget_show (ret); gtk_imhtml_set_defaults(GTK_IMHTML(away_text), NULL, NULL, NULL); -#if GTK_CHECK_VERSION(1,3,0) sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view)); path = gtk_tree_path_new_first(); g_signal_connect (G_OBJECT (sel), "changed", G_CALLBACK (away_message_sel), NULL); -#endif hbox = gtk_hbox_new(TRUE, 5); - gtk_widget_show(hbox); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); -#if GTK_CHECK_VERSION (1,3,0) + gtk_box_pack_start(GTK_BOX(ret), hbox, FALSE, FALSE, 0); button = gtk_button_new_from_stock (GTK_STOCK_ADD); -#else - button = picture_button(prefs, _("Add"), gnome_add_xpm); -#endif gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); - if (misc_options & OPT_MISC_COOL_LOOK) - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - gtk_widget_show(button); + gtk_size_group_add_widget(sg, button); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(create_away_mess), NULL); - -#if GTK_CHECK_VERSION (1,3,0) + button = gtk_button_new_from_stock (GTK_STOCK_REMOVE); + gtk_size_group_add_widget(sg, button); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(remove_away_message), event_view); -#else - button = picture_button(prefs, _("Remove"), gnome_remove_xpm); - gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(remove_away_message), prefs_away_list); -#endif + gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); - if (misc_options & OPT_MISC_COOL_LOOK) - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - gtk_widget_show(button); - -#if GTK_CHECK_VERSION (1,3,0) button = pixbuf_button(_("_Edit"), "edit.png"); + gtk_size_group_add_widget(sg, button); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(create_away_mess), event_view); -#else - button = picture_button(prefs, _("Edit"), save_xpm); - gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(create_away_mess), button); -#endif gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); - if (misc_options & OPT_MISC_COOL_LOOK) - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - gtk_widget_show(button); + gtk_widget_show_all(ret); return ret; } #if GTK_CHECK_VERSION (1,3,0) @@ -1825,44 +1464,24 @@ gtk_container_add (GTK_CONTAINER(vbox), hbox); gtk_widget_show (hbox); -#if GTK_CHECK_VERSION(1,3,0) button = gtk_button_new_from_stock (GTK_STOCK_OK); -#else - button = picture_button(prefs, _("OK"), join_xpm); -#endif gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(ok_cb), prefs); gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); - if (misc_options & OPT_MISC_COOL_LOOK) - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); gtk_widget_show(button); -#if GTK_CHECK_VERSION(1,3,0) button = gtk_button_new_from_stock (GTK_STOCK_APPLY); -#else - button = picture_button(prefs, _("Apply"), ok_xpm); -#endif gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(apply_cb), prefs); gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); - if (misc_options & OPT_MISC_COOL_LOOK) - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); gtk_widget_show(button); - -#if GTK_CHECK_VERSION(1,3,0) button = gtk_button_new_from_stock (GTK_STOCK_CANCEL); -#else - button = picture_button(prefs, _("Close"), cancel_xpm); -#endif gtk_signal_connect_object(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), prefs); gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); - if (misc_options & OPT_MISC_COOL_LOOK) - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); gtk_widget_show(button); prefs_notebook_init(); -#if GTK_CHECK_VERSION(1,3,0) + gtk_tree_view_expand_all (GTK_TREE_VIEW(tree_v)); -#endif gtk_widget_show(prefs); } @@ -2112,7 +1731,7 @@ GtkWidget *gaim_button(const char *text, guint *options, int option, GtkWidget *page) { GtkWidget *button; - button = gtk_check_button_new_with_label(text); + button = gtk_check_button_new_with_mnemonic(text); gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), (*options & option)); gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0); gtk_object_set_user_data(GTK_OBJECT(button), options); @@ -2261,7 +1880,7 @@ int *value = gtk_object_get_user_data(GTK_OBJECT(spin)); *value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin)); } -GtkWidget *gaim_labeled_spin_button(GtkWidget *box, const gchar *title, int *val, int min, int max) +GtkWidget *gaim_labeled_spin_button(GtkWidget *box, const gchar *title, int *val, int min, int max, GtkSizeGroup *sg) { GtkWidget *hbox; GtkWidget *label; @@ -2272,7 +1891,7 @@ gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); gtk_widget_show(hbox); - label = gtk_label_new(title); + label = gtk_label_new_with_mnemonic(title); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); gtk_widget_show(label); @@ -2284,7 +1903,15 @@ gtk_signal_connect(GTK_OBJECT(adjust), "value-changed", GTK_SIGNAL_FUNC(update_spin_value), GTK_WIDGET(spin)); gtk_widget_show(spin); - return spin; + + gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin); + + if (sg) { + gtk_size_group_add_widget(sg, label); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0); + + } + return label; } void dropdown_set(GtkObject *w, int *option) @@ -2333,7 +1960,7 @@ gtk_container_add (GTK_CONTAINER (box), hbox); gtk_widget_show(hbox); - label = gtk_label_new(title); + label = gtk_label_new_with_mnemonic(title); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); gtk_widget_show(label); @@ -2345,7 +1972,9 @@ dropdown = gtk_option_menu_new(); menu = gtk_menu_new(); - + + gtk_label_set_mnemonic_widget(GTK_LABEL(label), dropdown); + while (text) { value = va_arg(menuitems, int); opt = gtk_menu_item_new_with_label(text); @@ -2368,7 +1997,7 @@ gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu); gtk_box_pack_start(GTK_BOX(hbox), dropdown, FALSE, FALSE, 0); gtk_widget_show(dropdown); - return dropdown; + return label; } static GtkWidget *show_color_pref(GtkWidget *box, gboolean fgc) diff -r ccbcc11a68c2 -r 8fa61405af2b src/protocols/gg/gg.c --- a/src/protocols/gg/gg.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/protocols/gg/gg.c Sun Aug 25 10:51:24 2002 +0000 @@ -1,6 +1,6 @@ /* * gaim - Gadu-Gadu Protocol Plugin - * $Id: gg.c 3358 2002-06-28 01:47:12Z jseymour $ + * $Id: gg.c 3453 2002-08-25 10:51:24Z seanegan $ * * Copyright (C) 2001 Arkadiusz Mi¶kiewicz * @@ -591,8 +591,8 @@ gchar *imsg; if (invalid_uin(who)) { - do_error_dialog(_("You are trying to send a message to an invalid Gadu-Gadu UIN."), - _("Gadu-Gadu Error")); + do_error_dialog(_("You are trying to send a message to an invalid Gadu-Gadu UIN."), NULL, + GAIM_ERROR); return -1; } @@ -654,7 +654,7 @@ if ((ptr = strstr(webdata, "query_results:")) == NULL || (ptr = strchr(ptr, '\n')) == NULL) { debug_printf("search_callback: pubdir result [%s]\n", webdata); - do_error_dialog(_("Couldn't get search results"), _("Gadu-Gadu Error")); + do_error_dialog(_("Couldn't get search results"), NULL, GAIM_ERROR); return; } ptr++; @@ -758,14 +758,13 @@ gchar **users_tbl; int i; if (strstr(webdata, "no_data:")) { - do_error_dialog(_("There is no Buddy List stored on server. Sorry!"), - _("Gadu-Gadu Error")); + do_error_dialog(_("There is no Buddy List stored on the Gadu-Gadu server."), NULL, GAIM_ERROR); return; } if ((ptr = strstr(webdata, "get_results:")) == NULL || (ptr = strchr(ptr, ':')) == NULL) { debug_printf("import_buddies_server_results: import buddies result [%s]\n", webdata); - do_error_dialog(_("Couldn't Import Buddies List from Server"), _("Gadu-Gadu Error")); + do_error_dialog(_("Couldn't Import Buddies List from Server"), NULL, GAIM_ERROR); return; } ptr++; @@ -812,37 +811,34 @@ static void export_buddies_server_results(struct gaim_connection *gc, gchar *webdata) { if (strstr(webdata, "put_success:")) { - do_error_dialog(_("Buddy List successfully transferred to server"), - _("Gadu-Gadu Information")); + do_error_dialog(_("Buddy List successfully transferred to Gadu-Gadu server"), NULL, GAIM_INFO); return; } debug_printf("export_buddies_server_results: webdata [%s]\n", webdata); - do_error_dialog(_("Couldn't transfer Buddy List to server"), _("Gadu-Gadu Error")); + do_error_dialog(_("Couldn't transfer Buddy List to Gadu-Gadu server"), NULL, GAIM_ERROR); } static void delete_buddies_server_results(struct gaim_connection *gc, gchar *webdata) { if (strstr(webdata, "put_success:")) { - do_error_dialog(_("Buddy List sucessfully deleted from server"), - _("Gadu-Gadu Information")); + do_error_dialog(_("Buddy List sucessfully deleted from Gadu-Gadu server"), NULL, GAIM_INFO); return; } debug_printf("delete_buddies_server_results: webdata [%s]\n", webdata); - do_error_dialog(_("Couldn't delete Buddy List from server"), _("Gadu-Gadu Error")); + do_error_dialog(_("Couldn't delete Buddy List from Gadu-Gadu server"), NULL, GAIM_ERROR); } static void password_change_server_results(struct gaim_connection *gc, gchar *webdata) { if (strstr(webdata, "reg_success:")) { - do_error_dialog(_("Password changed successfully"), - _("Gadu-Gadu Information")); + do_error_dialog(_("Password changed successfully"), NULL, GAIM_INFO); return; } debug_printf("delete_buddies_server_results: webdata [%s]\n", webdata); - do_error_dialog(_("Password couldn't be changed"), _("Gadu-Gadu Error")); + do_error_dialog(_("Password couldn't be changed"), NULL, GAIM_ERROR); } static void http_results(gpointer data, gint source, GaimInputCondition cond) @@ -953,7 +949,10 @@ g_free(buf); g_free(hdata); close(source); - do_error_dialog(_("Couldn't send http request"), _("Gadu-Gadu Error")); + do_error_dialog(_("Error communicating with Gadu-Gadu server"), + _("Gaim was unable to complete your request due to a problem " + "communicating to the Gadu-Gadu HTTP server. Please try again " + "later."), GAIM_ERROR); return; } @@ -965,7 +964,6 @@ static void import_buddies_server(struct gaim_connection *gc) { struct agg_http *hi = g_new0(struct agg_http, 1); - static char msg[AGG_BUF_LEN]; gchar *u = gg_urlencode(gc->username); gchar *p = gg_urlencode(gc->password); @@ -979,9 +977,9 @@ g_free(p); if (proxy_connect(GG_PUBDIR_HOST, GG_PUBDIR_PORT, http_req_callback, hi) < 0) { - g_snprintf(msg, sizeof(msg), _("Buddies List import from Server failed (%s)"), - GG_PUBDIR_HOST); - do_error_dialog(msg, _("Gadu-Gadu Error")); + do_error_dialog(_("Unable to import Gadu-Gadu buddy list"), + _("Gaim was unable to connect to the Gadu-Gadu buddy list " + "server. Please try again later."), GAIM_ERROR); g_free(hi->request); g_free(hi); return; @@ -991,7 +989,6 @@ static void export_buddies_server(struct gaim_connection *gc) { struct agg_http *he = g_new0(struct agg_http, 1); - static char msg[AGG_BUF_LEN]; gchar *ptr; gchar *u = gg_urlencode(gc->username); gchar *p = gg_urlencode(gc->password); @@ -1038,9 +1035,9 @@ } if (proxy_connect(GG_PUBDIR_HOST, GG_PUBDIR_PORT, http_req_callback, he) < 0) { - g_snprintf(msg, sizeof(msg), _("Buddies List export to Server failed (%s)"), - GG_PUBDIR_HOST); - do_error_dialog(msg, _("Gadu-Gadu Error")); + do_error_dialog(_("Couldn't export buddy list"), + _("Gaim was unable to connect to the buddy list server. " + "Please try again later."), GAIM_ERROR); g_free(he->request); g_free(he); return; @@ -1050,7 +1047,6 @@ static void delete_buddies_server(struct gaim_connection *gc) { struct agg_http *he = g_new0(struct agg_http, 1); - static char msg[AGG_BUF_LEN]; gchar *u = gg_urlencode(gc->username); gchar *p = gg_urlencode(gc->password); @@ -1061,9 +1057,9 @@ he->request = g_strdup_printf("FmNum=%s&Pass=%s&Delete=1", u, p); if (proxy_connect(GG_PUBDIR_HOST, GG_PUBDIR_PORT, http_req_callback, he) < 0) { - g_snprintf(msg, sizeof(msg), _("Deletion of Buddies List from Server failed (%s)"), - GG_PUBDIR_HOST); - do_error_dialog(msg, _("Gadu-Gadu Error")); + do_error_dialog(_("Unable to delete Gadu-Gadu buddy list"), + _("Gaim was unable to connect to the buddy list server. " + "Please try again later."), GAIM_ERROR); g_free(he->request); g_free(he); return; @@ -1075,8 +1071,6 @@ char *country, char *email) { struct agg_http *srch = g_new0(struct agg_http, 1); - static char msg[AGG_BUF_LEN]; - srch->gc = gc; srch->type = AGG_HTTP_SEARCH; srch->form = AGG_PUBDIR_SEARCH_FORM; @@ -1111,9 +1105,10 @@ } if (proxy_connect(GG_PUBDIR_HOST, GG_PUBDIR_PORT, http_req_callback, srch) < 0) { - g_snprintf(msg, sizeof(msg), _("Connect to search service failed (%s)"), - GG_PUBDIR_HOST); - do_error_dialog(msg, _("Gadu-Gadu Error")); + do_error_dialog(_("Unable to access directory"), + _("Gaim was unable to search the Directory because it " + "was unable to connect to the directory server. Please try" + "again later."), GAIM_ERROR); g_free(srch->request); g_free(srch); return; @@ -1123,7 +1118,6 @@ static void agg_change_passwd(struct gaim_connection *gc, char *old, char *new) { struct agg_http *hpass = g_new0(struct agg_http, 1); - static char msg[AGG_BUF_LEN]; gchar *u = gg_urlencode(gc->username); gchar *p = gg_urlencode(gc->password); gchar *enew = gg_urlencode(new); @@ -1144,9 +1138,9 @@ g_free(eold); if (proxy_connect(GG_REGISTER_HOST, GG_REGISTER_PORT, http_req_callback, hpass) < 0) { - g_snprintf(msg, sizeof(msg), _("Changing Password failed (%s)"), - GG_REGISTER_HOST); - do_error_dialog(msg, _("Gadu-Gadu Error")); + do_error_dialog(_("Unable to change Gadu-Gadu password"), + _("Gaim was unable to change your password due to an error connecting " + "to the Gadu-Gadu server. Please try again later."), GAIM_ERROR); g_free(hpass->request); g_free(hpass); return; @@ -1186,8 +1180,6 @@ static void agg_get_info(struct gaim_connection *gc, char *who) { struct agg_http *srch = g_new0(struct agg_http, 1); - static char msg[AGG_BUF_LEN]; - srch->gc = gc; srch->type = AGG_HTTP_SEARCH; srch->form = AGG_PUBDIR_SEARCH_FORM; @@ -1209,9 +1201,9 @@ srch->request = g_strdup_printf("Mode=3&UserId=%s", who); if (proxy_connect(GG_PUBDIR_HOST, GG_PUBDIR_PORT, http_req_callback, srch) < 0) { - g_snprintf(msg, sizeof(msg), _("Connect to search service failed (%s)"), - GG_PUBDIR_HOST); - do_error_dialog(msg, _("Gadu-Gadu Error")); + do_error_dialog(_("Unable to access user profile."), + _("Gaim was unable to access this users profile due to an error " + "connecting to the directory server. Please try again later."), GAIM_ERROR); g_free(srch->request); g_free(srch); return; diff -r ccbcc11a68c2 -r 8fa61405af2b src/protocols/icq/gaim_icq.c --- a/src/protocols/icq/gaim_icq.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/protocols/icq/gaim_icq.c Sun Aug 25 10:51:24 2002 +0000 @@ -230,7 +230,7 @@ static void icq_req_not(icq_Link *link, unsigned long id, int type, int arg, void *data) { if (type == ICQ_NOTIFY_FAILED) - do_error_dialog("Failure in sending packet", "ICQ error"); + do_error_dialog(_("Gaim encountered an error communicating with the ICQ server."), NULL, GAIM_ERROR); return; } diff -r ccbcc11a68c2 -r 8fa61405af2b src/protocols/irc/irc.c --- a/src/protocols/irc/irc.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/protocols/irc/irc.c Sun Aug 25 10:51:24 2002 +0000 @@ -822,12 +822,12 @@ irc_request_buddy_update(gc); break; case 401: - do_error_dialog(_("No such nick/channel"), _("IRC Error")); + do_error_dialog(_("There is no such nick or channel on this IRC channel."), NULL, GAIM_ERROR); break; case 402: - do_error_dialog(_("No such server"), _("IRC Error")); + do_error_dialog(_("There is no such IRC Server"), NULL, GAIM_ERROR); case 431: - do_error_dialog(_("No nickname given"), _("IRC Error")); + do_error_dialog(_("No IRC nickname given"), NULL, GAIM_ERROR); break; } } @@ -1068,9 +1068,9 @@ return FALSE; gc->buddy_chats = g_slist_remove(gc->buddy_chats, c); c->gc = NULL; - g_snprintf(outbuf, sizeof(outbuf), _("You have been kicked from %s: %s"), - word[3], *word_eol[5] == ':' ? word_eol[5] + 1 : word_eol[5]); - do_error_dialog(outbuf, _("IRC Error")); + g_snprintf(outbuf, sizeof(outbuf), _("You have been kicked from %s:"), + word[3]); + do_error_dialog(outbuf, *word_eol[5] == ':' ? word_eol[5] + 1 : word_eol[5], GAIM_INFO); } else { char *reason = *word_eol[5] == ':' ? word_eol[5] + 1 : word_eol[5]; char *msg = g_strdup_printf(_("Kicked by %s: %s"), nick, reason); @@ -1579,7 +1579,7 @@ gc->buddy_chats = g_slist_remove(gc->buddy_chats, c); c->gc = NULL; g_snprintf(buf, sizeof(buf), _("You have left %s"), chan); - do_error_dialog(buf, _("IRC Part")); + do_error_dialog(buf, NULL, GAIM_INFO); } } else if (!g_strcasecmp(pdibuf, "WHOIS")) { g_snprintf(buf, sizeof(buf), "WHOIS %s\r\n", word_eol[2]); diff -r ccbcc11a68c2 -r 8fa61405af2b src/protocols/jabber/jabber.c --- a/src/protocols/jabber/jabber.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/protocols/jabber/jabber.c Sun Aug 25 10:51:24 2002 +0000 @@ -947,13 +947,15 @@ if(strcmp(old, gjc->pass)) { - do_error_dialog(_("Incorrect current password! Password NOT Changed!"), - _("Password Change Error!")); + do_error_dialog(_("Unable to change password."), + _("The current password you entered is incorrect. Your password has " + "not been changed."), GAIM_ERROR); } else if(!strcmp(old, new)) { - do_error_dialog(_("New password same as old password! Password NOT Changed!"), - _("Password Change Error!")); + do_error_dialog(_("Unable to change password"), + _("The new password you entered is the same as your current passord. " + "Your password remains the same."), GAIM_ERROR); } else { @@ -1342,8 +1344,8 @@ } if (msg) { - from = g_strdup_printf("Error %s", type ? type : ""); - do_error_dialog(msg, from); + from = g_strdup_printf(_("Jabber Error %s"), type ? type : ""); + do_error_dialog(from, msg, GAIM_ERROR); g_free(from); } } else if (!strcasecmp(type, "groupchat")) { @@ -1652,9 +1654,10 @@ char *status; if((y = xmlnode_get_tag(p->x, "status")) && (status = xmlnode_get_data(y)) && !strcmp(status, "Not Found")) { - char *msg = g_strdup_printf("%s: \"%s\"", _("No such user"), - xmlnode_get_attrib(p->x, "from")); - do_error_dialog(msg, _("Jabber Error")); + char *msg = g_strdup_printf(_("The Jabber user %s does not exist and was therefore " + "not added to your roster."), + xmlnode_get_attrib(p->x, "from")); + do_error_dialog(_("No such user."), msg, GAIM_ERROR ); g_free(msg); } } @@ -2032,7 +2035,7 @@ char buf[BUF_LONG]; sprintf(buf, _("Password successfully changed.")); - do_error_dialog(buf, _("Password Change")); + do_error_dialog(buf, NULL, GAIM_INFO); } } } @@ -2050,8 +2053,8 @@ errcode = atoi(xmlnode_get_attrib(xerr, "code")); } - from = g_strdup_printf("Error %d (%s)", errcode, from); - do_error_dialog(errmsg, from); + from = g_strdup_printf("Jabber Error %d (%s)", errcode, from); + do_error_dialog(from, errmsg, GAIM_ERROR); g_free(from); } @@ -2409,8 +2412,9 @@ return; if((realwho = get_realwho(gjc, name, FALSE, &gjid)) == NULL) { - char *msg = g_strdup_printf("%s: \"%s\"", _("Invalid Jabber I.D."), name); - do_error_dialog(msg, _("Jabber Error")); + char *msg = g_strdup_printf(_("The user %s is an invalid Jabber I.D. and was " + "therefore not added."), name); + do_error_dialog("Unable to add buddy.", _("Jabber Error"), GAIM_ERROR); g_free(msg); jabber_remove_gaim_buddy(gc, name); return; @@ -2677,8 +2681,8 @@ debug_printf("%s\n", realwho); if((gjid = gaim_jid_new(realwho)) == NULL) { - char *msg = g_strdup_printf("%s: \"%s\"", _("Invalid Jabber I.D."), realwho); - do_error_dialog(msg, _("Jabber Error")); + char *msg = g_strdup_printf("The Jabber I.D. %s is invalid.", realwho); + do_error_dialog(_("Unable to join chat"), msg, GAIM_ERROR); g_free(msg); g_free(realwho); return; diff -r ccbcc11a68c2 -r 8fa61405af2b src/protocols/msn/msn.c --- a/src/protocols/msn/msn.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/protocols/msn/msn.c Sun Aug 25 10:51:24 2002 +0000 @@ -348,7 +348,7 @@ } if (show) - do_error_dialog(msg, _("MSN Error")); + do_error_dialog(msg, NULL, GAIM_ERROR); return msg; } @@ -555,7 +555,7 @@ ms->msguser = g_strdup(user); ms->msglen = length; } else if (!g_strncasecmp(buf, "NAK", 3)) { - do_error_dialog(_("A message may not have been received."), _("MSN Error")); + do_error_dialog(_("An MSN message may not have been received."), NULL, GAIM_ERROR); } else if (!g_strncasecmp(buf, "NLN", 3)) { } else if (!g_strncasecmp(buf, "OUT", 3)) { if (ms->chat) @@ -812,7 +812,9 @@ close(source); if (g_slist_find(connections, gc)) { msn_kill_switch(ms); - do_error_dialog(_("MSN Error"), _("Gaim was unable to send a message")); + do_error_dialog(_("Gaim was unable to send an MSN message"), + _("Gaim encountered an error communicating with the " + "MSN switchboard server. Please try again later."), GAIM_ERROR); } return; } @@ -2113,7 +2115,7 @@ alias = str_to_utf8(url_encode(entry)); if (strlen(alias) >= BUDDY_ALIAS_MAXLEN) { - do_error_dialog(_("Friendly name too long."), _("MSN Error")); + do_error_dialog(_("New MSN friendly name too long."), NULL, GAIM_ERROR); return; } @@ -2282,7 +2284,11 @@ char *dupl; if (!strchr(who, '@')) { - do_error_dialog(_("Invalid name"), _("MSN Error")); + g_snprintf(buf, sizeof(buf), + _("An MSN screenname must be in the form \"user@server.com\". " + "Perhaps you meant %s@hotmail.com. No changes were made to your " + "allow list."), who); + do_error_dialog(_("Invalid MSN screenname"), buf, GAIM_ERROR); gc->permit = g_slist_remove(gc->permit, who); g_free(who); return; @@ -2335,7 +2341,11 @@ char *dupl; if (!strchr(who, '@')) { - do_error_dialog(_("Invalid name"), _("MSN Error")); + g_snprintf(buf, sizeof(buf), + _("An MSN screenname must be in the form \"user@server.com\". " + "Perhaps you meant %s@hotmail.com. No changes were made to your " + "block list."), who); + do_error_dialog(_("Invalid MSN screenname"), buf, GAIM_ERROR); gc->deny = g_slist_remove(gc->deny, who); g_free(who); return; diff -r ccbcc11a68c2 -r 8fa61405af2b src/protocols/napster/napster.c --- a/src/protocols/napster/napster.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/protocols/napster/napster.c Sun Aug 25 10:51:24 2002 +0000 @@ -286,7 +286,7 @@ } if (command == 0x194) { - do_error_dialog(buf, "Gaim: Napster Error"); + do_error_dialog(buf, NULL, GAIM_ERROR); g_free(buf); return; } @@ -294,8 +294,8 @@ if (command == 0x12e) { gchar buf2[NAP_BUF_LEN]; - g_snprintf(buf2, NAP_BUF_LEN, "Unable to add '%s' to your hotlist", buf); - do_error_dialog(buf2, "Gaim: Napster Error"); + g_snprintf(buf2, NAP_BUF_LEN, "Unable to add '%s' to your Napster hotlist", buf); + do_error_dialog(buf2, NULL, GAIM_ERROR); g_free(buf); return; @@ -375,7 +375,7 @@ /* If we have some kind of error, get outta here */ if (command == 0x00) { - do_error_dialog(buf, "Gaim: Napster Error"); + do_error_dialog(buf, NULL, GAIM_ERROR); gaim_input_remove(ndata->inpa); ndata->inpa = 0; close(source); diff -r ccbcc11a68c2 -r 8fa61405af2b src/protocols/oscar/oscar.c --- a/src/protocols/oscar/oscar.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/protocols/oscar/oscar.c Sun Aug 25 10:51:24 2002 +0000 @@ -392,7 +392,7 @@ c->fd = -1; aim_conn_kill(odata->sess, &conn); sprintf(buf, _("You have been disconnected from chat room %s."), c->name); - do_error_dialog(buf, _("Chat Error!")); + do_error_dialog(buf, NULL, GAIM_ERROR); } else if (conn->type == AIM_CONN_TYPE_CHATNAV) { if (odata->cnpa > 0) gaim_input_remove(odata->cnpa); @@ -404,8 +404,7 @@ odata->create_rooms = g_slist_remove(odata->create_rooms, cr); g_free(cr); - do_error_dialog(_("Chat is currently unavailable"), - _("Gaim - Chat")); + do_error_dialog(_("Chat is currently unavailable"), NULL, GAIM_ERROR); } aim_conn_kill(odata->sess, &conn); } else if (conn->type == AIM_CONN_TYPE_AUTH) { @@ -765,8 +764,9 @@ in = '\0'; } if (in != '\n') { - do_error_dialog("Gaim was unable to get a valid hash for logging into AIM." - " You may be disconnected shortly.", "Login Error"); + do_error_dialog(_("Gaim was Unable to get a valid AIM login hash."), + _("You may be disconnected shortly. You may want to use TOC until " + "this is fixed. Check " WEBSITE " for updates."), GAIM_WARNING); gaim_input_remove(pos->inpa); close(pos->fd); g_free(pos); @@ -789,8 +789,9 @@ char buf[BUF_LONG]; if (source < 0) { - do_error_dialog("Gaim was unable to get a valid hash for logging into AIM." - " You may be disconnected shortly.", "Login Error"); + do_error_dialog(_("Gaim was Unable to get a valid AIM login hash."), + _("You may be disconnected shortly. You may want to use TOC until " + "this is fixed. Check " WEBSITE " for updates."), GAIM_WARNING); if (pos->modname) g_free(pos->modname); g_free(pos); @@ -870,8 +871,9 @@ if (pos->modname) g_free(pos->modname); g_free(pos); - do_error_dialog("Gaim was unable to get a valid hash for logging into AIM." - " You may be disconnected shortly.", "Login Error"); + do_error_dialog(_("Gaim was Unable to get valid login hash."), + _("You may be disconnected shortly. You may want to use TOC until " + "this is fixed. Check " WEBSITE " for updates."), GAIM_WARNING); } pos->fd = fd; @@ -1502,14 +1504,14 @@ case 0x0007: { /* Someone has denied you authorization */ char *dialog_msg; dialog_msg = g_strdup_printf(_("The user %lu has denied your request to add them to your contact list for the following reason:\n%s"), args->uin, args->msg ? args->msg : _("No reason given.")); - do_error_dialog(dialog_msg, _("Gaim - ICQ Authorization Denied")); + do_error_dialog(_("ICQ authorization denied."), dialog_msg, GAIM_ERROR); g_free(dialog_msg); } break; case 0x0008: { /* Someone has granted you authorization */ char *dialog_msg; dialog_msg = g_strdup_printf(_("The user %lu has granted your request to add them to your contact list."), args->uin); - do_error_dialog(dialog_msg, _("Gaim - ICQ Authorization Granted")); + do_error_dialog("ICQ authorization accepted.", dialog_msg, GAIM_INFO); g_free(dialog_msg); } break; @@ -1637,7 +1639,7 @@ userinfo->sn); break; } - do_error_dialog(buf, _("Gaim - Error")); + do_error_dialog(buf, NULL, GAIM_ERROR); return 1; } @@ -1733,7 +1735,7 @@ m = g_strdup_printf(_("SNAC threw error: %s\n"), reason < msgerrreasonlen ? msgerrreason[reason] : "Unknown error"); - do_error_dialog(m, _("Gaim - Oscar SNAC Error")); + do_error_dialog(m, NULL, GAIM_ERROR); g_free(m); return 1; @@ -1750,9 +1752,8 @@ destn = va_arg(ap, char *); va_end(ap); - sprintf(buf, _("Your message to %s did not get sent: %s"), destn, - (reason < msgerrreasonlen) ? msgerrreason[reason] : _("Reason unknown")); - do_error_dialog(buf, _("Gaim - Error")); + sprintf(buf, _("Your message to %s did not get sent: %s"), destn); + do_error_dialog(buf, (reason < msgerrreasonlen) ? msgerrreason[reason] : _("No reason was given."), GAIM_ERROR); return 1; } @@ -1768,9 +1769,8 @@ destn = va_arg(ap, char *); va_end(ap); - sprintf(buf, _("User information for %s unavailable: %s"), destn, - (reason < msgerrreasonlen) ? msgerrreason[reason] : _("Reason unknown")); - do_error_dialog(buf, _("Gaim - Error")); + sprintf(buf, _("User information for %s unavailable: %s"), destn); + do_error_dialog(buf, (reason < msgerrreasonlen) ? msgerrreason[reason] : _("No reason was given."), GAIM_ERROR); return 1; } @@ -1986,8 +1986,7 @@ debug_printf("MOTD: %s (%d)\n", msg ? msg : "Unknown", id); if (id < 4) - do_error_dialog(_("Your connection may be lost."), - _("AOL error")); + do_error_dialog(_("Your AIM connection may be lost."), NULL, GAIM_WARNING); return 1; } @@ -2222,8 +2221,9 @@ } else if (code == AIM_RATE_CODE_WARNING) { aim_conn_setlatency(fr->conn, windowsize/4); } else if (code == AIM_RATE_CODE_LIMIT) { - do_error_dialog(_("The last message was not sent because you are over the rate limit. " - "Please wait 10 seconds and try again."), _("Gaim - Error")); + do_error_dialog(_("Rate limiting error."), + _("The last message was not sent because you are over the rate limit. " + "Please wait 10 seconds and try again."), GAIM_ERROR); aim_conn_setlatency(fr->conn, windowsize/2); } else if (code == AIM_RATE_CODE_CLEARLIMIT) { aim_conn_setlatency(fr->conn, 0); @@ -2454,14 +2454,14 @@ case 0x0007: { /* Someone has denied you authorization */ char *dialog_msg; dialog_msg = g_strdup_printf(_("The user %lu has denied your request to add them to your contact list for the following reason:\n%s"), msg->sender, msg->msg ? msg->msg : _("No reason given.")); - do_error_dialog(dialog_msg, _("Gaim - ICQ Authorization Denied")); + do_error_dialog(_("ICQ Authorization denied"), dialog_msg, GAIM_ERROR); g_free(dialog_msg); } break; case 0x0008: { /* Someone has granted you authorization */ char *dialog_msg; dialog_msg = g_strdup_printf(_("The user %lu has granted your request to add them to your contact list."), msg->sender); - do_error_dialog(dialog_msg, _("Gaim - ICQ Authorization Granted")); + do_error_dialog(_("ICQ Authorization Granted"), dialog_msg, GAIM_INFO); g_free(dialog_msg); } break; @@ -2586,7 +2586,7 @@ va_end(ap); g_snprintf(buf, sizeof(buf), "No results found for email address %s", address); - do_error_dialog(buf, _("Error")); + do_error_dialog(buf, NULL, GAIM_ERROR); return 1; } @@ -2606,7 +2606,7 @@ if (status) { g_snprintf(msg, sizeof(msg), "You should receive an email asking to confirm %s.", gc->username); - do_error_dialog(msg, "Confirm"); + do_error_dialog("Account confirmation requested.", msg, GAIM_INFO); } return 1; @@ -2635,7 +2635,7 @@ /* XXX Do something for other types too. */ if ((type == 0x0011) && str && length) { g_snprintf(buf, sizeof(buf), "The email address for %s is %s", gc->username, val); - do_error_dialog(buf, "Email"); + do_error_dialog(buf, NULL, GAIM_INFO); } return 1; @@ -2788,14 +2788,16 @@ gchar *inforeal; if (odata->rights.maxsiglen == 0) - do_error_dialog("oscar_set_info called before locate rights received", "Protocol Error"); + do_error_dialog(_("Unable to set AIM profile."), + _("You have probably requested to set your profile before the login procedure completed. " + "Your profile remains unset; try setting it again when you are fully connected."), GAIM_ERROR); if (strlen(info) > odata->rights.maxsiglen) { gchar *errstr; - errstr = g_strdup_printf("Maximum info length of %d bytes exceeded, truncating", odata->rights.maxsiglen); - - do_error_dialog(errstr, "Info Too Long"); + errstr = g_strdup_printf(_("The maximum profile length of %d bytes has been exceeded. " + "Gaim has truncated and set it."), odata->rights.maxsiglen); + do_error_dialog("Profile too long.", errstr, GAIM_WARNING); g_free(errstr); } @@ -2813,8 +2815,10 @@ { if (od->rights.maxawaymsglen == 0) - do_error_dialog("oscar_set_away_aim called before locate rights received", "Protocol Error"); - + do_error_dialog(_("Unable to set AIM away message."), + _("You have probably requested to set your away message before the login procedure completed. " + "You remain in a \"present\" state; try setting it again when you are fully connected."), GAIM_ERROR); + if (gc->away) g_free(gc->away); gc->away = NULL; @@ -2827,10 +2831,9 @@ if (strlen(message) > od->rights.maxawaymsglen) { gchar *errstr; - errstr = g_strdup_printf("Maximum away message length of %d bytes exceeded, truncating", od->rights.maxawaymsglen); - - do_error_dialog(errstr, "Away Message Too Long"); - + errstr = g_strdup_printf(_("The away message length of %d bytes has been exceeded. " + "Gaim has truncated it and set you away."), od->rights.maxawaymsglen); + do_error_dialog("Away message too long.", errstr, GAIM_WARNING); g_free(errstr); } @@ -3207,7 +3210,7 @@ char *dialog_msg = g_strdup_printf(_("The maximum number of buddies allowed in your buddy list is %d, and you have %d." " Until you are below the limit, some buddies will not show up as online."), odata->rights.maxbuddies, tmp); - do_error_dialog(dialog_msg, _("Gaim - Warning")); + do_error_dialog("Maximum buddy list length exceeded.", dialog_msg, GAIM_WARNING); g_free(dialog_msg); } @@ -3537,7 +3540,7 @@ g_free(dim); debug_printf("Gave up on old direct IM, trying again\n"); } else { - do_error_dialog("DirectIM already open.", "Gaim"); + do_error_dialog("DirectIM already open.", NULL, GAIM_ERROR); return; } } @@ -3553,7 +3556,7 @@ aim_conn_addhandler(od->sess, dim->conn, AIM_CB_FAM_OFT, AIM_CB_OFT_DIRECTIMINITIATE, gaim_directim_initiate, 0); } else { - do_error_dialog(_("Unable to open Direct IM"), _("Error")); + do_error_dialog(_("Unable to open Direct IM"), NULL, GAIM_ERROR); g_free(dim); } } @@ -3593,7 +3596,7 @@ free(dialog_msg); } else - do_error_dialog("Could not find contact in local list, therefore unable to request status message.\n", "Gaim - Error"); + do_error_dialog("Could not find contact in local list, therefore unable to request status message.\n", NULL, GAIM_ERROR); } else oscar_get_info(gc, who); } @@ -3797,7 +3800,8 @@ aim_admin_setnick(od->sess, aim_getconn_type(od->sess, AIM_CONN_TYPE_AUTH), nick); } } else { - do_error_dialog("The new formatting is invalid.", "Gaim"); + do_error_dialog("The new formatting is invalid.", + "Screenname formatting can change only capitalization and whitespace.", GAIM_ERROR); } } diff -r ccbcc11a68c2 -r 8fa61405af2b src/protocols/toc/toc.c --- a/src/protocols/toc/toc.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/protocols/toc/toc.c Sun Aug 25 10:51:24 2002 +0000 @@ -596,7 +596,7 @@ g_snprintf(snd, sizeof snd, "toc_init_done"); sflap_send(gc, snd, -1, TYPE_DATA); do_error_dialog(_("TOC has come back from its pause. You may now send" - " messages again."), _("TOC Resume")); + " messages again."), NULL, GAIM_INFO); } } else if (!strcasecmp(c, "CONFIG")) { c = strtok(NULL, ":"); @@ -669,7 +669,7 @@ serv_got_update(gc, c, logged, evil, signon, time_idle, type, 0); } else if (!strcasecmp(c, "ERROR")) { - do_error_dialog(show_error_message(), "TOC Error"); + do_error_dialog(show_error_message(), NULL, GAIM_ERROR); } else if (!strcasecmp(c, "EVILED")) { int lev; char *name; @@ -760,7 +760,7 @@ b->gc = NULL; g_snprintf(error_buf, sizeof error_buf, _("You have been disconnected" " from chat room %s."), b->name); - do_error_dialog(error_buf, _("Chat Error")); + do_error_dialog(error_buf, NULL, GAIM_ERROR); } else serv_got_chat_left(gc, id); } else if (!strcasecmp(c, "GOTO_URL")) { @@ -779,13 +779,13 @@ } else if (!strcasecmp(c, "DIR_STATUS")) { } else if (!strcasecmp(c, "ADMIN_NICK_STATUS")) { } else if (!strcasecmp(c, "ADMIN_PASSWD_STATUS")) { - do_error_dialog(_("Password Change Successful"), _("Gaim - Password Change")); + do_error_dialog(_("Password Change Successful"), NULL, GAIM_INFO); } else if (!strcasecmp(c, "PAUSE")) { tdt->state = STATE_PAUSE; - do_error_dialog(_("TOC has sent a PAUSE command. When this happens, TOC ignores" + do_error_dialog(_("TOC has sent a PAUSE command."), _("When this happens, TOC ignores" " any messages sent to it, and may kick you off if you send a" " message. Gaim will prevent anything from going through. This" - " is only temporary, please be patient."), _("TOC Pause")); + " is only temporary, please be patient."), GAIM_WARNING); } else if (!strcasecmp(c, "RVOUS_PROPOSE")) { char *user, *uuid, *cookie; int seq; @@ -1561,7 +1561,7 @@ ft->file = fopen(ft->filename, "w"); if (!ft->file) { buf = g_strdup_printf("Could not open %s for writing!", ft->filename); - do_error_dialog(buf, _("Error")); + do_error_dialog(buf, strerror(errno), GAIM_ERROR); g_free(buf); gaim_input_remove(ft->inpa); close(source); @@ -1578,7 +1578,7 @@ if (!ft->file) { buf = g_strdup_printf("Could not open %s/%s for writing!", ft->filename, ft->hdr.name); - do_error_dialog(buf, _("Error")); + do_error_dialog(buf, strerror(errno), GAIM_ERROR); g_free(buf); gaim_input_remove(ft->inpa); close(source); @@ -1595,7 +1595,7 @@ rt = read(source, buf, MIN(ntohl(ft->hdr.size) - ft->recvsize, 1024)); if (rt < 0) { - do_error_dialog("File transfer failed; other side probably canceled.", "Error"); + do_error_dialog("File transfer failed; other side probably canceled.", NULL, GAIM_ERROR); gaim_input_remove(ft->inpa); close(source); g_free(ft->user); @@ -1638,7 +1638,7 @@ struct file_transfer *ft = data; if (src == -1) { - do_error_dialog(_("Could not connect for transfer!"), _("Error")); + do_error_dialog(_("Could not connect for transfer."), NULL, GAIM_ERROR); g_free(ft->filename); g_free(ft->cookie); g_free(ft->user); @@ -1680,7 +1680,7 @@ fd = proxy_connect(ft->ip, ft->port, toc_send_file_connect, ft); if (fd < 0) { - do_error_dialog(_("Could not connect for transfer!"), _("Error")); + do_error_dialog(_("Could not connect for transfer."), NULL, GAIM_ERROR); g_free(ft->filename); g_free(ft->cookie); g_free(ft->user); @@ -1743,7 +1743,7 @@ if (ft->hdr.hdrtype != htons(0x120c)) { g_snprintf(buf, sizeof(buf), "%s decided to cancel the transfer", ft->user); - do_error_dialog(buf, "Error"); + do_error_dialog(buf, NULL, GAIM_ERROR); gaim_input_remove(ft->inpa); close(source); g_free(ft->filename); @@ -1799,7 +1799,7 @@ char *buf; if (src == -1) { - do_error_dialog(_("Could not connect for transfer!"), _("Error")); + do_error_dialog(_("Could not connect for transfer!"), NULL, GAIM_ERROR); fclose(ft->file); g_free(ft->filename); g_free(ft->cookie); @@ -1829,7 +1829,7 @@ hdr->lsizeoffset = 0x10; g_snprintf(hdr->name, 64, "listing.txt"); if (write(src, hdr, 256) < 0) { - do_error_dialog(_("Could not write file header!"), _("Error")); + do_error_dialog(_("Could not write file header. The file will not be transferred."), NULL, GAIM_ERROR); fclose(ft->file); g_free(ft->filename); g_free(ft->cookie); @@ -1856,16 +1856,16 @@ ft->filename = g_strdup(dirname); ft->file = fopen(ft->filename, "r"); if (!ft->file) { - buf = g_strdup_printf("Unable to open %s for transfer!", ft->filename); - do_error_dialog(buf, "Error"); + buf = g_strdup_printf("Unable to open %s for transfer.", ft->filename); + do_error_dialog(buf, NULL, GAIM_ERROR); g_free(buf); g_free(ft->filename); g_free(ft); return; } if (stat(dirname, &ft->st)) { - buf = g_strdup_printf("Unable to examine %s!", dirname); - do_error_dialog(buf, "Error"); + buf = g_strdup_printf("Unable to examine %s.", dirname); + do_error_dialog(buf, NULL, GAIM_ERROR); g_free(buf); g_free(ft->filename); g_free(ft); @@ -1885,7 +1885,7 @@ fd = proxy_connect(ft->ip, ft->port, toc_get_file_connect, ft); if (fd < 0) { - do_error_dialog(_("Could not connect for transfer!"), _("Error")); + do_error_dialog(_("Could not connect for transfer."), NULL, GAIM_ERROR); fclose(ft->file); g_free(ft->filename); g_free(ft->cookie); diff -r ccbcc11a68c2 -r 8fa61405af2b src/protocols/yahoo/yahoo.c --- a/src/protocols/yahoo/yahoo.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/protocols/yahoo/yahoo.c Sun Aug 25 10:51:24 2002 +0000 @@ -450,7 +450,7 @@ case 60: /* no clue */ break; case 16: /* Custom error message */ - do_error_dialog(pair->value, "Gaim -- Yahoo! Error"); + do_error_dialog(pair->value, NULL, GAIM_ERROR); break; default: debug_printf("unknown status key %d\n", pair->key); @@ -591,7 +591,7 @@ msg[j] = 0; serv_got_im(gc, from, msg, 0, tm, -1); } else if (pkt->status == 2) { - do_error_dialog(_("Your message did not get sent."), _("Gaim - Error")); + do_error_dialog(_("Your Yahoo! message did not get sent."), NULL, GAIM_ERROR); } } diff -r ccbcc11a68c2 -r 8fa61405af2b src/protocols/zephyr/zephyr.c --- a/src/protocols/zephyr/zephyr.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/protocols/zephyr/zephyr.c Sun Aug 25 10:51:24 2002 +0000 @@ -588,7 +588,8 @@ ZSubscription_t sub; if (zgc) { - do_error_dialog("Already logged in with Zephyr", "Zephyr"); + do_error_dialog("Already logged in with Zephyr", "Because Zephyr uses your system username, you are unable to " + "have multiple accounts on it when logged in as the same user.", GAIM_ERROR); return; } diff -r ccbcc11a68c2 -r 8fa61405af2b src/prpl.c --- a/src/prpl.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/prpl.c Sun Aug 25 10:51:24 2002 +0000 @@ -67,11 +67,12 @@ struct prpl *p; struct prpl *old; if (size != sizeof(struct prpl)) { - do_error_dialog(_("You have attempted to load a protocol which was not compiled" + do_error_dialog(_("Incompatible protocol detected."), + _("You have attempted to load a protocol which was not compiled" " from the same version of the source as this application was." " Unfortunately, because it is not the same version I cannot" " safely tell you which one it was. Needless to say, it was not" - " successfully loaded."), _("Protocol Error")); + " successfully loaded."), GAIM_ERROR); return; } @@ -81,11 +82,12 @@ unload_protocol(old); if (p->protocol == PROTO_ICQ) - do_error_dialog(_("Gaim has loaded the ICQ plugin. This plugin has been deprecated. " + do_error_dialog(_("Libicq.so detected."), + _("Gaim has loaded the ICQ plugin. This plugin has been deprecated. " "As such, it was probably not compiled from the same version of the " "source as this application was, and cannot be guaranteed to work. " "It is reccomended that you use the AIM/ICQ protocol to connect to ICQ"), - _("Protocol Warning")); + GAIM_WARNING); protocols = g_slist_insert_sorted(protocols, p, (GCompareFunc)proto_compare); @@ -103,7 +105,7 @@ g_snprintf(buf, sizeof buf, _("%s was using %s, which got removed." " %s is now offline."), g->username, p->name(), g->username); - do_error_dialog(buf, _("Disconnect")); + do_error_dialog(buf, NULL, GAIM_ERROR); signoff(g); c = connections; } else @@ -587,7 +589,7 @@ msg ? msg : "", find_buddy(gc, ga->who) ? "" : _("\n\nDo you wish to add him or her to your buddy list?")); if (find_buddy(gc, ga->who)) - do_error_dialog(buf, "Added to List"); + do_error_dialog(buf, NULL, GAIM_INFO); else do_ask_dialog(buf, ga, do_add, dont_add); } diff -r ccbcc11a68c2 -r 8fa61405af2b src/server.c --- a/src/server.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/server.c Sun Aug 25 10:51:24 2002 +0000 @@ -52,7 +52,7 @@ if (p && p->login) { if (!strlen(user->password) && !(p->options & OPT_PROTO_NO_PASSWORD)) { - do_error_dialog(_("Please enter your password"), _("Signon Error")); + do_error_dialog(_("Please enter your password"), NULL, GAIM_ERROR); return; } @@ -805,7 +805,7 @@ g_snprintf(buf2, sizeof(buf2), "%s has just been warned by %s.\nYour new warning level is %d%%", gc->username, ((name == NULL)? "an anonymous person" : name), lev); - do_error_dialog(buf2, _("Warned")); + do_error_dialog(buf2, NULL, GAIM_INFO); } void serv_got_typing(struct gaim_connection *gc, char *name, int timeout) { diff -r ccbcc11a68c2 -r 8fa61405af2b src/ui.h --- a/src/ui.h Sun Aug 25 06:08:15 2002 +0000 +++ b/src/ui.h Sun Aug 25 10:51:24 2002 +0000 @@ -81,10 +81,10 @@ #define FACE_YELL 15 #define FACE_TOTAL 16 -#define GAIM_PIXMAP_ICON 0 -#define GAIM_PIXMAP_ERROR 1 -#define GAIM_PIXMAP_WARNING 2 -#define GAIM_PIXMAP_ +#define GAIM_LOGO 0 +#define GAIM_ERROR 1 +#define GAIM_WARNING 2 +#define GAIM_INFO 3 struct debug_window { GtkWidget *window; diff -r ccbcc11a68c2 -r 8fa61405af2b src/util.c --- a/src/util.c Sun Aug 25 06:08:15 2002 +0000 +++ b/src/util.c Sun Aug 25 10:51:24 2002 +0000 @@ -353,7 +353,7 @@ if (res < 0) { g_snprintf(buf, BUF_LONG, "Unable to make directory %s for logging", log_all_file); - do_error_dialog(buf, "Error!"); + do_error_dialog(buf, NULL, GAIM_ERROR); g_free(buf); g_free(buf2); g_free(gaim_dir); @@ -375,7 +375,7 @@ if (res < 0) { g_snprintf(buf, BUF_LONG, "Unable to make directory %s for logging", log_all_file); - do_error_dialog(buf, "Error!"); + do_error_dialog(buf, NULL, GAIM_ERROR); g_free(buf); g_free(buf2); g_free(gaim_dir);