Code cleanup

This commit is contained in:
Pierre Pronchery 2011-05-14 16:37:25 +00:00
parent 1a8955c8c6
commit 2c7d2f1695
7 changed files with 351 additions and 342 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Surfer 0.1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-14 18:12+0200\n"
"POT-Creation-Date: 2011-05-14 18:27+0200\n"
"PO-Revision-Date: 2010-04-01 19:40+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: German\n"
@ -27,42 +27,6 @@ msgid ""
"Do you really want to close every tab opened in this window?"
msgstr ""
#: ../src/callbacks.c:524
msgid "Web surfer preferences"
msgstr "Web surfer Einstellungen"
#: ../src/callbacks.c:544
msgid "Homepage:"
msgstr ""
#: ../src/callbacks.c:552
msgid "Focus new tabs"
msgstr ""
#: ../src/callbacks.c:556
msgid "General"
msgstr ""
#: ../src/callbacks.c:560
msgid "Direct connection"
msgstr ""
#: ../src/callbacks.c:564
msgid "HTTP proxy:"
msgstr ""
#: ../src/callbacks.c:571
msgid "Hostname:"
msgstr ""
#: ../src/callbacks.c:575
msgid "Port:"
msgstr ""
#: ../src/callbacks.c:583
msgid "Network"
msgstr ""
#: ../src/common/conn.c:204 ../src/download.c:210 ../src/ghtml-gtkhtml.c:876
msgid "Resolving..."
msgstr ""
@ -389,7 +353,7 @@ msgstr "Web surfer"
msgid " Location: "
msgstr ""
#: ../src/surfer.c:395 ../src/surfer.c:1572 ../src/surfer.c:1577
#: ../src/surfer.c:395 ../src/surfer.c:1741 ../src/surfer.c:1746
msgid "Security information"
msgstr ""
@ -457,27 +421,63 @@ msgstr ""
msgid "Line"
msgstr "Linie"
#: ../src/surfer.c:1558
#: ../src/surfer.c:1568
msgid "Web surfer preferences"
msgstr "Web surfer Einstellungen"
#: ../src/surfer.c:1588
msgid "Homepage:"
msgstr ""
#: ../src/surfer.c:1596
msgid "Focus new tabs"
msgstr ""
#: ../src/surfer.c:1600
msgid "General"
msgstr ""
#: ../src/surfer.c:1604
msgid "Direct connection"
msgstr ""
#: ../src/surfer.c:1608
msgid "HTTP proxy:"
msgstr ""
#: ../src/surfer.c:1615
msgid "Hostname:"
msgstr ""
#: ../src/surfer.c:1619
msgid "Port:"
msgstr ""
#: ../src/surfer.c:1627
msgid "Network"
msgstr ""
#: ../src/surfer.c:1727
msgid "This connection is encrypted and trusted."
msgstr ""
#: ../src/surfer.c:1561
#: ../src/surfer.c:1730
msgid "This connection is encrypted but not trusted."
msgstr ""
#: ../src/surfer.c:1565
#: ../src/surfer.c:1734
msgid "This connection is not encrypted."
msgstr ""
#: ../src/surfer.c:1621
#: ../src/surfer.c:1790
msgid "Web surfer - Source of "
msgstr ""
#: ../src/surfer.c:1663 ../src/surfer.c:1666 ../src/surfer.c:1721
#: ../src/surfer.c:1726
#: ../src/surfer.c:1832 ../src/surfer.c:1835 ../src/surfer.c:1890
#: ../src/surfer.c:1895
msgid "Warning"
msgstr "Achtung"
#: ../src/surfer.c:1725
#: ../src/surfer.c:1894
msgid "This file already exists. Overwrite?"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Surfer 0.1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-14 18:12+0200\n"
"POT-Creation-Date: 2011-05-14 18:27+0200\n"
"PO-Revision-Date: 2010-04-01 19:40+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Spanish\n"
@ -27,42 +27,6 @@ msgid ""
"Do you really want to close every tab opened in this window?"
msgstr ""
#: ../src/callbacks.c:524
msgid "Web surfer preferences"
msgstr "Web surfer preferencias"
#: ../src/callbacks.c:544
msgid "Homepage:"
msgstr ""
#: ../src/callbacks.c:552
msgid "Focus new tabs"
msgstr ""
#: ../src/callbacks.c:556
msgid "General"
msgstr ""
#: ../src/callbacks.c:560
msgid "Direct connection"
msgstr ""
#: ../src/callbacks.c:564
msgid "HTTP proxy:"
msgstr ""
#: ../src/callbacks.c:571
msgid "Hostname:"
msgstr ""
#: ../src/callbacks.c:575
msgid "Port:"
msgstr ""
#: ../src/callbacks.c:583
msgid "Network"
msgstr ""
#: ../src/common/conn.c:204 ../src/download.c:210 ../src/ghtml-gtkhtml.c:876
msgid "Resolving..."
msgstr ""
@ -389,7 +353,7 @@ msgstr "Web surfer"
msgid " Location: "
msgstr ""
#: ../src/surfer.c:395 ../src/surfer.c:1572 ../src/surfer.c:1577
#: ../src/surfer.c:395 ../src/surfer.c:1741 ../src/surfer.c:1746
msgid "Security information"
msgstr ""
@ -457,27 +421,63 @@ msgstr ""
msgid "Line"
msgstr ""
#: ../src/surfer.c:1558
#: ../src/surfer.c:1568
msgid "Web surfer preferences"
msgstr "Web surfer preferencias"
#: ../src/surfer.c:1588
msgid "Homepage:"
msgstr ""
#: ../src/surfer.c:1596
msgid "Focus new tabs"
msgstr ""
#: ../src/surfer.c:1600
msgid "General"
msgstr ""
#: ../src/surfer.c:1604
msgid "Direct connection"
msgstr ""
#: ../src/surfer.c:1608
msgid "HTTP proxy:"
msgstr ""
#: ../src/surfer.c:1615
msgid "Hostname:"
msgstr ""
#: ../src/surfer.c:1619
msgid "Port:"
msgstr ""
#: ../src/surfer.c:1627
msgid "Network"
msgstr ""
#: ../src/surfer.c:1727
msgid "This connection is encrypted and trusted."
msgstr ""
#: ../src/surfer.c:1561
#: ../src/surfer.c:1730
msgid "This connection is encrypted but not trusted."
msgstr ""
#: ../src/surfer.c:1565
#: ../src/surfer.c:1734
msgid "This connection is not encrypted."
msgstr ""
#: ../src/surfer.c:1621
#: ../src/surfer.c:1790
msgid "Web surfer - Source of "
msgstr ""
#: ../src/surfer.c:1663 ../src/surfer.c:1666 ../src/surfer.c:1721
#: ../src/surfer.c:1726
#: ../src/surfer.c:1832 ../src/surfer.c:1835 ../src/surfer.c:1890
#: ../src/surfer.c:1895
msgid "Warning"
msgstr ""
#: ../src/surfer.c:1725
#: ../src/surfer.c:1894
msgid "This file already exists. Overwrite?"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Surfer 0.1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-14 18:12+0200\n"
"POT-Creation-Date: 2011-05-14 18:27+0200\n"
"PO-Revision-Date: 2010-04-01 19:40+0200\n"
"Last-Translator: Calimero <calimeroteknik@free.fr>\n"
"Language-Team: French\n"
@ -29,42 +29,6 @@ msgstr ""
"Plusieurs onglets sont ouverts.\n"
"Voulez-vous vraiment fermer tous les onglets de cette fenêtre ?"
#: ../src/callbacks.c:524
msgid "Web surfer preferences"
msgstr "Préférences de Web surfer"
#: ../src/callbacks.c:544
msgid "Homepage:"
msgstr "Page d'accueil :"
#: ../src/callbacks.c:552
msgid "Focus new tabs"
msgstr "Focaliser les nouveaux onglets"
#: ../src/callbacks.c:556
msgid "General"
msgstr "Général"
#: ../src/callbacks.c:560
msgid "Direct connection"
msgstr "Connexion directe"
#: ../src/callbacks.c:564
msgid "HTTP proxy:"
msgstr "Proxy HTTP :"
#: ../src/callbacks.c:571
msgid "Hostname:"
msgstr "Hôte :"
#: ../src/callbacks.c:575
msgid "Port:"
msgstr "Port :"
#: ../src/callbacks.c:583
msgid "Network"
msgstr "Réseau"
#: ../src/common/conn.c:204 ../src/download.c:210 ../src/ghtml-gtkhtml.c:876
msgid "Resolving..."
msgstr "Résolution du domaine..."
@ -395,7 +359,7 @@ msgstr "Web surfer"
msgid " Location: "
msgstr " Adresse: "
#: ../src/surfer.c:395 ../src/surfer.c:1572 ../src/surfer.c:1577
#: ../src/surfer.c:395 ../src/surfer.c:1741 ../src/surfer.c:1746
msgid "Security information"
msgstr "Informations de sécurité"
@ -463,27 +427,63 @@ msgstr "Source"
msgid "Line"
msgstr "Ligne"
#: ../src/surfer.c:1558
#: ../src/surfer.c:1568
msgid "Web surfer preferences"
msgstr "Préférences de Web surfer"
#: ../src/surfer.c:1588
msgid "Homepage:"
msgstr "Page d'accueil :"
#: ../src/surfer.c:1596
msgid "Focus new tabs"
msgstr "Focaliser les nouveaux onglets"
#: ../src/surfer.c:1600
msgid "General"
msgstr "Général"
#: ../src/surfer.c:1604
msgid "Direct connection"
msgstr "Connexion directe"
#: ../src/surfer.c:1608
msgid "HTTP proxy:"
msgstr "Proxy HTTP :"
#: ../src/surfer.c:1615
msgid "Hostname:"
msgstr "Hôte :"
#: ../src/surfer.c:1619
msgid "Port:"
msgstr "Port :"
#: ../src/surfer.c:1627
msgid "Network"
msgstr "Réseau"
#: ../src/surfer.c:1727
msgid "This connection is encrypted and trusted."
msgstr "Cette connexion est chiffrée et de confiance."
#: ../src/surfer.c:1561
#: ../src/surfer.c:1730
msgid "This connection is encrypted but not trusted."
msgstr "Cette connexion est chiffrée mais pas de confiance."
#: ../src/surfer.c:1565
#: ../src/surfer.c:1734
msgid "This connection is not encrypted."
msgstr "Cette connexion n'est pas chiffrée."
#: ../src/surfer.c:1621
#: ../src/surfer.c:1790
msgid "Web surfer - Source of "
msgstr "Web surfer - Source de "
#: ../src/surfer.c:1663 ../src/surfer.c:1666 ../src/surfer.c:1721
#: ../src/surfer.c:1726
#: ../src/surfer.c:1832 ../src/surfer.c:1835 ../src/surfer.c:1890
#: ../src/surfer.c:1895
msgid "Warning"
msgstr "Avertissement"
#: ../src/surfer.c:1725
#: ../src/surfer.c:1894
msgid "This file already exists. Overwrite?"
msgstr "Le fichier existe déjà. L'écraser ?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Surfer 0.1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-14 18:12+0200\n"
"POT-Creation-Date: 2011-05-14 18:27+0200\n"
"PO-Revision-Date: 2010-04-11 12:06+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Italian\n"
@ -27,42 +27,6 @@ msgid ""
"Do you really want to close every tab opened in this window?"
msgstr ""
#: ../src/callbacks.c:524
msgid "Web surfer preferences"
msgstr ""
#: ../src/callbacks.c:544
msgid "Homepage:"
msgstr ""
#: ../src/callbacks.c:552
msgid "Focus new tabs"
msgstr ""
#: ../src/callbacks.c:556
msgid "General"
msgstr ""
#: ../src/callbacks.c:560
msgid "Direct connection"
msgstr ""
#: ../src/callbacks.c:564
msgid "HTTP proxy:"
msgstr ""
#: ../src/callbacks.c:571
msgid "Hostname:"
msgstr ""
#: ../src/callbacks.c:575
msgid "Port:"
msgstr ""
#: ../src/callbacks.c:583
msgid "Network"
msgstr ""
#: ../src/common/conn.c:204 ../src/download.c:210 ../src/ghtml-gtkhtml.c:876
msgid "Resolving..."
msgstr ""
@ -389,7 +353,7 @@ msgstr ""
msgid " Location: "
msgstr ""
#: ../src/surfer.c:395 ../src/surfer.c:1572 ../src/surfer.c:1577
#: ../src/surfer.c:395 ../src/surfer.c:1741 ../src/surfer.c:1746
msgid "Security information"
msgstr ""
@ -457,27 +421,63 @@ msgstr ""
msgid "Line"
msgstr ""
#: ../src/surfer.c:1558
#: ../src/surfer.c:1568
msgid "Web surfer preferences"
msgstr ""
#: ../src/surfer.c:1588
msgid "Homepage:"
msgstr ""
#: ../src/surfer.c:1596
msgid "Focus new tabs"
msgstr ""
#: ../src/surfer.c:1600
msgid "General"
msgstr ""
#: ../src/surfer.c:1604
msgid "Direct connection"
msgstr ""
#: ../src/surfer.c:1608
msgid "HTTP proxy:"
msgstr ""
#: ../src/surfer.c:1615
msgid "Hostname:"
msgstr ""
#: ../src/surfer.c:1619
msgid "Port:"
msgstr ""
#: ../src/surfer.c:1627
msgid "Network"
msgstr ""
#: ../src/surfer.c:1727
msgid "This connection is encrypted and trusted."
msgstr ""
#: ../src/surfer.c:1561
#: ../src/surfer.c:1730
msgid "This connection is encrypted but not trusted."
msgstr ""
#: ../src/surfer.c:1565
#: ../src/surfer.c:1734
msgid "This connection is not encrypted."
msgstr ""
#: ../src/surfer.c:1621
#: ../src/surfer.c:1790
msgid "Web surfer - Source of "
msgstr ""
#: ../src/surfer.c:1663 ../src/surfer.c:1666 ../src/surfer.c:1721
#: ../src/surfer.c:1726
#: ../src/surfer.c:1832 ../src/surfer.c:1835 ../src/surfer.c:1890
#: ../src/surfer.c:1895
msgid "Warning"
msgstr ""
#: ../src/surfer.c:1725
#: ../src/surfer.c:1894
msgid "This file already exists. Overwrite?"
msgstr ""

View File

@ -497,172 +497,11 @@ void on_path_activate(gpointer data)
/* on_preferences */
static void _preferences_set(Surfer * surfer);
/* callbacks */
static gboolean _preferences_on_closex(gpointer data);
static void _preferences_on_response(GtkWidget * widget, gint response,
gpointer data);
static void _preferences_on_cancel(gpointer data);
static void _preferences_on_ok(gpointer data);
static void _preferences_on_proxy_http_toggled(gpointer data);
void on_preferences(gpointer data)
{
Surfer * surfer = data;
GtkWidget * vbox;
GtkWidget * widget;
GtkWidget * notebook;
GtkWidget * page;
GtkWidget * hbox;
if(surfer->pr_window != NULL)
{
gtk_widget_show(surfer->pr_window);
return;
}
surfer->pr_window = gtk_dialog_new_with_buttons(
_("Web surfer preferences"), GTK_WINDOW(surfer->window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
g_signal_connect_swapped(G_OBJECT(surfer->pr_window), "delete-event",
G_CALLBACK(_preferences_on_closex), surfer);
g_signal_connect(G_OBJECT(surfer->pr_window), "response",
G_CALLBACK(_preferences_on_response), surfer);
#if GTK_CHECK_VERSION(2, 14, 0)
vbox = gtk_dialog_get_content_area(GTK_DIALOG(surfer->pr_window));
#else
vbox = GTK_DIALOG(surfer->pr_window)->vbox;
#endif
/* notebook */
notebook = gtk_notebook_new();
/* general tab */
page = gtk_vbox_new(FALSE, 4);
gtk_container_set_border_width(GTK_CONTAINER(page), 4);
/* homepage */
hbox = gtk_hbox_new(FALSE, 4);
widget = gtk_label_new(_("Homepage:"));
gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
surfer->pr_homepage = gtk_entry_new();
gtk_box_pack_start(GTK_BOX(hbox), surfer->pr_homepage, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, TRUE, 0);
/* focus new tabs */
hbox = gtk_hbox_new(FALSE, 4);
surfer->pr_focus_tabs = gtk_check_button_new_with_label(
_("Focus new tabs"));
gtk_box_pack_start(GTK_BOX(hbox), surfer->pr_focus_tabs, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, TRUE, 0);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page,
gtk_label_new(_("General")));
/* network tab */
page = gtk_vbox_new(FALSE, 4);
gtk_container_set_border_width(GTK_CONTAINER(page), 4);
widget = gtk_radio_button_new_with_label(NULL, _("Direct connection"));
surfer->pr_proxy_radio_direct = widget;
gtk_box_pack_start(GTK_BOX(page), widget, FALSE, TRUE, 0);
widget = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(
widget), _("HTTP proxy:"));
surfer->pr_proxy_radio_http = widget;
g_signal_connect_swapped(G_OBJECT(widget), "toggled", G_CALLBACK(
_preferences_on_proxy_http_toggled), surfer);
gtk_box_pack_start(GTK_BOX(page), widget, FALSE, TRUE, 0);
/* http proxy */
hbox = gtk_hbox_new(FALSE, 4);
widget = gtk_label_new(_("Hostname:"));
gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
surfer->pr_proxy_http = gtk_entry_new();
gtk_box_pack_start(GTK_BOX(hbox), surfer->pr_proxy_http, TRUE, TRUE, 0);
widget = gtk_label_new(_("Port:"));
gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
surfer->pr_proxy_http_port = gtk_spin_button_new_with_range(0, 65535,
1.0);
gtk_box_pack_start(GTK_BOX(hbox), surfer->pr_proxy_http_port, FALSE,
TRUE, 0);
gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, TRUE, 0);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page,
gtk_label_new(_("Network")));
gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0);
_preferences_set(surfer);
gtk_widget_show_all(surfer->pr_window);
}
static void _preferences_set(Surfer * surfer)
{
char const * p;
gtk_entry_set_text(GTK_ENTRY(surfer->pr_homepage), surfer->homepage
!= NULL ? surfer->homepage : "");
if((p = config_get(surfer->config, "", "focus_new_tabs")) != NULL
&& strcmp(p, "1") == 0)
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
surfer->pr_focus_tabs), TRUE);
else
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
surfer->pr_focus_tabs), FALSE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
surfer->pr_proxy_radio_http),
surfer->proxy_type == SPT_HTTP);
_preferences_on_proxy_http_toggled(surfer);
if(surfer->proxy_http != NULL)
gtk_entry_set_text(GTK_ENTRY(surfer->pr_proxy_http),
surfer->proxy_http);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(surfer->pr_proxy_http_port),
surfer->proxy_http_port);
}
static gboolean _preferences_on_closex(gpointer data)
{
Surfer * surfer = data;
_preferences_on_cancel(surfer);
return TRUE;
}
static void _preferences_on_response(GtkWidget * widget, gint response,
gpointer data)
{
gtk_widget_hide(widget);
if(response == GTK_RESPONSE_OK)
_preferences_on_ok(data);
else if(response == GTK_RESPONSE_CANCEL)
_preferences_on_cancel(data);
}
static void _preferences_on_cancel(gpointer data)
{
Surfer * surfer = data;
gtk_widget_hide(surfer->pr_window);
_preferences_set(surfer);
}
static void _preferences_on_ok(gpointer data)
{
Surfer * surfer = data;
SurferProxyType type = SPT_NONE;
gtk_widget_hide(surfer->pr_window);
surfer_set_homepage(surfer, gtk_entry_get_text(GTK_ENTRY(
surfer->pr_homepage)));
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
surfer->pr_proxy_radio_http)))
type = SPT_HTTP;
surfer_set_proxy(surfer, type, gtk_entry_get_text(GTK_ENTRY(
surfer->pr_proxy_http)),
gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(
surfer->pr_proxy_http_port)));
surfer_config_save(surfer);
}
static void _preferences_on_proxy_http_toggled(gpointer data)
{
Surfer * surfer = data;
gboolean active;
active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
surfer->pr_proxy_radio_http));
gtk_widget_set_sensitive(surfer->pr_proxy_http, active);
gtk_widget_set_sensitive(surfer->pr_proxy_http_port, active);
surfer_view_preferences(surfer);
}

View File

@ -1541,6 +1541,175 @@ void surfer_unselect_all(Surfer * surfer)
}
/* surfer_view_preferences */
static void _preferences_set(Surfer * surfer);
/* callbacks */
static gboolean _preferences_on_closex(gpointer data);
static void _preferences_on_response(GtkWidget * widget, gint response,
gpointer data);
static void _preferences_on_cancel(gpointer data);
static void _preferences_on_ok(gpointer data);
static void _preferences_on_proxy_http_toggled(gpointer data);
void surfer_view_preferences(Surfer * surfer)
{
GtkWidget * vbox;
GtkWidget * widget;
GtkWidget * notebook;
GtkWidget * page;
GtkWidget * hbox;
if(surfer->pr_window != NULL)
{
gtk_widget_show(surfer->pr_window);
return;
}
surfer->pr_window = gtk_dialog_new_with_buttons(
_("Web surfer preferences"), GTK_WINDOW(surfer->window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
g_signal_connect_swapped(G_OBJECT(surfer->pr_window), "delete-event",
G_CALLBACK(_preferences_on_closex), surfer);
g_signal_connect(G_OBJECT(surfer->pr_window), "response",
G_CALLBACK(_preferences_on_response), surfer);
#if GTK_CHECK_VERSION(2, 14, 0)
vbox = gtk_dialog_get_content_area(GTK_DIALOG(surfer->pr_window));
#else
vbox = GTK_DIALOG(surfer->pr_window)->vbox;
#endif
/* notebook */
notebook = gtk_notebook_new();
/* general tab */
page = gtk_vbox_new(FALSE, 4);
gtk_container_set_border_width(GTK_CONTAINER(page), 4);
/* homepage */
hbox = gtk_hbox_new(FALSE, 4);
widget = gtk_label_new(_("Homepage:"));
gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
surfer->pr_homepage = gtk_entry_new();
gtk_box_pack_start(GTK_BOX(hbox), surfer->pr_homepage, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, TRUE, 0);
/* focus new tabs */
hbox = gtk_hbox_new(FALSE, 4);
surfer->pr_focus_tabs = gtk_check_button_new_with_label(
_("Focus new tabs"));
gtk_box_pack_start(GTK_BOX(hbox), surfer->pr_focus_tabs, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, TRUE, 0);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page,
gtk_label_new(_("General")));
/* network tab */
page = gtk_vbox_new(FALSE, 4);
gtk_container_set_border_width(GTK_CONTAINER(page), 4);
widget = gtk_radio_button_new_with_label(NULL, _("Direct connection"));
surfer->pr_proxy_radio_direct = widget;
gtk_box_pack_start(GTK_BOX(page), widget, FALSE, TRUE, 0);
widget = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(
widget), _("HTTP proxy:"));
surfer->pr_proxy_radio_http = widget;
g_signal_connect_swapped(G_OBJECT(widget), "toggled", G_CALLBACK(
_preferences_on_proxy_http_toggled), surfer);
gtk_box_pack_start(GTK_BOX(page), widget, FALSE, TRUE, 0);
/* http proxy */
hbox = gtk_hbox_new(FALSE, 4);
widget = gtk_label_new(_("Hostname:"));
gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
surfer->pr_proxy_http = gtk_entry_new();
gtk_box_pack_start(GTK_BOX(hbox), surfer->pr_proxy_http, TRUE, TRUE, 0);
widget = gtk_label_new(_("Port:"));
gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
surfer->pr_proxy_http_port = gtk_spin_button_new_with_range(0, 65535,
1.0);
gtk_box_pack_start(GTK_BOX(hbox), surfer->pr_proxy_http_port, FALSE,
TRUE, 0);
gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, TRUE, 0);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page,
gtk_label_new(_("Network")));
gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0);
_preferences_set(surfer);
gtk_widget_show_all(surfer->pr_window);
}
static void _preferences_set(Surfer * surfer)
{
char const * p;
gtk_entry_set_text(GTK_ENTRY(surfer->pr_homepage), surfer->homepage
!= NULL ? surfer->homepage : "");
if((p = config_get(surfer->config, "", "focus_new_tabs")) != NULL
&& strcmp(p, "1") == 0)
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
surfer->pr_focus_tabs), TRUE);
else
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
surfer->pr_focus_tabs), FALSE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
surfer->pr_proxy_radio_http),
surfer->proxy_type == SPT_HTTP);
_preferences_on_proxy_http_toggled(surfer);
if(surfer->proxy_http != NULL)
gtk_entry_set_text(GTK_ENTRY(surfer->pr_proxy_http),
surfer->proxy_http);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(surfer->pr_proxy_http_port),
surfer->proxy_http_port);
}
static gboolean _preferences_on_closex(gpointer data)
{
Surfer * surfer = data;
_preferences_on_cancel(surfer);
return TRUE;
}
static void _preferences_on_response(GtkWidget * widget, gint response,
gpointer data)
{
gtk_widget_hide(widget);
if(response == GTK_RESPONSE_OK)
_preferences_on_ok(data);
else if(response == GTK_RESPONSE_CANCEL)
_preferences_on_cancel(data);
}
static void _preferences_on_cancel(gpointer data)
{
Surfer * surfer = data;
gtk_widget_hide(surfer->pr_window);
_preferences_set(surfer);
}
static void _preferences_on_ok(gpointer data)
{
Surfer * surfer = data;
SurferProxyType type = SPT_NONE;
gtk_widget_hide(surfer->pr_window);
surfer_set_homepage(surfer, gtk_entry_get_text(GTK_ENTRY(
surfer->pr_homepage)));
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
surfer->pr_proxy_radio_http)))
type = SPT_HTTP;
surfer_set_proxy(surfer, type, gtk_entry_get_text(GTK_ENTRY(
surfer->pr_proxy_http)),
gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(
surfer->pr_proxy_http_port)));
surfer_config_save(surfer);
}
static void _preferences_on_proxy_http_toggled(gpointer data)
{
Surfer * surfer = data;
gboolean active;
active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
surfer->pr_proxy_radio_http));
gtk_widget_set_sensitive(surfer->pr_proxy_http, active);
gtk_widget_set_sensitive(surfer->pr_proxy_http_port, active);
}
/* surfer_view_security */
void surfer_view_security(Surfer * surfer)
{

View File

@ -131,6 +131,7 @@ void surfer_refresh(Surfer * surfer);
void surfer_reload(Surfer * surfer);
void surfer_stop(Surfer * surfer);
void surfer_view_preferences(Surfer * surfer);
void surfer_view_security(Surfer * surfer);
void surfer_view_source(Surfer * surfer);