diff --git a/po/de.po b/po/de.po index cc27341..f09d270 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Surfer 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-05 02:15+0100\n" +"POT-Creation-Date: 2010-12-09 23:23+0100\n" "PO-Revision-Date: 2010-04-01 19:40+0200\n" "Last-Translator: Pierre Pronchery \n" "Language-Team: German\n" @@ -16,57 +16,69 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/callbacks.c:426 +#: ../src/callbacks.c:427 msgid "Web surfer preferences" msgstr "Web surfer Einstellungen" -#: ../src/callbacks.c:446 +#: ../src/callbacks.c:447 msgid "Homepage:" msgstr "" -#: ../src/callbacks.c:454 +#: ../src/callbacks.c:455 msgid "Focus new tabs" msgstr "" -#: ../src/callbacks.c:458 +#: ../src/callbacks.c:459 msgid "General" msgstr "" -#: ../src/callbacks.c:464 +#: ../src/callbacks.c:463 +msgid "Direct connection" +msgstr "" + +#: ../src/callbacks.c:467 msgid "HTTP proxy:" msgstr "" -#: ../src/callbacks.c:470 +#: ../src/callbacks.c:474 +msgid "Hostname:" +msgstr "" + +#: ../src/callbacks.c:478 +msgid "Port:" +msgstr "" + +#: ../src/callbacks.c:486 msgid "Network" msgstr "" -#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:829 +#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:832 msgid "Resolving..." msgstr "" -#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:879 +#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:882 msgid "Connected" msgstr "" -#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:914 -#: ../src/ghtml-webkit.c:408 ../src/ghtml-webkit.c:545 -#: ../src/ghtml-webkit.c:558 +#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:917 +#: ../src/ghtml-webkit.c:422 ../src/ghtml-webkit.c:581 +#: ../src/ghtml-webkit.c:594 msgid "Downloading..." msgstr "" -#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:960 +#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:963 msgid "Unsupported protocol" msgstr "" -#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:964 +#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:967 msgid "Unknown host" msgstr "" -#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:969 +#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:972 msgid "Unspecified error" msgstr "" -#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1065 +#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1068 msgid "Timeout" msgstr "" @@ -103,7 +115,7 @@ msgid "Close window when the download is complete" msgstr "" #: ../src/download.c:291 ../src/download.c:296 ../src/download.c:631 -#: ../src/surfer.c:822 ../src/surfer.c:825 +#: ../src/surfer.c:853 ../src/surfer.c:856 msgid "Error" msgstr "Fehler" @@ -158,7 +170,7 @@ msgstr "" msgid "Code " msgstr "" -#: ../src/download.c:605 ../src/ghtml-webkit.c:501 ../src/surfer.c:824 +#: ../src/download.c:605 ../src/ghtml-webkit.c:537 ../src/surfer.c:855 msgid "Unknown error" msgstr "" @@ -169,32 +181,32 @@ msgid "" " -U\tuser agent string to send\n" msgstr "" -#: ../src/ghtml-gtkhtml.c:706 +#: ../src/ghtml-gtkhtml.c:709 msgid "Unknown protocol" msgstr "" -#: ../src/ghtml-gtkhtml.c:772 +#: ../src/ghtml-gtkhtml.c:775 msgid "Reading file..." msgstr "" -#: ../src/ghtml-gtkhtml.c:984 +#: ../src/ghtml-gtkhtml.c:987 msgid "Redirecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:992 +#: ../src/ghtml-gtkhtml.c:995 msgid "Redirecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1026 ../src/ghtml-webkit.c:303 -#: ../src/ghtml-webkit.c:406 +#: ../src/ghtml-gtkhtml.c:1029 ../src/ghtml-webkit.c:317 +#: ../src/ghtml-webkit.c:420 msgid "Connecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:1029 +#: ../src/ghtml-gtkhtml.c:1032 msgid "Connecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1187 +#: ../src/ghtml-gtkhtml.c:1190 msgid "Unsupported method" msgstr "" @@ -330,88 +342,88 @@ msgstr "" msgid "Home" msgstr "" -#: ../src/surfer.c:286 ../src/surfer.c:571 +#: ../src/surfer.c:292 ../src/surfer.c:594 msgid "Web surfer" msgstr "Web surfer" -#: ../src/surfer.c:334 +#: ../src/surfer.c:340 msgid " Location: " msgstr "" -#: ../src/surfer.c:541 +#: ../src/surfer.c:564 msgid "Ready" msgstr "" -#: ../src/surfer.c:584 ../src/surfer.c:1021 +#: ../src/surfer.c:607 ../src/surfer.c:1053 msgid "Untitled" msgstr "" -#: ../src/surfer.c:702 ../src/surfer.c:705 ../src/surfer.c:1086 -#: ../src/surfer.c:1089 +#: ../src/surfer.c:733 ../src/surfer.c:736 ../src/surfer.c:1118 +#: ../src/surfer.c:1121 msgid "Question" msgstr "" -#: ../src/surfer.c:775 ../src/surfer.c:1152 +#: ../src/surfer.c:806 ../src/surfer.c:1184 msgid "Save file as..." msgstr "" -#: ../src/surfer.c:853 +#: ../src/surfer.c:884 msgid "Find text" msgstr "Suchen" -#: ../src/surfer.c:860 +#: ../src/surfer.c:891 msgid "Text:" msgstr "" -#: ../src/surfer.c:867 +#: ../src/surfer.c:898 msgid "Case-sensitive" msgstr "" -#: ../src/surfer.c:869 +#: ../src/surfer.c:900 msgid "Wrap" msgstr "" -#: ../src/surfer.c:895 +#: ../src/surfer.c:926 msgid "Text not found" msgstr "" -#: ../src/surfer.c:983 +#: ../src/surfer.c:1014 msgid "Open file..." msgstr "" -#: ../src/surfer.c:1012 +#: ../src/surfer.c:1043 msgid "Could not initialize HTML renderer" msgstr "" -#: ../src/surfer.c:1213 +#: ../src/surfer.c:1245 msgid "Javascript console" msgstr "" -#: ../src/surfer.c:1218 +#: ../src/surfer.c:1250 msgid "Command:" msgstr "" -#: ../src/surfer.c:1237 +#: ../src/surfer.c:1269 msgid "Message" msgstr "" -#: ../src/surfer.c:1242 +#: ../src/surfer.c:1274 msgid "Source" msgstr "" -#: ../src/surfer.c:1247 +#: ../src/surfer.c:1279 msgid "Line" msgstr "Linie" -#: ../src/surfer.c:1372 +#: ../src/surfer.c:1404 msgid "Web surfer - Source of " msgstr "" -#: ../src/surfer.c:1413 ../src/surfer.c:1416 ../src/surfer.c:1471 -#: ../src/surfer.c:1476 +#: ../src/surfer.c:1445 ../src/surfer.c:1448 ../src/surfer.c:1503 +#: ../src/surfer.c:1508 msgid "Warning" msgstr "Achtung" -#: ../src/surfer.c:1475 +#: ../src/surfer.c:1507 msgid "This file already exists. Overwrite?" msgstr "" diff --git a/po/es.po b/po/es.po index 83f6a0c..654136b 100644 --- a/po/es.po +++ b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Surfer 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-05 02:15+0100\n" +"POT-Creation-Date: 2010-12-09 23:23+0100\n" "PO-Revision-Date: 2010-04-01 19:40+0200\n" "Last-Translator: Pierre Pronchery \n" "Language-Team: Spanish\n" @@ -16,57 +16,69 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/callbacks.c:426 +#: ../src/callbacks.c:427 msgid "Web surfer preferences" msgstr "Web surfer preferencias" -#: ../src/callbacks.c:446 +#: ../src/callbacks.c:447 msgid "Homepage:" msgstr "" -#: ../src/callbacks.c:454 +#: ../src/callbacks.c:455 msgid "Focus new tabs" msgstr "" -#: ../src/callbacks.c:458 +#: ../src/callbacks.c:459 msgid "General" msgstr "" -#: ../src/callbacks.c:464 +#: ../src/callbacks.c:463 +msgid "Direct connection" +msgstr "" + +#: ../src/callbacks.c:467 msgid "HTTP proxy:" msgstr "" -#: ../src/callbacks.c:470 +#: ../src/callbacks.c:474 +msgid "Hostname:" +msgstr "" + +#: ../src/callbacks.c:478 +msgid "Port:" +msgstr "" + +#: ../src/callbacks.c:486 msgid "Network" msgstr "" -#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:829 +#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:832 msgid "Resolving..." msgstr "" -#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:879 +#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:882 msgid "Connected" msgstr "" -#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:914 -#: ../src/ghtml-webkit.c:408 ../src/ghtml-webkit.c:545 -#: ../src/ghtml-webkit.c:558 +#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:917 +#: ../src/ghtml-webkit.c:422 ../src/ghtml-webkit.c:581 +#: ../src/ghtml-webkit.c:594 msgid "Downloading..." msgstr "" -#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:960 +#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:963 msgid "Unsupported protocol" msgstr "" -#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:964 +#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:967 msgid "Unknown host" msgstr "" -#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:969 +#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:972 msgid "Unspecified error" msgstr "" -#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1065 +#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1068 msgid "Timeout" msgstr "" @@ -103,7 +115,7 @@ msgid "Close window when the download is complete" msgstr "" #: ../src/download.c:291 ../src/download.c:296 ../src/download.c:631 -#: ../src/surfer.c:822 ../src/surfer.c:825 +#: ../src/surfer.c:853 ../src/surfer.c:856 msgid "Error" msgstr "" @@ -158,7 +170,7 @@ msgstr "" msgid "Code " msgstr "" -#: ../src/download.c:605 ../src/ghtml-webkit.c:501 ../src/surfer.c:824 +#: ../src/download.c:605 ../src/ghtml-webkit.c:537 ../src/surfer.c:855 msgid "Unknown error" msgstr "" @@ -169,32 +181,32 @@ msgid "" " -U\tuser agent string to send\n" msgstr "" -#: ../src/ghtml-gtkhtml.c:706 +#: ../src/ghtml-gtkhtml.c:709 msgid "Unknown protocol" msgstr "" -#: ../src/ghtml-gtkhtml.c:772 +#: ../src/ghtml-gtkhtml.c:775 msgid "Reading file..." msgstr "" -#: ../src/ghtml-gtkhtml.c:984 +#: ../src/ghtml-gtkhtml.c:987 msgid "Redirecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:992 +#: ../src/ghtml-gtkhtml.c:995 msgid "Redirecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1026 ../src/ghtml-webkit.c:303 -#: ../src/ghtml-webkit.c:406 +#: ../src/ghtml-gtkhtml.c:1029 ../src/ghtml-webkit.c:317 +#: ../src/ghtml-webkit.c:420 msgid "Connecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:1029 +#: ../src/ghtml-gtkhtml.c:1032 msgid "Connecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1187 +#: ../src/ghtml-gtkhtml.c:1190 msgid "Unsupported method" msgstr "" @@ -330,88 +342,88 @@ msgstr "" msgid "Home" msgstr "" -#: ../src/surfer.c:286 ../src/surfer.c:571 +#: ../src/surfer.c:292 ../src/surfer.c:594 msgid "Web surfer" msgstr "Web surfer" -#: ../src/surfer.c:334 +#: ../src/surfer.c:340 msgid " Location: " msgstr "" -#: ../src/surfer.c:541 +#: ../src/surfer.c:564 msgid "Ready" msgstr "" -#: ../src/surfer.c:584 ../src/surfer.c:1021 +#: ../src/surfer.c:607 ../src/surfer.c:1053 msgid "Untitled" msgstr "" -#: ../src/surfer.c:702 ../src/surfer.c:705 ../src/surfer.c:1086 -#: ../src/surfer.c:1089 +#: ../src/surfer.c:733 ../src/surfer.c:736 ../src/surfer.c:1118 +#: ../src/surfer.c:1121 msgid "Question" msgstr "" -#: ../src/surfer.c:775 ../src/surfer.c:1152 +#: ../src/surfer.c:806 ../src/surfer.c:1184 msgid "Save file as..." msgstr "Guardar como..." -#: ../src/surfer.c:853 +#: ../src/surfer.c:884 msgid "Find text" msgstr "Buscar" -#: ../src/surfer.c:860 +#: ../src/surfer.c:891 msgid "Text:" msgstr "" -#: ../src/surfer.c:867 +#: ../src/surfer.c:898 msgid "Case-sensitive" msgstr "" -#: ../src/surfer.c:869 +#: ../src/surfer.c:900 msgid "Wrap" msgstr "" -#: ../src/surfer.c:895 +#: ../src/surfer.c:926 msgid "Text not found" msgstr "" -#: ../src/surfer.c:983 +#: ../src/surfer.c:1014 msgid "Open file..." msgstr "Abrir..." -#: ../src/surfer.c:1012 +#: ../src/surfer.c:1043 msgid "Could not initialize HTML renderer" msgstr "" -#: ../src/surfer.c:1213 +#: ../src/surfer.c:1245 msgid "Javascript console" msgstr "" -#: ../src/surfer.c:1218 +#: ../src/surfer.c:1250 msgid "Command:" msgstr "" -#: ../src/surfer.c:1237 +#: ../src/surfer.c:1269 msgid "Message" msgstr "" -#: ../src/surfer.c:1242 +#: ../src/surfer.c:1274 msgid "Source" msgstr "" -#: ../src/surfer.c:1247 +#: ../src/surfer.c:1279 msgid "Line" msgstr "" -#: ../src/surfer.c:1372 +#: ../src/surfer.c:1404 msgid "Web surfer - Source of " msgstr "" -#: ../src/surfer.c:1413 ../src/surfer.c:1416 ../src/surfer.c:1471 -#: ../src/surfer.c:1476 +#: ../src/surfer.c:1445 ../src/surfer.c:1448 ../src/surfer.c:1503 +#: ../src/surfer.c:1508 msgid "Warning" msgstr "" -#: ../src/surfer.c:1475 +#: ../src/surfer.c:1507 msgid "This file already exists. Overwrite?" msgstr "" diff --git a/po/fr.po b/po/fr.po index 73bac2a..4b46d94 100644 --- a/po/fr.po +++ b/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Surfer 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-05 02:15+0100\n" +"POT-Creation-Date: 2010-12-09 23:23+0100\n" "PO-Revision-Date: 2010-04-01 19:40+0200\n" "Last-Translator: Calimero \n" "Language-Team: French\n" @@ -16,57 +16,69 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../src/callbacks.c:426 +#: ../src/callbacks.c:427 msgid "Web surfer preferences" msgstr "Préférences de Web surfer" -#: ../src/callbacks.c:446 +#: ../src/callbacks.c:447 msgid "Homepage:" msgstr "Page d'accueil :" -#: ../src/callbacks.c:454 +#: ../src/callbacks.c:455 msgid "Focus new tabs" msgstr "Focaliser les nouveaux onglets" -#: ../src/callbacks.c:458 +#: ../src/callbacks.c:459 msgid "General" msgstr "Général" -#: ../src/callbacks.c:464 +#: ../src/callbacks.c:463 +msgid "Direct connection" +msgstr "Connexion directe" + +#: ../src/callbacks.c:467 msgid "HTTP proxy:" msgstr "Proxy HTTP :" -#: ../src/callbacks.c:470 +#: ../src/callbacks.c:474 +msgid "Hostname:" +msgstr "Hôte :" + +#: ../src/callbacks.c:478 +msgid "Port:" +msgstr "Port :" + +#: ../src/callbacks.c:486 msgid "Network" msgstr "Réseau" -#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:829 +#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:832 msgid "Resolving..." msgstr "Résolution du domaine..." -#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:879 +#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:882 msgid "Connected" msgstr "Connecté" -#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:914 -#: ../src/ghtml-webkit.c:408 ../src/ghtml-webkit.c:545 -#: ../src/ghtml-webkit.c:558 +#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:917 +#: ../src/ghtml-webkit.c:422 ../src/ghtml-webkit.c:581 +#: ../src/ghtml-webkit.c:594 msgid "Downloading..." msgstr "Téléchargement..." -#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:960 +#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:963 msgid "Unsupported protocol" msgstr "Protocole non supporté" -#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:964 +#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:967 msgid "Unknown host" msgstr "Hôte inconnu" -#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:969 +#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:972 msgid "Unspecified error" msgstr "Erreur non spécifiée" -#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1065 +#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1068 msgid "Timeout" msgstr "Délai dépassé" @@ -103,7 +115,7 @@ msgid "Close window when the download is complete" msgstr "Fermer la fenêtre à la fin du téléchargement" #: ../src/download.c:291 ../src/download.c:296 ../src/download.c:631 -#: ../src/surfer.c:822 ../src/surfer.c:825 +#: ../src/surfer.c:853 ../src/surfer.c:856 msgid "Error" msgstr "Erreur" @@ -158,7 +170,7 @@ msgstr "Résolu" msgid "Code " msgstr "Code " -#: ../src/download.c:605 ../src/ghtml-webkit.c:501 ../src/surfer.c:824 +#: ../src/download.c:605 ../src/ghtml-webkit.c:537 ../src/surfer.c:855 msgid "Unknown error" msgstr "Erreur inconnue" @@ -172,32 +184,32 @@ msgstr "" " -O\tfichier de destination\n" " -U\tuser-agent à utiliser\n" -#: ../src/ghtml-gtkhtml.c:706 +#: ../src/ghtml-gtkhtml.c:709 msgid "Unknown protocol" msgstr "Protocole inconnu" -#: ../src/ghtml-gtkhtml.c:772 +#: ../src/ghtml-gtkhtml.c:775 msgid "Reading file..." msgstr "Lecture du fichier..." -#: ../src/ghtml-gtkhtml.c:984 +#: ../src/ghtml-gtkhtml.c:987 msgid "Redirecting..." msgstr "Redirection..." -#: ../src/ghtml-gtkhtml.c:992 +#: ../src/ghtml-gtkhtml.c:995 msgid "Redirecting to " msgstr "Redirection vers " -#: ../src/ghtml-gtkhtml.c:1026 ../src/ghtml-webkit.c:303 -#: ../src/ghtml-webkit.c:406 +#: ../src/ghtml-gtkhtml.c:1029 ../src/ghtml-webkit.c:317 +#: ../src/ghtml-webkit.c:420 msgid "Connecting..." msgstr "Connexion..." -#: ../src/ghtml-gtkhtml.c:1029 +#: ../src/ghtml-gtkhtml.c:1032 msgid "Connecting to " msgstr "Connexion à " -#: ../src/ghtml-gtkhtml.c:1187 +#: ../src/ghtml-gtkhtml.c:1190 msgid "Unsupported method" msgstr "Méthode non supportée" @@ -333,88 +345,88 @@ msgstr "Actualiser" msgid "Home" msgstr "Page d'accueil" -#: ../src/surfer.c:286 ../src/surfer.c:571 +#: ../src/surfer.c:292 ../src/surfer.c:594 msgid "Web surfer" msgstr "Web surfer" -#: ../src/surfer.c:334 +#: ../src/surfer.c:340 msgid " Location: " msgstr " Adresse: " -#: ../src/surfer.c:541 +#: ../src/surfer.c:564 msgid "Ready" msgstr "Prêt" -#: ../src/surfer.c:584 ../src/surfer.c:1021 +#: ../src/surfer.c:607 ../src/surfer.c:1053 msgid "Untitled" msgstr "Sans titre" -#: ../src/surfer.c:702 ../src/surfer.c:705 ../src/surfer.c:1086 -#: ../src/surfer.c:1089 +#: ../src/surfer.c:733 ../src/surfer.c:736 ../src/surfer.c:1118 +#: ../src/surfer.c:1121 msgid "Question" msgstr "Question" -#: ../src/surfer.c:775 ../src/surfer.c:1152 +#: ../src/surfer.c:806 ../src/surfer.c:1184 msgid "Save file as..." msgstr "Enregistrer sous..." -#: ../src/surfer.c:853 +#: ../src/surfer.c:884 msgid "Find text" msgstr "Chercher du texte" -#: ../src/surfer.c:860 +#: ../src/surfer.c:891 msgid "Text:" msgstr "Texte: " -#: ../src/surfer.c:867 +#: ../src/surfer.c:898 msgid "Case-sensitive" msgstr "Sensible à la casse" -#: ../src/surfer.c:869 +#: ../src/surfer.c:900 msgid "Wrap" msgstr "Chercher en boucle" -#: ../src/surfer.c:895 +#: ../src/surfer.c:926 msgid "Text not found" msgstr "Texte non trouvé" -#: ../src/surfer.c:983 +#: ../src/surfer.c:1014 msgid "Open file..." msgstr "Ouvrir un fichier..." -#: ../src/surfer.c:1012 +#: ../src/surfer.c:1043 msgid "Could not initialize HTML renderer" msgstr "Ne peut charger le moteur de rendu HTML" -#: ../src/surfer.c:1213 +#: ../src/surfer.c:1245 msgid "Javascript console" msgstr "Console Javascript" -#: ../src/surfer.c:1218 +#: ../src/surfer.c:1250 msgid "Command:" msgstr "Commande :" -#: ../src/surfer.c:1237 +#: ../src/surfer.c:1269 msgid "Message" msgstr "Message" -#: ../src/surfer.c:1242 +#: ../src/surfer.c:1274 msgid "Source" msgstr "Source" -#: ../src/surfer.c:1247 +#: ../src/surfer.c:1279 msgid "Line" msgstr "Ligne" -#: ../src/surfer.c:1372 +#: ../src/surfer.c:1404 msgid "Web surfer - Source of " msgstr "Web surfer - Source de " -#: ../src/surfer.c:1413 ../src/surfer.c:1416 ../src/surfer.c:1471 -#: ../src/surfer.c:1476 +#: ../src/surfer.c:1445 ../src/surfer.c:1448 ../src/surfer.c:1503 +#: ../src/surfer.c:1508 msgid "Warning" msgstr "Avertissement" -#: ../src/surfer.c:1475 +#: ../src/surfer.c:1507 msgid "This file already exists. Overwrite?" msgstr "Le fichier existe déjà. L'écraser ?" diff --git a/po/it.po b/po/it.po index a9c5e0f..0f384fb 100644 --- a/po/it.po +++ b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Surfer 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-05 02:15+0100\n" +"POT-Creation-Date: 2010-12-09 23:23+0100\n" "PO-Revision-Date: 2010-04-11 12:06+0200\n" "Last-Translator: Pierre Pronchery \n" "Language-Team: Italian\n" @@ -16,57 +16,69 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/callbacks.c:426 +#: ../src/callbacks.c:427 msgid "Web surfer preferences" msgstr "" -#: ../src/callbacks.c:446 +#: ../src/callbacks.c:447 msgid "Homepage:" msgstr "" -#: ../src/callbacks.c:454 +#: ../src/callbacks.c:455 msgid "Focus new tabs" msgstr "" -#: ../src/callbacks.c:458 +#: ../src/callbacks.c:459 msgid "General" msgstr "" -#: ../src/callbacks.c:464 +#: ../src/callbacks.c:463 +msgid "Direct connection" +msgstr "" + +#: ../src/callbacks.c:467 msgid "HTTP proxy:" msgstr "" -#: ../src/callbacks.c:470 +#: ../src/callbacks.c:474 +msgid "Hostname:" +msgstr "" + +#: ../src/callbacks.c:478 +msgid "Port:" +msgstr "" + +#: ../src/callbacks.c:486 msgid "Network" msgstr "" -#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:829 +#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:832 msgid "Resolving..." msgstr "" -#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:879 +#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:882 msgid "Connected" msgstr "" -#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:914 -#: ../src/ghtml-webkit.c:408 ../src/ghtml-webkit.c:545 -#: ../src/ghtml-webkit.c:558 +#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:917 +#: ../src/ghtml-webkit.c:422 ../src/ghtml-webkit.c:581 +#: ../src/ghtml-webkit.c:594 msgid "Downloading..." msgstr "" -#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:960 +#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:963 msgid "Unsupported protocol" msgstr "" -#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:964 +#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:967 msgid "Unknown host" msgstr "" -#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:969 +#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:972 msgid "Unspecified error" msgstr "" -#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1065 +#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1068 msgid "Timeout" msgstr "" @@ -103,7 +115,7 @@ msgid "Close window when the download is complete" msgstr "" #: ../src/download.c:291 ../src/download.c:296 ../src/download.c:631 -#: ../src/surfer.c:822 ../src/surfer.c:825 +#: ../src/surfer.c:853 ../src/surfer.c:856 msgid "Error" msgstr "" @@ -158,7 +170,7 @@ msgstr "" msgid "Code " msgstr "" -#: ../src/download.c:605 ../src/ghtml-webkit.c:501 ../src/surfer.c:824 +#: ../src/download.c:605 ../src/ghtml-webkit.c:537 ../src/surfer.c:855 msgid "Unknown error" msgstr "" @@ -169,32 +181,32 @@ msgid "" " -U\tuser agent string to send\n" msgstr "" -#: ../src/ghtml-gtkhtml.c:706 +#: ../src/ghtml-gtkhtml.c:709 msgid "Unknown protocol" msgstr "" -#: ../src/ghtml-gtkhtml.c:772 +#: ../src/ghtml-gtkhtml.c:775 msgid "Reading file..." msgstr "" -#: ../src/ghtml-gtkhtml.c:984 +#: ../src/ghtml-gtkhtml.c:987 msgid "Redirecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:992 +#: ../src/ghtml-gtkhtml.c:995 msgid "Redirecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1026 ../src/ghtml-webkit.c:303 -#: ../src/ghtml-webkit.c:406 +#: ../src/ghtml-gtkhtml.c:1029 ../src/ghtml-webkit.c:317 +#: ../src/ghtml-webkit.c:420 msgid "Connecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:1029 +#: ../src/ghtml-gtkhtml.c:1032 msgid "Connecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1187 +#: ../src/ghtml-gtkhtml.c:1190 msgid "Unsupported method" msgstr "" @@ -330,88 +342,88 @@ msgstr "" msgid "Home" msgstr "" -#: ../src/surfer.c:286 ../src/surfer.c:571 +#: ../src/surfer.c:292 ../src/surfer.c:594 msgid "Web surfer" msgstr "" -#: ../src/surfer.c:334 +#: ../src/surfer.c:340 msgid " Location: " msgstr "" -#: ../src/surfer.c:541 +#: ../src/surfer.c:564 msgid "Ready" msgstr "" -#: ../src/surfer.c:584 ../src/surfer.c:1021 +#: ../src/surfer.c:607 ../src/surfer.c:1053 msgid "Untitled" msgstr "" -#: ../src/surfer.c:702 ../src/surfer.c:705 ../src/surfer.c:1086 -#: ../src/surfer.c:1089 +#: ../src/surfer.c:733 ../src/surfer.c:736 ../src/surfer.c:1118 +#: ../src/surfer.c:1121 msgid "Question" msgstr "" -#: ../src/surfer.c:775 ../src/surfer.c:1152 +#: ../src/surfer.c:806 ../src/surfer.c:1184 msgid "Save file as..." msgstr "" -#: ../src/surfer.c:853 +#: ../src/surfer.c:884 msgid "Find text" msgstr "" -#: ../src/surfer.c:860 +#: ../src/surfer.c:891 msgid "Text:" msgstr "" -#: ../src/surfer.c:867 +#: ../src/surfer.c:898 msgid "Case-sensitive" msgstr "" -#: ../src/surfer.c:869 +#: ../src/surfer.c:900 msgid "Wrap" msgstr "" -#: ../src/surfer.c:895 +#: ../src/surfer.c:926 msgid "Text not found" msgstr "" -#: ../src/surfer.c:983 +#: ../src/surfer.c:1014 msgid "Open file..." msgstr "" -#: ../src/surfer.c:1012 +#: ../src/surfer.c:1043 msgid "Could not initialize HTML renderer" msgstr "" -#: ../src/surfer.c:1213 +#: ../src/surfer.c:1245 msgid "Javascript console" msgstr "" -#: ../src/surfer.c:1218 +#: ../src/surfer.c:1250 msgid "Command:" msgstr "" -#: ../src/surfer.c:1237 +#: ../src/surfer.c:1269 msgid "Message" msgstr "" -#: ../src/surfer.c:1242 +#: ../src/surfer.c:1274 msgid "Source" msgstr "" -#: ../src/surfer.c:1247 +#: ../src/surfer.c:1279 msgid "Line" msgstr "" -#: ../src/surfer.c:1372 +#: ../src/surfer.c:1404 msgid "Web surfer - Source of " msgstr "" -#: ../src/surfer.c:1413 ../src/surfer.c:1416 ../src/surfer.c:1471 -#: ../src/surfer.c:1476 +#: ../src/surfer.c:1445 ../src/surfer.c:1448 ../src/surfer.c:1503 +#: ../src/surfer.c:1508 msgid "Warning" msgstr "" -#: ../src/surfer.c:1475 +#: ../src/surfer.c:1507 msgid "This file already exists. Overwrite?" msgstr "" diff --git a/src/callbacks.c b/src/callbacks.c index 021ab77..eea9c5b 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -407,6 +407,7 @@ 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) { @@ -447,25 +448,40 @@ void on_preferences(gpointer data) 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, 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, 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(_("HTTP proxy:")); + 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); - gtk_box_pack_start(GTK_BOX(page), hbox, 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); @@ -476,6 +492,8 @@ void on_preferences(gpointer data) static void _preferences_set(Surfer * surfer) { char const * p; + unsigned long port; + char * q = NULL; gtk_entry_set_text(GTK_ENTRY(surfer->pr_homepage), surfer->homepage != NULL ? surfer->homepage : ""); @@ -486,8 +504,21 @@ static void _preferences_set(Surfer * surfer) 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((p = config_get(surfer->config, "proxy", "http")) != NULL) gtk_entry_set_text(GTK_ENTRY(surfer->pr_proxy_http), p); + if((p = config_get(surfer->config, "proxy", "http_port")) != NULL + && p[0] != '\0') + { + port = strtoul(p, &q, 10); + if(q != NULL && *q == '\0') + gtk_spin_button_set_value(GTK_SPIN_BUTTON( + surfer->pr_proxy_http_port), + port); + } } static gboolean _preferences_on_closex(gpointer data) @@ -519,15 +550,32 @@ static void _preferences_on_cancel(gpointer data) 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))); - surfer_set_proxy(surfer, gtk_entry_get_text(GTK_ENTRY( - surfer->pr_proxy_http))); + 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); +} + /* on_refresh */ void on_refresh(gpointer data) diff --git a/src/common.h b/src/common.h index b1a7c9c..2397e5e 100644 --- a/src/common.h +++ b/src/common.h @@ -30,7 +30,9 @@ struct _Surfer /* preferences */ char * homepage; + SurferProxyType proxy_type; char * proxy_http; + unsigned int proxy_http_port; /* widgets */ /* main window */ @@ -56,7 +58,10 @@ struct _Surfer GtkWidget * pr_window; GtkWidget * pr_homepage; GtkWidget * pr_focus_tabs; + GtkWidget * pr_proxy_radio_direct; + GtkWidget * pr_proxy_radio_http; GtkWidget * pr_proxy_http; + GtkWidget * pr_proxy_http_port; /* find */ GtkWidget * fi_dialog; diff --git a/src/ghtml-gtkhtml.c b/src/ghtml-gtkhtml.c index 2a90e0d..c780117 100644 --- a/src/ghtml-gtkhtml.c +++ b/src/ghtml-gtkhtml.c @@ -272,10 +272,13 @@ char const * ghtml_get_title(GtkWidget * widget) /* ghtml_set_proxy */ -int ghtml_set_proxy(GtkWidget * ghtml, char const * http) +int ghtml_set_proxy(GtkWidget * ghtml, SurferProxyType type, char const * http, + unsigned int http_port) { + if(type == SPT_NONE) + return 0; /* FIXME really implement */ - return -1; + return -error_set_code(1, "%s", strerror(ENOSYS));; } diff --git a/src/ghtml-gtkmozembed.c b/src/ghtml-gtkmozembed.c index 84f9fe7..2166a83 100644 --- a/src/ghtml-gtkmozembed.c +++ b/src/ghtml-gtkmozembed.c @@ -393,10 +393,13 @@ char const * ghtml_get_title(GtkWidget * ghtml) /* ghtml_set_proxy */ -int ghtml_set_proxy(GtkWidget * ghtml, char const * http) +int ghtml_set_proxy(GtkWidget * ghtml, SurferProxyType type, char const * http, + unsigned int http_port) { + if(type == SPT_NONE) + return 0; /* FIXME really implement */ - return -1; + return -error_set_code(1, "%s", strerror(ENOSYS));; } diff --git a/src/ghtml-gtktextview.c b/src/ghtml-gtktextview.c index f2106c0..df1892b 100644 --- a/src/ghtml-gtktextview.c +++ b/src/ghtml-gtktextview.c @@ -424,10 +424,13 @@ char const * ghtml_get_title(GtkWidget * widget) /* ghtml_set_proxy */ -int ghtml_set_proxy(GtkWidget * ghtml, char const * http) +int ghtml_set_proxy(GtkWidget * ghtml, SurferProxyType type, char const * http, + unsigned int http_port) { + if(type == SPT_NONE) + return 0; /* FIXME really implement */ - return -1; + return -error_set_code(1, "%s", strerror(ENOSYS));; } diff --git a/src/ghtml-webkit.c b/src/ghtml-webkit.c index d6dd3e4..f448001 100644 --- a/src/ghtml-webkit.c +++ b/src/ghtml-webkit.c @@ -19,6 +19,8 @@ #include #include +#include +#include #include #include #include "ghtml.h" @@ -223,19 +225,31 @@ char const * ghtml_get_title(GtkWidget * ghtml) /* ghtml_set_proxy */ -int ghtml_set_proxy(GtkWidget * ghtml, char const * http) +int ghtml_set_proxy(GtkWidget * ghtml, SurferProxyType type, char const * http, + unsigned int http_port) { #if WEBKIT_CHECK_VERSION(1, 1, 0) SoupSession * session; - SoupURI * uri; + char buf[32]; + struct hostent * he; + struct in_addr addr; + SoupURI * uri = NULL; session = webkit_get_default_session(); - uri = soup_uri_new(http); + if(type == SPT_HTTP && http != NULL && strlen(http) > 0) + { + if((he = gethostbyname(http)) == NULL) + return -error_set_code(1, "%s", hstrerror(h_errno)); + memcpy(&addr.s_addr, he->h_addr, sizeof(addr.s_addr)); + snprintf(buf, sizeof(buf), "http://%s:%u/", inet_ntoa(addr), + http_port); + uri = soup_uri_new(buf); + } g_object_set(session, "proxy-uri", uri, NULL); return 0; #else /* FIXME really implement */ - return -1; + return -error_set_code(1, "%s", strerror(ENOSYS)); #endif } @@ -479,11 +493,33 @@ static void _on_load_committed(WebKitWebView * view, WebKitWebFrame * frame, { Surfer * surfer; char const * location; + SurferSecurity security = SS_NONE; +#if WEBKIT_CHECK_VERSION(1, 1, 0) + WebKitWebDataSource *source; + WebKitNetworkRequest *request; + SoupMessage *message; +#endif surfer = g_object_get_data(G_OBJECT(data), "surfer"); if(frame == webkit_web_view_get_main_frame(view) && (location = webkit_web_frame_get_uri(frame)) != NULL) + { surfer_set_location(surfer, location); +#if WEBKIT_CHECK_VERSION(1, 1, 0) + if(strncmp(location, "https://", 8) == 0) + { + security = SS_UNTRUSTED; + source = webkit_web_frame_get_data_source(frame); + request = webkit_web_data_source_get_request(source); + message = webkit_network_request_get_message(request); + /* FIXME trusts even if hostname does not match?!? */ + if(message != NULL && soup_message_get_flags(message) + & SOUP_MESSAGE_CERTIFICATE_TRUSTED) + security = SS_TRUSTED; + } +#endif + } + surfer_set_security(surfer, security); } diff --git a/src/ghtml.h b/src/ghtml.h index 57d5653..332df10 100644 --- a/src/ghtml.h +++ b/src/ghtml.h @@ -38,7 +38,8 @@ char const * ghtml_get_source(GtkWidget * ghtml); char const * ghtml_get_status(GtkWidget * ghtml); char const * ghtml_get_title(GtkWidget * ghtml); -int ghtml_set_proxy(GtkWidget * ghtml, char const * http); +int ghtml_set_proxy(GtkWidget * ghtml, SurferProxyType type, char const * http, + unsigned int http_port); /* useful */ gboolean ghtml_go_back(GtkWidget * ghtml); diff --git a/src/surfer.c b/src/surfer.c index 0f574e2..01a2d09 100644 --- a/src/surfer.c +++ b/src/surfer.c @@ -218,10 +218,14 @@ static gboolean _surfer_filename_confirm(Surfer * surfer, char const * filename); static char * _config_get_filename(void); +static int _config_load_integer(Config * config, char const * section, + char const * variable, unsigned int * value); static int _config_load_string(Config * config, char const * section, char const * variable, char ** value); static int _config_save_boolean(Config * config, char const * section, char const * variable, gboolean value); +static int _config_save_integer(Config * config, char const * section, + char const * variable, unsigned int value); static int _config_save_string(Config * config, char const * section, char const * variable, char const * value); @@ -267,7 +271,9 @@ Surfer * _new_do(char const * url) if((surfer = malloc(sizeof(*surfer))) == NULL) return NULL; surfer->homepage = NULL; + surfer->proxy_type = SPT_NONE; surfer->proxy_http = NULL; + surfer->proxy_http_port = 0; if((surfer->config = config_new()) == NULL || surfer_config_load(surfer) != 0) { @@ -504,21 +510,38 @@ void surfer_set_progress(Surfer * surfer, gdouble fraction) /* surfer_set_proxy */ -void surfer_set_proxy(Surfer * surfer, char const * http) +void surfer_set_proxy(Surfer * surfer, SurferProxyType type, char const * http, + unsigned int http_port) { GtkWidget * view; gint n; gint i; + surfer->proxy_type = type; free(surfer->proxy_http); - if((surfer->proxy_http = strdup(http)) == NULL) + if(http == NULL) + surfer->proxy_http = NULL; + else if((surfer->proxy_http = strdup(http)) == NULL) return; /* XXX report error */ + surfer->proxy_http_port = http_port; n = gtk_notebook_get_n_pages(GTK_NOTEBOOK(surfer->notebook)); for(i = 0; i < n; i++) { view = gtk_notebook_get_nth_page(GTK_NOTEBOOK(surfer->notebook), i); - ghtml_set_proxy(view, http); + ghtml_set_proxy(view, type, http, http_port); + } +} + + +/* surfer_set_security */ +void surfer_set_security(Surfer * surfer, SurferSecurity security) +{ + /* FIXME would need a context per tab to work... */ + switch(security) + { + default: + break; } } @@ -660,8 +683,12 @@ int surfer_config_load(Surfer * surfer) free(filename); _config_load_string(surfer->config, NULL, "homepage", &surfer->homepage); + _config_load_integer(surfer->config, "proxy", "type", + &surfer->proxy_type); _config_load_string(surfer->config, "proxy", "http", &surfer->proxy_http); + _config_load_integer(surfer->config, "proxy", "http_port", + &surfer->proxy_http_port); return 0; } @@ -679,8 +706,12 @@ int surfer_config_save(Surfer * surfer) ret |= _config_save_boolean(surfer->config, NULL, "focus_new_tabs", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( surfer->pr_focus_tabs))); + ret |= _config_save_integer(surfer->config, "proxy", "type", + surfer->proxy_type); ret |= _config_save_string(surfer->config, "proxy", "http", surfer->proxy_http); + ret |= _config_save_integer(surfer->config, "proxy", "http_port", + surfer->proxy_http_port); if(ret == 0) ret |= config_save(surfer->config, filename); free(filename); @@ -1013,7 +1044,8 @@ void surfer_open_tab(Surfer * surfer, char const * url) return; } if(surfer->proxy_http != NULL) - ghtml_set_proxy(widget, surfer->proxy_http); + ghtml_set_proxy(widget, surfer->proxy_type, surfer->proxy_http, + surfer->proxy_http_port); gtk_widget_show_all(widget); /* must be before set_current_page() */ if(url != NULL) ghtml_load_url(widget, url); @@ -1499,6 +1531,24 @@ static char * _config_get_filename(void) } +/* config_load_integer */ +static int _config_load_integer(Config * config, char const * section, + char const * variable, unsigned int * value) +{ + unsigned int u; + char const * p; + char * q; + + if((p = config_get(config, section, variable)) == NULL || p[0] == '\0') + return -1; + u = strtoul(p, &q, 10); + if(*q != '\0') + return -1; + *value = u; + return 0; +} + + /* config_load_string */ static int _config_load_string(Config * config, char const * section, char const * variable, char ** value) @@ -1507,9 +1557,9 @@ static int _config_load_string(Config * config, char const * section, char * p; if((str = config_get(config, section, variable)) == NULL) - return 0; + return -1; if((p = strdup(str)) == NULL) - return 1; + return -1; free(*value); *value = p; return 0; @@ -1524,6 +1574,17 @@ static int _config_save_boolean(Config * config, char const * section, } +/* config_save_integer */ +static int _config_save_integer(Config * config, char const * section, + char const * variable, unsigned int value) +{ + char buf[32]; + + snprintf(buf, sizeof(buf), "%u", value); + return config_set(config, section, variable, buf); +} + + /* config_save_string */ static int _config_save_string(Config * config, char const * section, char const * variable, char const * value) diff --git a/src/surfer.h b/src/surfer.h index 197eaaa..21cebdf 100644 --- a/src/surfer.h +++ b/src/surfer.h @@ -42,6 +42,20 @@ /* types */ typedef struct _Surfer Surfer; +typedef enum _SurferSecurity +{ + SS_NONE = 0, + SS_TRUSTED, + SS_UNTRUSTED +} +SurferSecurity; + +typedef enum _SurferProxyType +{ + SPT_NONE = 0, + SPT_HTTP +} SurferProxyType; + /* functions */ Surfer * surfer_new(char const * url); @@ -56,7 +70,9 @@ void surfer_set_fullscreen(Surfer * surfer, gboolean fullscreen); void surfer_set_homepage(Surfer * surfer, char const * homepage); void surfer_set_location(Surfer * surfer, char const * url); void surfer_set_progress(Surfer * surfer, gdouble fraction); -void surfer_set_proxy(Surfer * surfer, char const * http); +void surfer_set_proxy(Surfer * surfer, SurferProxyType type, char const * http, + unsigned int http_port); +void surfer_set_security(Surfer * surfer, SurferSecurity security); void surfer_set_status(Surfer * surfer, char const * status); void surfer_set_title(Surfer * surfer, char const * title);