Mercurial > pidgin
comparison src/gtkaccount.c @ 12073:c59115994f67
[gaim-migrate @ 14368]
We're including GtkComboBox, so we don't need this alternate code, right?
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 13 Nov 2005 22:16:54 +0000 |
parents | e4666705944b |
children | 36a0c8719af3 |
comparison
equal
deleted
inserted
replaced
12072:1f8bab186e80 | 12073:c59115994f67 |
---|---|
128 | 128 |
129 /* Proxy Options */ | 129 /* Proxy Options */ |
130 GtkWidget *proxy_frame; | 130 GtkWidget *proxy_frame; |
131 GtkWidget *proxy_vbox; | 131 GtkWidget *proxy_vbox; |
132 GtkWidget *proxy_dropdown; | 132 GtkWidget *proxy_dropdown; |
133 #if !GTK_CHECK_VERSION(2,4,0) | |
134 GtkWidget *proxy_menu; | |
135 #endif | |
136 GtkWidget *proxy_host_entry; | 133 GtkWidget *proxy_host_entry; |
137 GtkWidget *proxy_port_entry; | 134 GtkWidget *proxy_port_entry; |
138 GtkWidget *proxy_user_entry; | 135 GtkWidget *proxy_user_entry; |
139 GtkWidget *proxy_pass_entry; | 136 GtkWidget *proxy_pass_entry; |
140 | 137 |
1116 | 1113 |
1117 static GtkWidget * | 1114 static GtkWidget * |
1118 make_proxy_dropdown(void) | 1115 make_proxy_dropdown(void) |
1119 { | 1116 { |
1120 GtkWidget *dropdown; | 1117 GtkWidget *dropdown; |
1121 | |
1122 #if GTK_CHECK_VERSION(2,4,0) | |
1123 GtkListStore *model; | 1118 GtkListStore *model; |
1124 GtkTreeIter iter; | 1119 GtkTreeIter iter; |
1125 GtkCellRenderer *renderer; | 1120 GtkCellRenderer *renderer; |
1126 | 1121 |
1127 model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); | 1122 model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); |
1166 renderer = gtk_cell_renderer_text_new(); | 1161 renderer = gtk_cell_renderer_text_new(); |
1167 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(dropdown), renderer, TRUE); | 1162 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(dropdown), renderer, TRUE); |
1168 gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(dropdown), renderer, | 1163 gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(dropdown), renderer, |
1169 "text", 0, NULL); | 1164 "text", 0, NULL); |
1170 | 1165 |
1171 #else | |
1172 GtkWidget *menu; | |
1173 GtkWidget *item; | |
1174 | |
1175 dropdown = gtk_option_menu_new(); | |
1176 menu = gtk_menu_new(); | |
1177 | |
1178 /* Use Global Proxy Settings */ | |
1179 item = gtk_menu_item_new_with_label(_("Use Global Proxy Settings")); | |
1180 g_object_set_data(G_OBJECT(item), "proxytype", | |
1181 GINT_TO_POINTER(GAIM_PROXY_USE_GLOBAL)); | |
1182 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); | |
1183 gtk_widget_show(item); | |
1184 | |
1185 /* No Proxy */ | |
1186 item = gtk_menu_item_new_with_label(_("No Proxy")); | |
1187 g_object_set_data(G_OBJECT(item), "proxytype", | |
1188 GINT_TO_POINTER(GAIM_PROXY_NONE)); | |
1189 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); | |
1190 gtk_widget_show(item); | |
1191 | |
1192 /* HTTP */ | |
1193 item = gtk_menu_item_new_with_label(_("HTTP")); | |
1194 g_object_set_data(G_OBJECT(item), "proxytype", | |
1195 GINT_TO_POINTER(GAIM_PROXY_HTTP)); | |
1196 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); | |
1197 gtk_widget_show(item); | |
1198 | |
1199 /* SOCKS 4 */ | |
1200 item = gtk_menu_item_new_with_label(_("SOCKS 4")); | |
1201 g_object_set_data(G_OBJECT(item), "proxytype", | |
1202 GINT_TO_POINTER(GAIM_PROXY_SOCKS4)); | |
1203 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); | |
1204 gtk_widget_show(item); | |
1205 | |
1206 /* SOCKS 5 */ | |
1207 item = gtk_menu_item_new_with_label(_("SOCKS 5")); | |
1208 g_object_set_data(G_OBJECT(item), "proxytype", | |
1209 GINT_TO_POINTER(GAIM_PROXY_SOCKS5)); | |
1210 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); | |
1211 gtk_widget_show(item); | |
1212 | |
1213 /* Use Environmental Settings */ | |
1214 item = gtk_menu_item_new_with_label(_("Use Environmental Settings")); | |
1215 g_object_set_data(G_OBJECT(item), "proxytype", | |
1216 GINT_TO_POINTER(GAIM_PROXY_USE_ENVVAR)); | |
1217 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); | |
1218 gtk_widget_show(item); | |
1219 | |
1220 gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu); | |
1221 #endif | |
1222 | |
1223 return dropdown; | 1166 return dropdown; |
1224 } | 1167 } |
1225 | 1168 |
1226 static void | 1169 static void |
1227 proxy_type_changed_cb(GtkWidget *menu, AccountPrefsDialog *dialog) | 1170 proxy_type_changed_cb(GtkWidget *menu, AccountPrefsDialog *dialog) |
1228 { | 1171 { |
1229 #if GTK_CHECK_VERSION(2,4,0) | |
1230 dialog->new_proxy_type = | 1172 dialog->new_proxy_type = |
1231 gtk_combo_box_get_active(GTK_COMBO_BOX(menu)) - 1; | 1173 gtk_combo_box_get_active(GTK_COMBO_BOX(menu)) - 1; |
1232 #else | |
1233 dialog->new_proxy_type = | |
1234 gtk_option_menu_get_history(GTK_OPTION_MENU(menu)) - 1; | |
1235 #endif | |
1236 | 1174 |
1237 if (dialog->new_proxy_type == GAIM_PROXY_USE_GLOBAL || | 1175 if (dialog->new_proxy_type == GAIM_PROXY_USE_GLOBAL || |
1238 dialog->new_proxy_type == GAIM_PROXY_NONE || | 1176 dialog->new_proxy_type == GAIM_PROXY_NONE || |
1239 dialog->new_proxy_type == GAIM_PROXY_USE_ENVVAR) { | 1177 dialog->new_proxy_type == GAIM_PROXY_USE_ENVVAR) { |
1240 | 1178 |
1281 gtk_container_add(GTK_CONTAINER(frame), vbox); | 1219 gtk_container_add(GTK_CONTAINER(frame), vbox); |
1282 gtk_widget_show(vbox); | 1220 gtk_widget_show(vbox); |
1283 | 1221 |
1284 /* Proxy Type drop-down. */ | 1222 /* Proxy Type drop-down. */ |
1285 dialog->proxy_dropdown = make_proxy_dropdown(); | 1223 dialog->proxy_dropdown = make_proxy_dropdown(); |
1286 #if !GTK_CHECK_VERSION(2,4,0) | |
1287 dialog->proxy_menu = | |
1288 gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->proxy_dropdown)); | |
1289 #endif | |
1290 | 1224 |
1291 add_pref_box(dialog, vbox, _("Proxy _type:"), dialog->proxy_dropdown); | 1225 add_pref_box(dialog, vbox, _("Proxy _type:"), dialog->proxy_dropdown); |
1292 | 1226 |
1293 /* Setup the second vbox, which may be hidden at times. */ | 1227 /* Setup the second vbox, which may be hidden at times. */ |
1294 dialog->proxy_vbox = vbox2 = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE); | 1228 dialog->proxy_vbox = vbox2 = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE); |
1323 GaimProxyType type = gaim_proxy_info_get_type(proxy_info); | 1257 GaimProxyType type = gaim_proxy_info_get_type(proxy_info); |
1324 | 1258 |
1325 /* Hah! */ | 1259 /* Hah! */ |
1326 /* I dunno what you're laughing about, fuzz ball. */ | 1260 /* I dunno what you're laughing about, fuzz ball. */ |
1327 dialog->new_proxy_type = type; | 1261 dialog->new_proxy_type = type; |
1328 #if GTK_CHECK_VERSION(2,4,0) | |
1329 gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->proxy_dropdown), | 1262 gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->proxy_dropdown), |
1330 type + 1); | 1263 type + 1); |
1331 #else | |
1332 gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->proxy_dropdown), | |
1333 (int)type + 1); | |
1334 #endif | |
1335 | 1264 |
1336 if (type == GAIM_PROXY_USE_GLOBAL || type == GAIM_PROXY_NONE || | 1265 if (type == GAIM_PROXY_USE_GLOBAL || type == GAIM_PROXY_NONE || |
1337 type == GAIM_PROXY_USE_ENVVAR) { | 1266 type == GAIM_PROXY_USE_ENVVAR) { |
1338 gtk_widget_hide_all(vbox2); | 1267 gtk_widget_hide_all(vbox2); |
1339 } | 1268 } |
1359 gtk_entry_set_text(GTK_ENTRY(dialog->proxy_pass_entry), value); | 1288 gtk_entry_set_text(GTK_ENTRY(dialog->proxy_pass_entry), value); |
1360 } | 1289 } |
1361 } | 1290 } |
1362 else { | 1291 else { |
1363 dialog->new_proxy_type = GAIM_PROXY_USE_GLOBAL; | 1292 dialog->new_proxy_type = GAIM_PROXY_USE_GLOBAL; |
1364 #if GTK_CHECK_VERSION(2,4,0) | |
1365 gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->proxy_dropdown), | 1293 gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->proxy_dropdown), |
1366 dialog->new_proxy_type + 1); | 1294 dialog->new_proxy_type + 1); |
1367 #else | |
1368 gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->proxy_dropdown), | |
1369 dialog->new_proxy_type + 1); | |
1370 #endif | |
1371 gtk_widget_hide_all(vbox2); | 1295 gtk_widget_hide_all(vbox2); |
1372 } | 1296 } |
1373 | 1297 |
1374 /* Connect signals. */ | 1298 /* Connect signals. */ |
1375 g_signal_connect(G_OBJECT(dialog->proxy_dropdown), "changed", | 1299 g_signal_connect(G_OBJECT(dialog->proxy_dropdown), "changed", |