1 Index: gaim/src/gtkaccount.c
2 ===================================================================
3 --- gaim.orig/src/gtkaccount.c 2005-08-25 17:16:44.000000000 +0200
4 +++ gaim/src/gtkaccount.c 2005-08-29 22:34:25.511003600 +0200
14 gaim_set_accessible_label (dialog->icon_entry, label);
15 dialog->icon_path = NULL;
17 - vbox2 = gtk_vbox_new(FALSE, 0);
18 - gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 0);
19 - gtk_widget_show(vbox2);
21 hbox2 = gtk_hbox_new(FALSE, GAIM_HIG_BOX_SPACE);
22 - gtk_box_pack_start(GTK_BOX(vbox2), hbox2, FALSE, FALSE, GAIM_HIG_BORDER);
23 + gtk_box_pack_start(GTK_BOX(vbox), hbox2, FALSE, FALSE, GAIM_HIG_BORDER);
24 gtk_widget_show(hbox2);
26 button = gtk_button_new_from_stock(GTK_STOCK_OPEN);
27 @@ -1275,7 +1270,18 @@
28 gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->proxy_dropdown));
31 - add_pref_box(dialog, vbox, _("Proxy _type:"), dialog->proxy_dropdown);
33 + label = gtk_label_new_with_mnemonic(_("Proxy _type:"));
34 + gtk_size_group_add_widget(dialog->sg, label);
35 + gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
36 + gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
37 + gtk_widget_show(label);
39 + gtk_box_pack_start(GTK_BOX(vbox), dialog->proxy_dropdown, TRUE, TRUE, GAIM_HIG_BORDER);
40 + gtk_widget_show(dialog->proxy_dropdown);
41 + gaim_set_accessible_label (dialog->proxy_dropdown, label);
43 + //add_pref_box(dialog, vbox, _("Proxy _type:"), dialog->proxy_dropdown);
45 /* Setup the second vbox, which may be hidden at times. */
46 dialog->proxy_vbox = vbox2 = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE);
48 AccountPrefsDialog *dialog;
55 @@ -1709,10 +1716,19 @@
56 gtk_box_pack_start(GTK_BOX(main_vbox), notebook, FALSE, FALSE, 0);
58 /* Setup the inner vbox */
60 + sw = gtk_scrolled_window_new(NULL, NULL);
61 + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
62 + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
63 + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw),
65 + gtk_widget_set_size_request(sw, -1, -1);
66 + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), sw,
67 + gtk_label_new_with_mnemonic("_Basic"));
68 + gtk_widget_show(sw);
69 dialog->top_vbox = vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER);
70 gtk_container_set_border_width(GTK_CONTAINER(vbox), GAIM_HIG_BORDER);
71 - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox,
72 - gtk_label_new_with_mnemonic("_Basic"));
73 + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), vbox);
74 gtk_widget_show(vbox);
76 /* Setup the top frames. */
77 @@ -1720,10 +1736,20 @@
78 add_user_options(dialog, vbox);
80 /* Setup the page with 'Advanced'. */
82 + sw = gtk_scrolled_window_new(NULL, NULL);
83 + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
84 + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
85 + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw),
87 + gtk_widget_set_size_request(sw, -1, -1);
88 + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), sw,
89 + gtk_label_new_with_mnemonic("_Advanced"));
90 + gtk_widget_show(sw);
91 dialog->bottom_vbox = dbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER);
92 gtk_container_set_border_width(GTK_CONTAINER(dbox), GAIM_HIG_BORDER);
93 - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), dbox,
94 - gtk_label_new_with_mnemonic("_Advanced"));
95 + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), dbox);
96 + gtk_widget_show(dbox);
98 /** Setup the bottom frames. */
99 add_protocol_options(dialog, dbox);
100 @@ -1731,46 +1757,50 @@
101 add_proxy_options(dialog, dbox);
103 /* Setup the button box */
104 - bbox = gtk_hbutton_box_new();
105 + //bbox = gtk_hbutton_box_new();
106 + //Replaced with a hbox, otherwise the Register-button doesn't fit (same size required)
107 + bbox = gtk_hbox_new(FALSE, GAIM_HIG_BORDER);
108 gtk_box_set_spacing(GTK_BOX(bbox), GAIM_HIG_BOX_SPACE);
109 - gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
110 gtk_box_pack_end(GTK_BOX(main_vbox), bbox, FALSE, TRUE, 0);
111 gtk_widget_show(bbox);
113 - /* Register button */
114 - button = gtk_button_new_with_label(_("Register"));
115 - gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
116 - gtk_widget_show(button);
118 - g_signal_connect(G_OBJECT(button), "clicked",
119 - G_CALLBACK(register_account_prefs_cb), dialog);
121 - dialog->register_button = button;
124 + button = gtk_button_new_from_stock(GTK_STOCK_SAVE);
125 + gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0);
127 if (dialog->account == NULL)
128 gtk_widget_set_sensitive(button, FALSE);
130 - if (!dialog->prpl_info || !dialog->prpl_info->register_user)
131 - gtk_widget_hide(button);
132 + gtk_widget_show(button);
134 + dialog->ok_button = button;
136 + g_signal_connect(G_OBJECT(button), "clicked",
137 + G_CALLBACK(ok_account_prefs_cb), dialog);
140 button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
141 - gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
142 + gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0);
143 gtk_widget_show(button);
145 g_signal_connect(G_OBJECT(button), "clicked",
146 G_CALLBACK(cancel_account_prefs_cb), dialog);
149 - button = gtk_button_new_from_stock(GTK_STOCK_SAVE);
150 - gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
151 + /* Register button */
152 + button = gtk_button_new_with_label(_("Register"));
153 + gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0);
154 + gtk_widget_show(button);
156 + g_signal_connect(G_OBJECT(button), "clicked",
157 + G_CALLBACK(register_account_prefs_cb), dialog);
159 + dialog->register_button = button;
161 if (dialog->account == NULL)
162 gtk_widget_set_sensitive(button, FALSE);
164 - gtk_widget_show(button);
166 - dialog->ok_button = button;
167 + if (!dialog->prpl_info || !dialog->prpl_info->register_user)
168 + gtk_widget_hide(button);
171 gtk_drag_dest_set(dialog->window,
172 @@ -1783,11 +1813,20 @@
173 g_signal_connect(G_OBJECT(dialog->window), "drag_data_received",
174 G_CALLBACK(account_dnd_recv), dialog);
176 - g_signal_connect(G_OBJECT(button), "clicked",
177 - G_CALLBACK(ok_account_prefs_cb), dialog);
179 /* Show the window. */
180 gtk_widget_show(win);
182 + //Wait for the window to have recieved its "configure_event",
183 + //which means it has been resized by the WM
184 + while (gtk_events_pending ()) gtk_main_iteration ();
186 + //Get allocated size, and adjust widgets accordingly
188 + gtk_window_get_size(GTK_WINDOW(win), &w, &h);
190 + w = w - GAIM_HIG_BORDER * 2;
191 + gtk_widget_set_size_request(GTK_WIDGET(dialog->protocol_menu), w, -1);
195 /**************************************************************************
196 @@ -2389,6 +2428,7 @@
197 bbox = gtk_hbutton_box_new();
198 gtk_box_set_spacing(GTK_BOX(bbox), GAIM_HIG_BOX_SPACE);
199 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
200 + gtk_button_box_set_child_size(GTK_BUTTON_BOX(bbox), 20, -1); //DEPRECATED FFH
201 gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, TRUE, 0);
202 gtk_widget_show(bbox);
204 @@ -2421,12 +2461,13 @@
205 G_CALLBACK(ask_delete_account_cb), dialog);
208 - button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
209 + //We can do without the close button to save screen estate
210 + /*button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
211 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
212 gtk_widget_show(button);
214 g_signal_connect(G_OBJECT(button), "clicked",
215 - G_CALLBACK(close_accounts_cb), dialog);
216 + G_CALLBACK(close_accounts_cb), dialog);*/
218 /* Setup some gaim signal handlers. */
219 gaim_signal_connect(gaim_connections_get_handle(), "signed-on",