Mercurial > pidgin.yaz
comparison pidgin/gtkprefs.c @ 21136:93e674197822
merge of '8efbae676804d160b330226a663aa241a8d6a78e'
and 'ede8595c50d5172b15365ffcff7a2b7748269bc7'
author | Ka-Hing Cheung <khc@hxbc.us> |
---|---|
date | Sun, 04 Nov 2007 18:32:21 +0000 |
parents | 68fc9d5c43f7 |
children | 184f5991502d |
comparison
equal
deleted
inserted
replaced
21118:f3a995c30205 | 21136:93e674197822 |
---|---|
1124 | 1124 |
1125 purple_notify_error(NULL, NULL, _("Cannot start proxy configuration program."), err->message); | 1125 purple_notify_error(NULL, NULL, _("Cannot start proxy configuration program."), err->message); |
1126 g_error_free(err); | 1126 g_error_free(err); |
1127 } | 1127 } |
1128 | 1128 |
1129 static void | |
1130 browser_button_clicked_cb(GtkWidget *button, gpointer null) | |
1131 { | |
1132 GError *err = NULL; | |
1133 | |
1134 if (g_spawn_command_line_async ("gnome-default-applications-properties", &err)) | |
1135 return; | |
1136 | |
1137 purple_notify_error(NULL, NULL, _("Cannot start browser configuration program."), err->message); | |
1138 g_error_free(err); | |
1139 } | |
1140 | |
1129 static GtkWidget * | 1141 static GtkWidget * |
1130 network_page() | 1142 network_page() |
1131 { | 1143 { |
1132 GtkWidget *ret; | 1144 GtkWidget *ret; |
1133 GtkWidget *vbox, *hbox, *entry; | 1145 GtkWidget *vbox, *hbox, *entry; |
1134 GtkWidget *table, *label, *auto_ip_checkbox, *ports_checkbox, *spin_button; | 1146 GtkWidget *table, *label, *auto_ip_checkbox, *ports_checkbox, *spin_button; |
1135 GtkWidget *warning = NULL, *proxy_button = NULL; | 1147 GtkWidget *proxy_warning = NULL, *browser_warning = NULL; |
1148 GtkWidget *proxy_button = NULL, *browser_button = NULL; | |
1136 GtkSizeGroup *sg; | 1149 GtkSizeGroup *sg; |
1137 PurpleProxyInfo *proxy_info = NULL; | 1150 PurpleProxyInfo *proxy_info = NULL; |
1138 | 1151 |
1139 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); | 1152 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
1140 gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); | 1153 gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); |
1215 if (!purple_prefs_get_bool("/purple/network/ports_range_use")) | 1228 if (!purple_prefs_get_bool("/purple/network/ports_range_use")) |
1216 gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE); | 1229 gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE); |
1217 g_signal_connect(G_OBJECT(ports_checkbox), "clicked", | 1230 g_signal_connect(G_OBJECT(ports_checkbox), "clicked", |
1218 G_CALLBACK(pidgin_toggle_sensitive), spin_button); | 1231 G_CALLBACK(pidgin_toggle_sensitive), spin_button); |
1219 | 1232 |
1220 vbox = pidgin_make_frame(ret, _("Proxy Server")); | |
1221 prefs_proxy_frame = gtk_vbox_new(FALSE, 0); | |
1222 | |
1223 if (purple_running_gnome()) { | 1233 if (purple_running_gnome()) { |
1224 warning = hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); | 1234 vbox = pidgin_make_frame(ret, _("Proxy Server & Browser")); |
1235 prefs_proxy_frame = gtk_vbox_new(FALSE, 0); | |
1236 | |
1237 proxy_warning = hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); | |
1225 gtk_container_add(GTK_CONTAINER(vbox), hbox); | 1238 gtk_container_add(GTK_CONTAINER(vbox), hbox); |
1226 | 1239 |
1227 label = gtk_label_new(NULL); | 1240 label = gtk_label_new(NULL); |
1228 gtk_label_set_markup(GTK_LABEL(label), | 1241 gtk_label_set_markup(GTK_LABEL(label), |
1229 _("<b>Proxy configuration program was not found.</b>")); | 1242 _("<b>Proxy configuration program was not found.</b>")); |
1230 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1243 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1231 | 1244 |
1245 browser_warning = hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); | |
1246 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
1247 | |
1248 label = gtk_label_new(NULL); | |
1249 gtk_label_set_markup(GTK_LABEL(label), | |
1250 _("<b>Browser configuration program was not found.</b>")); | |
1251 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
1252 | |
1232 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); | 1253 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
1233 gtk_container_add(GTK_CONTAINER(vbox), hbox); | 1254 gtk_container_add(GTK_CONTAINER(vbox), hbox); |
1234 label = gtk_label_new(_("Proxy preferences are configured in\n" | 1255 label = gtk_label_new(_("Proxy & Browser preferences are configured\n" |
1235 "GNOME Control Center: Desktop Preferences")); | 1256 "in GNOME Preferences")); |
1236 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1257 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1237 gtk_widget_show(label); | 1258 gtk_widget_show(label); |
1238 | 1259 |
1239 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); | 1260 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
1240 gtk_container_add(GTK_CONTAINER(vbox), hbox); | 1261 gtk_container_add(GTK_CONTAINER(vbox), hbox); |
1241 proxy_button = gtk_button_new_with_mnemonic(_("Configure _Proxy")); | 1262 proxy_button = gtk_button_new_with_mnemonic(_("Configure _Proxy")); |
1242 g_signal_connect(G_OBJECT(proxy_button), "clicked", | 1263 g_signal_connect(G_OBJECT(proxy_button), "clicked", |
1243 G_CALLBACK(proxy_button_clicked_cb), NULL); | 1264 G_CALLBACK(proxy_button_clicked_cb), NULL); |
1244 gtk_box_pack_start(GTK_BOX(hbox), proxy_button, FALSE, FALSE, 0); | 1265 gtk_box_pack_start(GTK_BOX(hbox), proxy_button, FALSE, FALSE, 0); |
1245 gtk_widget_show(proxy_button); | 1266 gtk_widget_show(proxy_button); |
1267 browser_button = gtk_button_new_with_mnemonic(_("Configure _Browser")); | |
1268 g_signal_connect(G_OBJECT(browser_button), "clicked", | |
1269 G_CALLBACK(browser_button_clicked_cb), NULL); | |
1270 gtk_box_pack_start(GTK_BOX(hbox), browser_button, FALSE, FALSE, 0); | |
1271 gtk_widget_show(browser_button); | |
1246 } else { | 1272 } else { |
1273 vbox = pidgin_make_frame(ret, _("Proxy Server")); | |
1274 prefs_proxy_frame = gtk_vbox_new(FALSE, 0); | |
1275 | |
1247 pidgin_prefs_dropdown(vbox, _("Proxy _type:"), PURPLE_PREF_STRING, | 1276 pidgin_prefs_dropdown(vbox, _("Proxy _type:"), PURPLE_PREF_STRING, |
1248 "/purple/proxy/type", | 1277 "/purple/proxy/type", |
1249 _("No proxy"), "none", | 1278 _("No proxy"), "none", |
1250 "SOCKS 4", "socks4", | 1279 "SOCKS 4", "socks4", |
1251 "SOCKS 5", "socks5", | 1280 "SOCKS 5", "socks5", |
1349 } else if (purple_running_gnome()) { | 1378 } else if (purple_running_gnome()) { |
1350 gchar *path; | 1379 gchar *path; |
1351 path = g_find_program_in_path("gnome-network-preferences"); | 1380 path = g_find_program_in_path("gnome-network-preferences"); |
1352 if (path != NULL) { | 1381 if (path != NULL) { |
1353 gtk_widget_set_sensitive(proxy_button, TRUE); | 1382 gtk_widget_set_sensitive(proxy_button, TRUE); |
1354 gtk_widget_hide(warning); | 1383 gtk_widget_hide(proxy_warning); |
1355 g_free(path); | 1384 g_free(path); |
1356 } else { | 1385 } else { |
1357 gtk_widget_set_sensitive(proxy_button, FALSE); | 1386 gtk_widget_set_sensitive(proxy_button, FALSE); |
1358 gtk_widget_show(warning); | 1387 gtk_widget_show(proxy_warning); |
1388 } | |
1389 path = g_find_program_in_path("gnome-default-applications-properties"); | |
1390 if (path != NULL) { | |
1391 gtk_widget_set_sensitive(browser_button, TRUE); | |
1392 gtk_widget_hide(browser_warning); | |
1393 g_free(path); | |
1394 } else { | |
1395 gtk_widget_set_sensitive(browser_button, FALSE); | |
1396 gtk_widget_show(browser_warning); | |
1359 } | 1397 } |
1360 } | 1398 } |
1361 | 1399 |
1362 return ret; | 1400 return ret; |
1363 } | 1401 } |