diff --git a/po/de.po b/po/de.po index b9348aa..fc3e382 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-10 22:45+0100\n" +"POT-Creation-Date: 2010-12-19 03:30+0100\n" "PO-Revision-Date: 2010-04-01 19:40+0200\n" "Last-Translator: Pierre Pronchery \n" "Language-Team: German\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/callbacks.c:43 ../src/callbacks.c:53 ../src/surfer.c:747 -#: ../src/surfer.c:750 ../src/surfer.c:1132 ../src/surfer.c:1135 +#: ../src/callbacks.c:43 ../src/callbacks.c:53 ../src/surfer.c:772 +#: ../src/surfer.c:775 ../src/surfer.c:1161 ../src/surfer.c:1164 msgid "Question" msgstr "" @@ -27,69 +27,69 @@ msgid "" "Do you really want to close every tab opened in this window?" msgstr "" -#: ../src/callbacks.c:451 +#: ../src/callbacks.c:452 msgid "Web surfer preferences" msgstr "Web surfer Einstellungen" -#: ../src/callbacks.c:471 +#: ../src/callbacks.c:472 msgid "Homepage:" msgstr "" -#: ../src/callbacks.c:479 +#: ../src/callbacks.c:480 msgid "Focus new tabs" msgstr "" -#: ../src/callbacks.c:483 +#: ../src/callbacks.c:484 msgid "General" msgstr "" -#: ../src/callbacks.c:487 +#: ../src/callbacks.c:488 msgid "Direct connection" msgstr "" -#: ../src/callbacks.c:491 +#: ../src/callbacks.c:492 msgid "HTTP proxy:" msgstr "" -#: ../src/callbacks.c:498 +#: ../src/callbacks.c:499 msgid "Hostname:" msgstr "" -#: ../src/callbacks.c:502 +#: ../src/callbacks.c:503 msgid "Port:" msgstr "" -#: ../src/callbacks.c:510 +#: ../src/callbacks.c:511 msgid "Network" msgstr "" -#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:832 +#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:841 msgid "Resolving..." msgstr "" -#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:882 +#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:891 msgid "Connected" msgstr "" -#: ../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 +#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:926 +#: ../src/ghtml-webkit.c:487 ../src/ghtml-webkit.c:626 +#: ../src/ghtml-webkit.c:639 msgid "Downloading..." msgstr "" -#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:963 +#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:972 msgid "Unsupported protocol" msgstr "" -#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:967 +#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:976 msgid "Unknown host" msgstr "" -#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:972 +#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:981 msgid "Unspecified error" msgstr "" -#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1068 +#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1077 msgid "Timeout" msgstr "" @@ -126,7 +126,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:867 ../src/surfer.c:870 +#: ../src/surfer.c:892 ../src/surfer.c:895 msgid "Error" msgstr "Fehler" @@ -181,7 +181,7 @@ msgstr "" msgid "Code " msgstr "" -#: ../src/download.c:605 ../src/ghtml-webkit.c:537 ../src/surfer.c:869 +#: ../src/download.c:605 ../src/ghtml-webkit.c:582 ../src/surfer.c:894 msgid "Unknown error" msgstr "" @@ -192,32 +192,32 @@ msgid "" " -U\tuser agent string to send\n" msgstr "" -#: ../src/ghtml-gtkhtml.c:709 +#: ../src/ghtml-gtkhtml.c:718 msgid "Unknown protocol" msgstr "" -#: ../src/ghtml-gtkhtml.c:775 +#: ../src/ghtml-gtkhtml.c:784 msgid "Reading file..." msgstr "" -#: ../src/ghtml-gtkhtml.c:987 +#: ../src/ghtml-gtkhtml.c:996 msgid "Redirecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:995 +#: ../src/ghtml-gtkhtml.c:1004 msgid "Redirecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1029 ../src/ghtml-webkit.c:317 -#: ../src/ghtml-webkit.c:420 +#: ../src/ghtml-gtkhtml.c:1038 ../src/ghtml-webkit.c:382 +#: ../src/ghtml-webkit.c:485 msgid "Connecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:1032 +#: ../src/ghtml-gtkhtml.c:1041 msgid "Connecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1190 +#: ../src/ghtml-gtkhtml.c:1199 msgid "Unsupported method" msgstr "" @@ -353,7 +353,7 @@ msgstr "" msgid "Home" msgstr "" -#: ../src/surfer.c:292 ../src/surfer.c:594 +#: ../src/surfer.c:292 ../src/surfer.c:619 msgid "Web surfer" msgstr "Web surfer" @@ -361,75 +361,75 @@ msgstr "Web surfer" msgid " Location: " msgstr "" -#: ../src/surfer.c:564 +#: ../src/surfer.c:589 msgid "Ready" msgstr "" -#: ../src/surfer.c:607 ../src/surfer.c:1067 +#: ../src/surfer.c:632 ../src/surfer.c:1092 msgid "Untitled" msgstr "" -#: ../src/surfer.c:820 ../src/surfer.c:1198 +#: ../src/surfer.c:845 ../src/surfer.c:1227 msgid "Save file as..." msgstr "" -#: ../src/surfer.c:898 +#: ../src/surfer.c:923 msgid "Find text" msgstr "Suchen" -#: ../src/surfer.c:905 +#: ../src/surfer.c:930 msgid "Text:" msgstr "" -#: ../src/surfer.c:912 +#: ../src/surfer.c:937 msgid "Case-sensitive" msgstr "" -#: ../src/surfer.c:914 +#: ../src/surfer.c:939 msgid "Wrap" msgstr "" -#: ../src/surfer.c:940 +#: ../src/surfer.c:965 msgid "Text not found" msgstr "" -#: ../src/surfer.c:1028 +#: ../src/surfer.c:1053 msgid "Open file..." msgstr "" -#: ../src/surfer.c:1057 +#: ../src/surfer.c:1082 msgid "Could not initialize HTML renderer" msgstr "" -#: ../src/surfer.c:1259 +#: ../src/surfer.c:1288 msgid "Javascript console" msgstr "" -#: ../src/surfer.c:1264 +#: ../src/surfer.c:1293 msgid "Command:" msgstr "" -#: ../src/surfer.c:1283 +#: ../src/surfer.c:1312 msgid "Message" msgstr "" -#: ../src/surfer.c:1288 +#: ../src/surfer.c:1317 msgid "Source" msgstr "" -#: ../src/surfer.c:1293 +#: ../src/surfer.c:1322 msgid "Line" msgstr "Linie" -#: ../src/surfer.c:1418 +#: ../src/surfer.c:1454 msgid "Web surfer - Source of " msgstr "" -#: ../src/surfer.c:1459 ../src/surfer.c:1462 ../src/surfer.c:1517 -#: ../src/surfer.c:1522 +#: ../src/surfer.c:1495 ../src/surfer.c:1498 ../src/surfer.c:1553 +#: ../src/surfer.c:1558 msgid "Warning" msgstr "Achtung" -#: ../src/surfer.c:1521 +#: ../src/surfer.c:1557 msgid "This file already exists. Overwrite?" msgstr "" diff --git a/po/es.po b/po/es.po index faecd9a..50e0a82 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-10 22:45+0100\n" +"POT-Creation-Date: 2010-12-19 03:30+0100\n" "PO-Revision-Date: 2010-04-01 19:40+0200\n" "Last-Translator: Pierre Pronchery \n" "Language-Team: Spanish\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/callbacks.c:43 ../src/callbacks.c:53 ../src/surfer.c:747 -#: ../src/surfer.c:750 ../src/surfer.c:1132 ../src/surfer.c:1135 +#: ../src/callbacks.c:43 ../src/callbacks.c:53 ../src/surfer.c:772 +#: ../src/surfer.c:775 ../src/surfer.c:1161 ../src/surfer.c:1164 msgid "Question" msgstr "" @@ -27,69 +27,69 @@ msgid "" "Do you really want to close every tab opened in this window?" msgstr "" -#: ../src/callbacks.c:451 +#: ../src/callbacks.c:452 msgid "Web surfer preferences" msgstr "Web surfer preferencias" -#: ../src/callbacks.c:471 +#: ../src/callbacks.c:472 msgid "Homepage:" msgstr "" -#: ../src/callbacks.c:479 +#: ../src/callbacks.c:480 msgid "Focus new tabs" msgstr "" -#: ../src/callbacks.c:483 +#: ../src/callbacks.c:484 msgid "General" msgstr "" -#: ../src/callbacks.c:487 +#: ../src/callbacks.c:488 msgid "Direct connection" msgstr "" -#: ../src/callbacks.c:491 +#: ../src/callbacks.c:492 msgid "HTTP proxy:" msgstr "" -#: ../src/callbacks.c:498 +#: ../src/callbacks.c:499 msgid "Hostname:" msgstr "" -#: ../src/callbacks.c:502 +#: ../src/callbacks.c:503 msgid "Port:" msgstr "" -#: ../src/callbacks.c:510 +#: ../src/callbacks.c:511 msgid "Network" msgstr "" -#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:832 +#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:841 msgid "Resolving..." msgstr "" -#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:882 +#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:891 msgid "Connected" msgstr "" -#: ../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 +#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:926 +#: ../src/ghtml-webkit.c:487 ../src/ghtml-webkit.c:626 +#: ../src/ghtml-webkit.c:639 msgid "Downloading..." msgstr "" -#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:963 +#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:972 msgid "Unsupported protocol" msgstr "" -#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:967 +#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:976 msgid "Unknown host" msgstr "" -#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:972 +#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:981 msgid "Unspecified error" msgstr "" -#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1068 +#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1077 msgid "Timeout" msgstr "" @@ -126,7 +126,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:867 ../src/surfer.c:870 +#: ../src/surfer.c:892 ../src/surfer.c:895 msgid "Error" msgstr "" @@ -181,7 +181,7 @@ msgstr "" msgid "Code " msgstr "" -#: ../src/download.c:605 ../src/ghtml-webkit.c:537 ../src/surfer.c:869 +#: ../src/download.c:605 ../src/ghtml-webkit.c:582 ../src/surfer.c:894 msgid "Unknown error" msgstr "" @@ -192,32 +192,32 @@ msgid "" " -U\tuser agent string to send\n" msgstr "" -#: ../src/ghtml-gtkhtml.c:709 +#: ../src/ghtml-gtkhtml.c:718 msgid "Unknown protocol" msgstr "" -#: ../src/ghtml-gtkhtml.c:775 +#: ../src/ghtml-gtkhtml.c:784 msgid "Reading file..." msgstr "" -#: ../src/ghtml-gtkhtml.c:987 +#: ../src/ghtml-gtkhtml.c:996 msgid "Redirecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:995 +#: ../src/ghtml-gtkhtml.c:1004 msgid "Redirecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1029 ../src/ghtml-webkit.c:317 -#: ../src/ghtml-webkit.c:420 +#: ../src/ghtml-gtkhtml.c:1038 ../src/ghtml-webkit.c:382 +#: ../src/ghtml-webkit.c:485 msgid "Connecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:1032 +#: ../src/ghtml-gtkhtml.c:1041 msgid "Connecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1190 +#: ../src/ghtml-gtkhtml.c:1199 msgid "Unsupported method" msgstr "" @@ -353,7 +353,7 @@ msgstr "" msgid "Home" msgstr "" -#: ../src/surfer.c:292 ../src/surfer.c:594 +#: ../src/surfer.c:292 ../src/surfer.c:619 msgid "Web surfer" msgstr "Web surfer" @@ -361,75 +361,75 @@ msgstr "Web surfer" msgid " Location: " msgstr "" -#: ../src/surfer.c:564 +#: ../src/surfer.c:589 msgid "Ready" msgstr "" -#: ../src/surfer.c:607 ../src/surfer.c:1067 +#: ../src/surfer.c:632 ../src/surfer.c:1092 msgid "Untitled" msgstr "" -#: ../src/surfer.c:820 ../src/surfer.c:1198 +#: ../src/surfer.c:845 ../src/surfer.c:1227 msgid "Save file as..." msgstr "Guardar como..." -#: ../src/surfer.c:898 +#: ../src/surfer.c:923 msgid "Find text" msgstr "Buscar" -#: ../src/surfer.c:905 +#: ../src/surfer.c:930 msgid "Text:" msgstr "" -#: ../src/surfer.c:912 +#: ../src/surfer.c:937 msgid "Case-sensitive" msgstr "" -#: ../src/surfer.c:914 +#: ../src/surfer.c:939 msgid "Wrap" msgstr "" -#: ../src/surfer.c:940 +#: ../src/surfer.c:965 msgid "Text not found" msgstr "" -#: ../src/surfer.c:1028 +#: ../src/surfer.c:1053 msgid "Open file..." msgstr "Abrir..." -#: ../src/surfer.c:1057 +#: ../src/surfer.c:1082 msgid "Could not initialize HTML renderer" msgstr "" -#: ../src/surfer.c:1259 +#: ../src/surfer.c:1288 msgid "Javascript console" msgstr "" -#: ../src/surfer.c:1264 +#: ../src/surfer.c:1293 msgid "Command:" msgstr "" -#: ../src/surfer.c:1283 +#: ../src/surfer.c:1312 msgid "Message" msgstr "" -#: ../src/surfer.c:1288 +#: ../src/surfer.c:1317 msgid "Source" msgstr "" -#: ../src/surfer.c:1293 +#: ../src/surfer.c:1322 msgid "Line" msgstr "" -#: ../src/surfer.c:1418 +#: ../src/surfer.c:1454 msgid "Web surfer - Source of " msgstr "" -#: ../src/surfer.c:1459 ../src/surfer.c:1462 ../src/surfer.c:1517 -#: ../src/surfer.c:1522 +#: ../src/surfer.c:1495 ../src/surfer.c:1498 ../src/surfer.c:1553 +#: ../src/surfer.c:1558 msgid "Warning" msgstr "" -#: ../src/surfer.c:1521 +#: ../src/surfer.c:1557 msgid "This file already exists. Overwrite?" msgstr "" diff --git a/po/fr.po b/po/fr.po index bfcfe1b..49c6b88 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-10 22:45+0100\n" +"POT-Creation-Date: 2010-12-19 03:30+0100\n" "PO-Revision-Date: 2010-04-01 19:40+0200\n" "Last-Translator: Calimero \n" "Language-Team: French\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../src/callbacks.c:43 ../src/callbacks.c:53 ../src/surfer.c:747 -#: ../src/surfer.c:750 ../src/surfer.c:1132 ../src/surfer.c:1135 +#: ../src/callbacks.c:43 ../src/callbacks.c:53 ../src/surfer.c:772 +#: ../src/surfer.c:775 ../src/surfer.c:1161 ../src/surfer.c:1164 msgid "Question" msgstr "Question" @@ -29,69 +29,69 @@ msgstr "" "Plusieurs onglets sont ouverts.\n" "Voulez-vous vraiment fermer tous les onglets de cette fenêtre ?" -#: ../src/callbacks.c:451 +#: ../src/callbacks.c:452 msgid "Web surfer preferences" msgstr "Préférences de Web surfer" -#: ../src/callbacks.c:471 +#: ../src/callbacks.c:472 msgid "Homepage:" msgstr "Page d'accueil :" -#: ../src/callbacks.c:479 +#: ../src/callbacks.c:480 msgid "Focus new tabs" msgstr "Focaliser les nouveaux onglets" -#: ../src/callbacks.c:483 +#: ../src/callbacks.c:484 msgid "General" msgstr "Général" -#: ../src/callbacks.c:487 +#: ../src/callbacks.c:488 msgid "Direct connection" msgstr "Connexion directe" -#: ../src/callbacks.c:491 +#: ../src/callbacks.c:492 msgid "HTTP proxy:" msgstr "Proxy HTTP :" -#: ../src/callbacks.c:498 +#: ../src/callbacks.c:499 msgid "Hostname:" msgstr "Hôte :" -#: ../src/callbacks.c:502 +#: ../src/callbacks.c:503 msgid "Port:" msgstr "Port :" -#: ../src/callbacks.c:510 +#: ../src/callbacks.c:511 msgid "Network" msgstr "Réseau" -#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:832 +#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:841 msgid "Resolving..." msgstr "Résolution du domaine..." -#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:882 +#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:891 msgid "Connected" msgstr "Connecté" -#: ../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 +#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:926 +#: ../src/ghtml-webkit.c:487 ../src/ghtml-webkit.c:626 +#: ../src/ghtml-webkit.c:639 msgid "Downloading..." msgstr "Téléchargement..." -#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:963 +#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:972 msgid "Unsupported protocol" msgstr "Protocole non supporté" -#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:967 +#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:976 msgid "Unknown host" msgstr "Hôte inconnu" -#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:972 +#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:981 msgid "Unspecified error" msgstr "Erreur non spécifiée" -#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1068 +#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1077 msgid "Timeout" msgstr "Délai dépassé" @@ -128,7 +128,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:867 ../src/surfer.c:870 +#: ../src/surfer.c:892 ../src/surfer.c:895 msgid "Error" msgstr "Erreur" @@ -183,7 +183,7 @@ msgstr "Résolu" msgid "Code " msgstr "Code " -#: ../src/download.c:605 ../src/ghtml-webkit.c:537 ../src/surfer.c:869 +#: ../src/download.c:605 ../src/ghtml-webkit.c:582 ../src/surfer.c:894 msgid "Unknown error" msgstr "Erreur inconnue" @@ -197,32 +197,32 @@ msgstr "" " -O\tfichier de destination\n" " -U\tuser-agent à utiliser\n" -#: ../src/ghtml-gtkhtml.c:709 +#: ../src/ghtml-gtkhtml.c:718 msgid "Unknown protocol" msgstr "Protocole inconnu" -#: ../src/ghtml-gtkhtml.c:775 +#: ../src/ghtml-gtkhtml.c:784 msgid "Reading file..." msgstr "Lecture du fichier..." -#: ../src/ghtml-gtkhtml.c:987 +#: ../src/ghtml-gtkhtml.c:996 msgid "Redirecting..." msgstr "Redirection..." -#: ../src/ghtml-gtkhtml.c:995 +#: ../src/ghtml-gtkhtml.c:1004 msgid "Redirecting to " msgstr "Redirection vers " -#: ../src/ghtml-gtkhtml.c:1029 ../src/ghtml-webkit.c:317 -#: ../src/ghtml-webkit.c:420 +#: ../src/ghtml-gtkhtml.c:1038 ../src/ghtml-webkit.c:382 +#: ../src/ghtml-webkit.c:485 msgid "Connecting..." msgstr "Connexion..." -#: ../src/ghtml-gtkhtml.c:1032 +#: ../src/ghtml-gtkhtml.c:1041 msgid "Connecting to " msgstr "Connexion à " -#: ../src/ghtml-gtkhtml.c:1190 +#: ../src/ghtml-gtkhtml.c:1199 msgid "Unsupported method" msgstr "Méthode non supportée" @@ -358,7 +358,7 @@ msgstr "Actualiser" msgid "Home" msgstr "Page d'accueil" -#: ../src/surfer.c:292 ../src/surfer.c:594 +#: ../src/surfer.c:292 ../src/surfer.c:619 msgid "Web surfer" msgstr "Web surfer" @@ -366,75 +366,75 @@ msgstr "Web surfer" msgid " Location: " msgstr " Adresse: " -#: ../src/surfer.c:564 +#: ../src/surfer.c:589 msgid "Ready" msgstr "Prêt" -#: ../src/surfer.c:607 ../src/surfer.c:1067 +#: ../src/surfer.c:632 ../src/surfer.c:1092 msgid "Untitled" msgstr "Sans titre" -#: ../src/surfer.c:820 ../src/surfer.c:1198 +#: ../src/surfer.c:845 ../src/surfer.c:1227 msgid "Save file as..." msgstr "Enregistrer sous..." -#: ../src/surfer.c:898 +#: ../src/surfer.c:923 msgid "Find text" msgstr "Chercher du texte" -#: ../src/surfer.c:905 +#: ../src/surfer.c:930 msgid "Text:" msgstr "Texte: " -#: ../src/surfer.c:912 +#: ../src/surfer.c:937 msgid "Case-sensitive" msgstr "Sensible à la casse" -#: ../src/surfer.c:914 +#: ../src/surfer.c:939 msgid "Wrap" msgstr "Chercher en boucle" -#: ../src/surfer.c:940 +#: ../src/surfer.c:965 msgid "Text not found" msgstr "Texte non trouvé" -#: ../src/surfer.c:1028 +#: ../src/surfer.c:1053 msgid "Open file..." msgstr "Ouvrir un fichier..." -#: ../src/surfer.c:1057 +#: ../src/surfer.c:1082 msgid "Could not initialize HTML renderer" msgstr "Ne peut charger le moteur de rendu HTML" -#: ../src/surfer.c:1259 +#: ../src/surfer.c:1288 msgid "Javascript console" msgstr "Console Javascript" -#: ../src/surfer.c:1264 +#: ../src/surfer.c:1293 msgid "Command:" msgstr "Commande :" -#: ../src/surfer.c:1283 +#: ../src/surfer.c:1312 msgid "Message" msgstr "Message" -#: ../src/surfer.c:1288 +#: ../src/surfer.c:1317 msgid "Source" msgstr "Source" -#: ../src/surfer.c:1293 +#: ../src/surfer.c:1322 msgid "Line" msgstr "Ligne" -#: ../src/surfer.c:1418 +#: ../src/surfer.c:1454 msgid "Web surfer - Source of " msgstr "Web surfer - Source de " -#: ../src/surfer.c:1459 ../src/surfer.c:1462 ../src/surfer.c:1517 -#: ../src/surfer.c:1522 +#: ../src/surfer.c:1495 ../src/surfer.c:1498 ../src/surfer.c:1553 +#: ../src/surfer.c:1558 msgid "Warning" msgstr "Avertissement" -#: ../src/surfer.c:1521 +#: ../src/surfer.c:1557 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 3478fc2..daeb528 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-10 22:45+0100\n" +"POT-Creation-Date: 2010-12-19 03:30+0100\n" "PO-Revision-Date: 2010-04-11 12:06+0200\n" "Last-Translator: Pierre Pronchery \n" "Language-Team: Italian\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/callbacks.c:43 ../src/callbacks.c:53 ../src/surfer.c:747 -#: ../src/surfer.c:750 ../src/surfer.c:1132 ../src/surfer.c:1135 +#: ../src/callbacks.c:43 ../src/callbacks.c:53 ../src/surfer.c:772 +#: ../src/surfer.c:775 ../src/surfer.c:1161 ../src/surfer.c:1164 msgid "Question" msgstr "" @@ -27,69 +27,69 @@ msgid "" "Do you really want to close every tab opened in this window?" msgstr "" -#: ../src/callbacks.c:451 +#: ../src/callbacks.c:452 msgid "Web surfer preferences" msgstr "" -#: ../src/callbacks.c:471 +#: ../src/callbacks.c:472 msgid "Homepage:" msgstr "" -#: ../src/callbacks.c:479 +#: ../src/callbacks.c:480 msgid "Focus new tabs" msgstr "" -#: ../src/callbacks.c:483 +#: ../src/callbacks.c:484 msgid "General" msgstr "" -#: ../src/callbacks.c:487 +#: ../src/callbacks.c:488 msgid "Direct connection" msgstr "" -#: ../src/callbacks.c:491 +#: ../src/callbacks.c:492 msgid "HTTP proxy:" msgstr "" -#: ../src/callbacks.c:498 +#: ../src/callbacks.c:499 msgid "Hostname:" msgstr "" -#: ../src/callbacks.c:502 +#: ../src/callbacks.c:503 msgid "Port:" msgstr "" -#: ../src/callbacks.c:510 +#: ../src/callbacks.c:511 msgid "Network" msgstr "" -#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:832 +#: ../src/common/conn.c:204 ../src/download.c:185 ../src/ghtml-gtkhtml.c:841 msgid "Resolving..." msgstr "" -#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:882 +#: ../src/common/conn.c:253 ../src/download.c:477 ../src/ghtml-gtkhtml.c:891 msgid "Connected" msgstr "" -#: ../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 +#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:926 +#: ../src/ghtml-webkit.c:487 ../src/ghtml-webkit.c:626 +#: ../src/ghtml-webkit.c:639 msgid "Downloading..." msgstr "" -#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:963 +#: ../src/common/conn.c:305 ../src/ghtml-gtkhtml.c:972 msgid "Unsupported protocol" msgstr "" -#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:967 +#: ../src/common/conn.c:309 ../src/ghtml-gtkhtml.c:976 msgid "Unknown host" msgstr "" -#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:972 +#: ../src/common/conn.c:314 ../src/ghtml-gtkhtml.c:981 msgid "Unspecified error" msgstr "" -#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1068 +#: ../src/common/conn.c:348 ../src/download.c:554 ../src/ghtml-gtkhtml.c:1077 msgid "Timeout" msgstr "" @@ -126,7 +126,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:867 ../src/surfer.c:870 +#: ../src/surfer.c:892 ../src/surfer.c:895 msgid "Error" msgstr "" @@ -181,7 +181,7 @@ msgstr "" msgid "Code " msgstr "" -#: ../src/download.c:605 ../src/ghtml-webkit.c:537 ../src/surfer.c:869 +#: ../src/download.c:605 ../src/ghtml-webkit.c:582 ../src/surfer.c:894 msgid "Unknown error" msgstr "" @@ -192,32 +192,32 @@ msgid "" " -U\tuser agent string to send\n" msgstr "" -#: ../src/ghtml-gtkhtml.c:709 +#: ../src/ghtml-gtkhtml.c:718 msgid "Unknown protocol" msgstr "" -#: ../src/ghtml-gtkhtml.c:775 +#: ../src/ghtml-gtkhtml.c:784 msgid "Reading file..." msgstr "" -#: ../src/ghtml-gtkhtml.c:987 +#: ../src/ghtml-gtkhtml.c:996 msgid "Redirecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:995 +#: ../src/ghtml-gtkhtml.c:1004 msgid "Redirecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1029 ../src/ghtml-webkit.c:317 -#: ../src/ghtml-webkit.c:420 +#: ../src/ghtml-gtkhtml.c:1038 ../src/ghtml-webkit.c:382 +#: ../src/ghtml-webkit.c:485 msgid "Connecting..." msgstr "" -#: ../src/ghtml-gtkhtml.c:1032 +#: ../src/ghtml-gtkhtml.c:1041 msgid "Connecting to " msgstr "" -#: ../src/ghtml-gtkhtml.c:1190 +#: ../src/ghtml-gtkhtml.c:1199 msgid "Unsupported method" msgstr "" @@ -353,7 +353,7 @@ msgstr "" msgid "Home" msgstr "" -#: ../src/surfer.c:292 ../src/surfer.c:594 +#: ../src/surfer.c:292 ../src/surfer.c:619 msgid "Web surfer" msgstr "" @@ -361,75 +361,75 @@ msgstr "" msgid " Location: " msgstr "" -#: ../src/surfer.c:564 +#: ../src/surfer.c:589 msgid "Ready" msgstr "" -#: ../src/surfer.c:607 ../src/surfer.c:1067 +#: ../src/surfer.c:632 ../src/surfer.c:1092 msgid "Untitled" msgstr "" -#: ../src/surfer.c:820 ../src/surfer.c:1198 +#: ../src/surfer.c:845 ../src/surfer.c:1227 msgid "Save file as..." msgstr "" -#: ../src/surfer.c:898 +#: ../src/surfer.c:923 msgid "Find text" msgstr "" -#: ../src/surfer.c:905 +#: ../src/surfer.c:930 msgid "Text:" msgstr "" -#: ../src/surfer.c:912 +#: ../src/surfer.c:937 msgid "Case-sensitive" msgstr "" -#: ../src/surfer.c:914 +#: ../src/surfer.c:939 msgid "Wrap" msgstr "" -#: ../src/surfer.c:940 +#: ../src/surfer.c:965 msgid "Text not found" msgstr "" -#: ../src/surfer.c:1028 +#: ../src/surfer.c:1053 msgid "Open file..." msgstr "" -#: ../src/surfer.c:1057 +#: ../src/surfer.c:1082 msgid "Could not initialize HTML renderer" msgstr "" -#: ../src/surfer.c:1259 +#: ../src/surfer.c:1288 msgid "Javascript console" msgstr "" -#: ../src/surfer.c:1264 +#: ../src/surfer.c:1293 msgid "Command:" msgstr "" -#: ../src/surfer.c:1283 +#: ../src/surfer.c:1312 msgid "Message" msgstr "" -#: ../src/surfer.c:1288 +#: ../src/surfer.c:1317 msgid "Source" msgstr "" -#: ../src/surfer.c:1293 +#: ../src/surfer.c:1322 msgid "Line" msgstr "" -#: ../src/surfer.c:1418 +#: ../src/surfer.c:1454 msgid "Web surfer - Source of " msgstr "" -#: ../src/surfer.c:1459 ../src/surfer.c:1462 ../src/surfer.c:1517 -#: ../src/surfer.c:1522 +#: ../src/surfer.c:1495 ../src/surfer.c:1498 ../src/surfer.c:1553 +#: ../src/surfer.c:1558 msgid "Warning" msgstr "" -#: ../src/surfer.c:1521 +#: ../src/surfer.c:1557 msgid "This file already exists. Overwrite?" msgstr "" diff --git a/src/callbacks.c b/src/callbacks.c index f602a5b..d514e07 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -404,6 +404,7 @@ static gboolean _switch_page_idle(gpointer data) /* XXX the Surfer fetches the right values by himself => API change? */ surfer_set_location(surfer, NULL); surfer_set_progress(surfer, 0.0); + surfer_set_security(surfer, SS_NONE); surfer_set_status(surfer, NULL); surfer_set_title(surfer, NULL); return FALSE; @@ -602,6 +603,15 @@ void on_refresh(gpointer data) } +/* on_security */ +void on_security(gpointer data) +{ + Surfer * surfer = data; + + surfer_view_security(surfer); +} + + /* on_stop */ void on_stop(gpointer data) { diff --git a/src/callbacks.h b/src/callbacks.h index d555691..fd163f6 100644 --- a/src/callbacks.h +++ b/src/callbacks.h @@ -65,6 +65,7 @@ void on_normal_size(gpointer data); void on_path_activate(gpointer data); void on_preferences(gpointer data); void on_refresh(gpointer data); +void on_security(gpointer data); void on_stop(gpointer data); void on_zoom_in(gpointer data); void on_zoom_out(gpointer data); diff --git a/src/common.h b/src/common.h index 2397e5e..8109582 100644 --- a/src/common.h +++ b/src/common.h @@ -49,8 +49,9 @@ struct _Surfer GtkWidget * locationbar; GtkWidget * lb_path; GtkWidget * notebook; - GtkWidget * progress; GtkWidget * statusbox; + GtkWidget * security; + GtkWidget * progress; GtkWidget * statusbar; guint statusbar_id; diff --git a/src/ghtml-gtkhtml.c b/src/ghtml-gtkhtml.c index c780117..90f4c50 100644 --- a/src/ghtml-gtkhtml.c +++ b/src/ghtml-gtkhtml.c @@ -243,6 +243,14 @@ gdouble ghtml_get_progress(GtkWidget * widget) } +/* ghtml_get_security */ +SurferSecurity ghtml_get_security(GtkWidget * ghtml) +{ + /* FIXME implement */ + return SS_NONE; +} + + /* ghtml_get_source */ char const * ghtml_get_source(GtkWidget * widget) { @@ -598,6 +606,7 @@ static int _ghtml_document_load(GHtml * ghtml, gchar const * url, ghtml->history = g_list_first(ghtml->current); } surfer_set_location(ghtml->surfer, url); + surfer_set_security(ghtml->surfer, SS_NONE); surfer_set_title(ghtml->surfer, NULL); html_document_open_stream(ghtml->html_document, "text/html"); if((gc = _ghtml_stream_load(ghtml, ghtml->html_document->current_stream, diff --git a/src/ghtml-gtkmozembed.c b/src/ghtml-gtkmozembed.c index 2166a83..b6d6721 100644 --- a/src/ghtml-gtkmozembed.c +++ b/src/ghtml-gtkmozembed.c @@ -362,6 +362,14 @@ gdouble ghtml_get_progress(GtkWidget * ghtml) } +/* ghtml_get_security */ +SurferSecurity ghtml_get_security(GtkWidget * ghtml) +{ + /* FIXME implement */ + return SS_NONE; +} + + /* ghtml_get_source */ char const * ghtml_get_source(GtkWidget * widget) { diff --git a/src/ghtml-gtktextview.c b/src/ghtml-gtktextview.c index df1892b..8281c61 100644 --- a/src/ghtml-gtktextview.c +++ b/src/ghtml-gtktextview.c @@ -391,6 +391,14 @@ gdouble ghtml_get_progress(GtkWidget * widget) } +/* ghtml_get_security */ +SurferSecurity ghtml_get_security(GtkWidget * ghtml) +{ + /* FIXME implement */ + return SS_NONE; +} + + /* ghtml_get_source */ char const * ghtml_get_source(GtkWidget * widget) { diff --git a/src/ghtml-webkit.c b/src/ghtml-webkit.c index f448001..24f3504 100644 --- a/src/ghtml-webkit.c +++ b/src/ghtml-webkit.c @@ -17,6 +17,7 @@ +#include #include #include #include @@ -29,9 +30,19 @@ /* private */ +/* types */ +typedef struct _GHtml +{ + Surfer * surfer; + GtkWidget * widget; + GtkWidget * view; + char * status; +} GHtml; + + /* prototypes */ /* functions */ -static void _ghtml_set_status(GtkWidget * ghtml, char const * status); +static void _ghtml_set_status(GtkWidget * widget, char const * status); /* callbacks */ static gboolean _on_console_message(WebKitWebView * view, const gchar * message, @@ -71,83 +82,120 @@ static gboolean _on_web_view_ready(WebKitWebView * view, gpointer data); /* public */ /* functions */ /* ghtml_new */ +static void _new_init(GHtml * ghtml); + GtkWidget * ghtml_new(Surfer * surfer) { - GtkWidget * view; + static int initialized = 0; + GHtml * ghtml; GtkWidget * widget; + if((ghtml = object_new(sizeof(*ghtml))) == NULL) + return NULL; + ghtml->surfer = surfer; + ghtml->status = NULL; /* widgets */ - view = webkit_web_view_new(); widget = gtk_scrolled_window_new(NULL, NULL); - g_object_set_data(G_OBJECT(widget), "surfer", surfer); - g_object_set_data(G_OBJECT(widget), "view", view); + ghtml->widget = widget; + ghtml->view = webkit_web_view_new(); + g_object_set_data(G_OBJECT(widget), "ghtml", ghtml); /* view */ - g_signal_connect(G_OBJECT(view), "console-message", G_CALLBACK( + g_signal_connect(G_OBJECT(ghtml->view), "console-message", G_CALLBACK( _on_console_message), widget); - g_signal_connect(G_OBJECT(view), "create-web-view", G_CALLBACK( + g_signal_connect(G_OBJECT(ghtml->view), "create-web-view", G_CALLBACK( _on_create_web_view), widget); #ifdef WEBKIT_TYPE_DOWNLOAD - g_signal_connect(G_OBJECT(view), "download-requested", G_CALLBACK( - _on_download_requested), widget); + g_signal_connect(G_OBJECT(ghtml->view), "download-requested", + G_CALLBACK(_on_download_requested), widget); #endif - g_signal_connect(G_OBJECT(view), "hovering-over-link", G_CALLBACK( - _on_hovering_over_link), widget); - g_signal_connect(G_OBJECT(view), "load-committed", G_CALLBACK( + g_signal_connect(G_OBJECT(ghtml->view), "hovering-over-link", + G_CALLBACK(_on_hovering_over_link), widget); + g_signal_connect(G_OBJECT(ghtml->view), "load-committed", G_CALLBACK( _on_load_committed), widget); - g_signal_connect(G_OBJECT(view), "load-error", G_CALLBACK( + g_signal_connect(G_OBJECT(ghtml->view), "load-error", G_CALLBACK( _on_load_error), widget); - g_signal_connect(G_OBJECT(view), "load-finished", G_CALLBACK( + g_signal_connect(G_OBJECT(ghtml->view), "load-finished", G_CALLBACK( _on_load_finished), widget); - g_signal_connect(G_OBJECT(view), "load-progress-changed", G_CALLBACK( - _on_load_progress_changed), widget); - g_signal_connect(G_OBJECT(view), "load-started", G_CALLBACK( + g_signal_connect(G_OBJECT(ghtml->view), "load-progress-changed", + G_CALLBACK(_on_load_progress_changed), widget); + g_signal_connect(G_OBJECT(ghtml->view), "load-started", G_CALLBACK( _on_load_started), widget); - g_signal_connect(G_OBJECT(view), "script-alert", G_CALLBACK( + g_signal_connect(G_OBJECT(ghtml->view), "script-alert", G_CALLBACK( _on_script_alert), widget); - g_signal_connect(G_OBJECT(view), "script-confirm", G_CALLBACK( + g_signal_connect(G_OBJECT(ghtml->view), "script-confirm", G_CALLBACK( _on_script_confirm), widget); - g_signal_connect(G_OBJECT(view), "script-prompt", G_CALLBACK( + g_signal_connect(G_OBJECT(ghtml->view), "script-prompt", G_CALLBACK( _on_script_prompt), widget); - g_signal_connect(G_OBJECT(view), "status-bar-text-changed", G_CALLBACK( - _on_status_bar_text_changed), widget); - g_signal_connect(G_OBJECT(view), "title-changed", G_CALLBACK( + g_signal_connect(G_OBJECT(ghtml->view), "status-bar-text-changed", + G_CALLBACK(_on_status_bar_text_changed), widget); + g_signal_connect(G_OBJECT(ghtml->view), "title-changed", G_CALLBACK( _on_title_changed), widget); /* scrolled window */ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_container_add(GTK_CONTAINER(widget), view); + gtk_container_add(GTK_CONTAINER(widget), ghtml->view); + if(initialized++ == 0) + _new_init(ghtml); + initialized = 1; return widget; } +static void _new_init(GHtml * ghtml) +{ + SoupSession * session; + char const * cacerts[] = + { + "/etc/pki/tls/certs/ca-bundle.crt", + "/etc/ssl/certs/ca-certificates.crt", + "/etc/openssl/certs/ca-certificates.crt" + }; + size_t i; + + session = webkit_get_default_session(); + for(i = 0; i < sizeof(cacerts) / sizeof(*cacerts); i++) + if(access(cacerts[i], R_OK) == 0) + { + g_object_set(session, "ssl-ca-file", cacerts[i], + "ssl-strict", FALSE, NULL); + return; + } + surfer_warning(ghtml->surfer, "Could not load certificate bundle:\n" + "SSL certificates will not be verified."); +} + /* ghtml_delete */ -void ghtml_delete(GtkWidget * ghtml) +void ghtml_delete(GtkWidget * widget) { - free(g_object_get_data(G_OBJECT(ghtml), "status")); + GHtml * ghtml; + + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + free(ghtml->status); + object_delete(ghtml); } /* accessors */ /* ghtml_can_go_back */ -gboolean ghtml_can_go_back(GtkWidget * ghtml) +gboolean ghtml_can_go_back(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - return webkit_web_view_can_go_back(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + return webkit_web_view_can_go_back(WEBKIT_WEB_VIEW(ghtml->view)); } -gboolean ghtml_can_go_forward(GtkWidget * ghtml) +gboolean ghtml_can_go_forward(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - return webkit_web_view_can_go_forward(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + return webkit_web_view_can_go_forward(WEBKIT_WEB_VIEW(ghtml->view)); } -char const * ghtml_get_link_message(GtkWidget * ghtml) +char const * ghtml_get_link_message(GtkWidget * widget) { /* FIXME implement */ return NULL; @@ -155,46 +203,76 @@ char const * ghtml_get_link_message(GtkWidget * ghtml) /* ghtml_get_location */ -char const * ghtml_get_location(GtkWidget * ghtml) +char const * ghtml_get_location(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; WebKitWebFrame * frame; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(ghtml->view)); return webkit_web_frame_get_uri(frame); } /* ghtml_get_progress */ -gdouble ghtml_get_progress(GtkWidget * ghtml) +gdouble ghtml_get_progress(GtkWidget * widget) { + gdouble ret = -1.0; #if WEBKIT_CHECK_VERSION(1, 1, 0) /* XXX may not be accurate */ - gdouble ret; - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - ret = webkit_web_view_get_progress(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + ret = webkit_web_view_get_progress(WEBKIT_WEB_VIEW(ghtml->view)); if(ret == 0.0) ret = -1.0; - return ret; -#else - return -1.0; #endif + return ret; +} + + +/* ghtml_get_security */ +SurferSecurity ghtml_get_security(GtkWidget * widget) +{ + SurferSecurity security = SS_NONE; +#if WEBKIT_CHECK_VERSION(1, 1, 0) + GHtml * ghtml; + WebKitWebFrame * frame; + char const * location; + WebKitWebDataSource *source; + WebKitNetworkRequest *request; + SoupMessage * message; +#endif + +#if WEBKIT_CHECK_VERSION(1, 1, 0) + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(ghtml->view)); + if((location = webkit_web_frame_get_uri(frame)) != NULL + && 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); + if(message != NULL && soup_message_get_flags(message) + & SOUP_MESSAGE_CERTIFICATE_TRUSTED) + security = SS_TRUSTED; + } +#endif + return security; } /* ghtml_get_source */ -char const * ghtml_get_source(GtkWidget * ghtml) +char const * ghtml_get_source(GtkWidget * widget) { #if WEBKIT_CHECK_VERSION(1, 1, 0) - GtkWidget * view; + GHtml * ghtml; WebKitWebFrame * frame; WebKitWebDataSource * source; GString * str; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(ghtml->view)); source = webkit_web_frame_get_data_source(frame); if((str = webkit_web_data_source_get_data(source)) == NULL) return NULL; @@ -208,24 +286,27 @@ char const * ghtml_get_source(GtkWidget * ghtml) /* ghtml_get_status */ char const * ghtml_get_status(GtkWidget * widget) { - return g_object_get_data(G_OBJECT(widget), "status"); + GHtml * ghtml; + + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + return ghtml->status; } /* ghtml_get_title */ -char const * ghtml_get_title(GtkWidget * ghtml) +char const * ghtml_get_title(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; WebKitWebFrame * frame; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(ghtml->view)); return webkit_web_frame_get_title(frame); } /* ghtml_set_proxy */ -int ghtml_set_proxy(GtkWidget * ghtml, SurferProxyType type, char const * http, +int ghtml_set_proxy(GtkWidget * widget, SurferProxyType type, char const * http, unsigned int http_port) { #if WEBKIT_CHECK_VERSION(1, 1, 0) @@ -256,119 +337,118 @@ int ghtml_set_proxy(GtkWidget * ghtml, SurferProxyType type, char const * http, /* useful */ /* ghtml_execute */ -void ghtml_execute(GtkWidget * ghtml, char const * code) +void ghtml_execute(GtkWidget * widget, char const * code) { - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - webkit_web_view_execute_script(WEBKIT_WEB_VIEW(view), code); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + webkit_web_view_execute_script(WEBKIT_WEB_VIEW(ghtml->view), code); } /* ghtml_find */ -gboolean ghtml_find(GtkWidget * ghtml, char const * text, gboolean sensitive, +gboolean ghtml_find(GtkWidget * widget, char const * text, gboolean sensitive, gboolean wrap) { - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - return webkit_web_view_search_text(WEBKIT_WEB_VIEW(view), text, + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + return webkit_web_view_search_text(WEBKIT_WEB_VIEW(ghtml->view), text, sensitive, TRUE, wrap); } -gboolean ghtml_go_back(GtkWidget * ghtml) +gboolean ghtml_go_back(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; - if(ghtml_can_go_back(ghtml) == FALSE) + if(ghtml_can_go_back(widget) == FALSE) return FALSE; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - webkit_web_view_go_back(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + webkit_web_view_go_back(WEBKIT_WEB_VIEW(ghtml->view)); return TRUE; } -gboolean ghtml_go_forward(GtkWidget * ghtml) +gboolean ghtml_go_forward(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; - if(ghtml_can_go_forward(ghtml) == FALSE) + if(ghtml_can_go_forward(widget) == FALSE) return FALSE; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - webkit_web_view_go_forward(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + webkit_web_view_go_forward(WEBKIT_WEB_VIEW(ghtml->view)); return TRUE; } -void ghtml_load_url(GtkWidget * ghtml, char const * url) +void ghtml_load_url(GtkWidget * widget, char const * url) { - GtkWidget * view; - Surfer * surfer; + GHtml * ghtml; gchar * p; + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); if((p = _ghtml_make_url(NULL, url)) != NULL) url = p; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - webkit_web_view_open(WEBKIT_WEB_VIEW(view), url); + webkit_web_view_open(WEBKIT_WEB_VIEW(ghtml->view), url); g_free(p); - surfer = g_object_get_data(G_OBJECT(ghtml), "surfer"); - surfer_set_progress(surfer, 0.0); - _ghtml_set_status(ghtml, _("Connecting...")); + surfer_set_progress(ghtml->surfer, 0.0); + surfer_set_security(ghtml->surfer, SS_NONE); + _ghtml_set_status(widget, _("Connecting...")); } /* ghtml_print */ -void ghtml_print(GtkWidget * ghtml) +void ghtml_print(GtkWidget * widget) { #if WEBKIT_CHECK_VERSION(1, 1, 0) /* XXX may not be accurate */ - GtkWidget * view; + GHtml * ghtml; WebKitWebFrame * frame; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(ghtml->view)); webkit_web_frame_print(frame); #endif } -void ghtml_refresh(GtkWidget * ghtml) +void ghtml_refresh(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - webkit_web_view_reload(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + webkit_web_view_reload(WEBKIT_WEB_VIEW(ghtml->view)); } -void ghtml_reload(GtkWidget * ghtml) +void ghtml_reload(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); #if WEBKIT_CHECK_VERSION(1, 0, 3) - webkit_web_view_reload_bypass_cache(WEBKIT_WEB_VIEW(view)); + webkit_web_view_reload_bypass_cache(WEBKIT_WEB_VIEW(ghtml->view)); #else - webkit_web_view_reload(WEBKIT_WEB_VIEW(view)); + webkit_web_view_reload(WEBKIT_WEB_VIEW(ghtml->view)); #endif } -void ghtml_stop(GtkWidget * ghtml) +void ghtml_stop(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - webkit_web_view_stop_loading(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + webkit_web_view_stop_loading(WEBKIT_WEB_VIEW(ghtml->view)); } -void ghtml_select_all(GtkWidget * ghtml) +void ghtml_select_all(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - webkit_web_view_select_all(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + webkit_web_view_select_all(WEBKIT_WEB_VIEW(ghtml->view)); } @@ -378,52 +458,52 @@ void ghtml_unselect_all(GtkWidget * ghtml) } -void ghtml_zoom_in(GtkWidget * ghtml) +void ghtml_zoom_in(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - webkit_web_view_zoom_in(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + webkit_web_view_zoom_in(WEBKIT_WEB_VIEW(ghtml->view)); } -void ghtml_zoom_out(GtkWidget * ghtml) +void ghtml_zoom_out(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - webkit_web_view_zoom_out(WEBKIT_WEB_VIEW(view)); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + webkit_web_view_zoom_out(WEBKIT_WEB_VIEW(ghtml->view)); } -void ghtml_zoom_reset(GtkWidget * ghtml) +void ghtml_zoom_reset(GtkWidget * widget) { - GtkWidget * view; + GHtml * ghtml; - view = g_object_get_data(G_OBJECT(ghtml), "view"); - webkit_web_view_set_zoom_level(WEBKIT_WEB_VIEW(view), 1.0); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + webkit_web_view_set_zoom_level(WEBKIT_WEB_VIEW(ghtml->view), 1.0); } /* private */ /* functions */ -static void _ghtml_set_status(GtkWidget * ghtml, char const * status) +static void _ghtml_set_status(GtkWidget * widget, char const * status) { - Surfer * surfer; + GHtml * ghtml; gdouble progress; - surfer = g_object_get_data(G_OBJECT(ghtml), "surfer"); - free(g_object_get_data(G_OBJECT(ghtml), "status")); + ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); + free(ghtml->status); if(status == NULL) { - if((progress = ghtml_get_progress(ghtml)) == 0.0) + if((progress = ghtml_get_progress(widget)) == 0.0) status = _("Connecting..."); else if(progress > 0.0) status = _("Downloading..."); } - g_object_set_data(G_OBJECT(ghtml), "status", (status != NULL) - ? strdup(status) : NULL); /* XXX may fail */ - surfer_set_status(surfer, status); + /* XXX may fail */ + ghtml->status = (status != NULL) ? strdup(status) : NULL; + surfer_set_status(ghtml->surfer, status); } @@ -432,10 +512,10 @@ static void _ghtml_set_status(GtkWidget * ghtml, char const * status) static gboolean _on_console_message(WebKitWebView * view, const gchar * message, guint line, const gchar * source, gpointer data) { - Surfer * surfer; + GHtml * ghtml; - surfer = g_object_get_data(G_OBJECT(data), "surfer"); - surfer_console_message(surfer, message, source, line); + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); + surfer_console_message(ghtml->surfer, message, source, line); return TRUE; } @@ -444,17 +524,16 @@ static gboolean _on_console_message(WebKitWebView * view, const gchar * message, static WebKitWebView * _on_create_web_view(WebKitWebView * view, WebKitWebFrame * frame, gpointer data) { - WebKitWebView * ret; + GHtml * ghtml; Surfer * surfer; - surfer = g_object_get_data(G_OBJECT(data), "surfer"); if((surfer = surfer_new(NULL)) == NULL) return NULL; /* FIXME we may want the history to be copied (and then more) */ - ret = g_object_get_data(G_OBJECT(surfer_get_view(surfer)), "view"); - g_signal_connect(G_OBJECT(ret), "web-view-ready", G_CALLBACK( + ghtml = g_object_get_data(G_OBJECT(surfer_get_view(surfer)), "ghtml"); + g_signal_connect(G_OBJECT(ghtml->view), "web-view-ready", G_CALLBACK( _on_web_view_ready), surfer_get_view(surfer)); - return ret; + return WEBKIT_WEB_VIEW(ghtml->view); } @@ -463,14 +542,14 @@ static WebKitWebView * _on_create_web_view(WebKitWebView * view, static gboolean _on_download_requested(WebKitWebView * view, WebKitDownload * download, gpointer data) { - Surfer * surfer; + GHtml * ghtml; char const * url; char const * suggested; - surfer = g_object_get_data(G_OBJECT(data), "surfer"); + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); url = webkit_download_get_uri(download); suggested = webkit_download_get_suggested_filename(download); - surfer_download(surfer, url, suggested); + surfer_download(ghtml->surfer, url, suggested); webkit_download_cancel(download); return FALSE; } @@ -481,9 +560,9 @@ static gboolean _on_download_requested(WebKitWebView * view, static void _on_hovering_over_link(WebKitWebView * view, const gchar * title, const gchar * url, gpointer data) { - GtkWidget * ghtml = data; + GtkWidget * widget = data; - _ghtml_set_status(ghtml, url); + _ghtml_set_status(widget, url); } @@ -491,35 +570,15 @@ static void _on_hovering_over_link(WebKitWebView * view, const gchar * title, static void _on_load_committed(WebKitWebView * view, WebKitWebFrame * frame, gpointer data) { + GHtml * ghtml; 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"); + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); 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); + surfer_set_location(ghtml->surfer, location); + surfer_set_security(ghtml->surfer, ghtml_get_security(ghtml->widget)); } @@ -527,14 +586,14 @@ static void _on_load_committed(WebKitWebView * view, WebKitWebFrame * frame, static gboolean _on_load_error(WebKitWebView * view, WebKitWebFrame * frame, const gchar * uri, GError * error, gpointer data) { - Surfer * surfer; + GHtml * ghtml; #ifdef WEBKIT_POLICY_ERROR char const * suggested; #endif - surfer = g_object_get_data(G_OBJECT(data), "surfer"); + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); if(error == NULL) - return surfer_error(surfer, _("Unknown error"), TRUE); + return surfer_error(ghtml->surfer, _("Unknown error"), TRUE); #ifdef WEBKIT_NETWORK_ERROR if(error->domain == WEBKIT_NETWORK_ERROR && error->code == WEBKIT_NETWORK_ERROR_CANCELLED) @@ -547,11 +606,11 @@ static gboolean _on_load_error(WebKitWebView * view, WebKitWebFrame * frame, /* FIXME propose to download or cancel instead */ if((suggested = strrchr(uri, '/')) != NULL) suggested++; - surfer_download(surfer, uri, suggested); + surfer_download(ghtml->surfer, uri, suggested); return TRUE; } #endif - return surfer_error(surfer, error->message, TRUE); + return surfer_error(ghtml->surfer, error->message, TRUE); } @@ -559,12 +618,12 @@ static gboolean _on_load_error(WebKitWebView * view, WebKitWebFrame * frame, static void _on_load_finished(WebKitWebView * view, WebKitWebFrame * arg1, gpointer data) { - GtkWidget * ghtml = data; + GHtml * ghtml; Surfer * surfer; - surfer = g_object_get_data(G_OBJECT(ghtml), "surfer"); - surfer_set_progress(surfer, -1.0); - _ghtml_set_status(ghtml, NULL); + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); + surfer_set_progress(ghtml->surfer, -1.0); + _ghtml_set_status(ghtml->widget, NULL); } @@ -572,13 +631,12 @@ static void _on_load_finished(WebKitWebView * view, WebKitWebFrame * arg1, static void _on_load_progress_changed(WebKitWebView * view, gint progress, gpointer data) { - GtkWidget * ghtml = data; - Surfer * surfer; + GHtml * ghtml; gdouble fraction = progress; - surfer = g_object_get_data(G_OBJECT(ghtml), "surfer"); - surfer_set_progress(surfer, fraction / 100); - _ghtml_set_status(ghtml, _("Downloading...")); + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); + surfer_set_progress(ghtml->surfer, fraction / 100); + _ghtml_set_status(ghtml->widget, _("Downloading...")); } @@ -586,12 +644,11 @@ static void _on_load_progress_changed(WebKitWebView * view, gint progress, static void _on_load_started(WebKitWebView * view, WebKitWebFrame * frame, gpointer data) { - GtkWidget * ghtml = data; - Surfer * surfer; + GHtml * ghtml; - surfer = g_object_get_data(G_OBJECT(ghtml), "surfer"); - surfer_set_progress(surfer, 0.00); - _ghtml_set_status(ghtml, _("Downloading...")); + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); + surfer_set_progress(ghtml->surfer, 0.00); + _ghtml_set_status(ghtml->widget, _("Downloading...")); } @@ -599,10 +656,10 @@ static void _on_load_started(WebKitWebView * view, WebKitWebFrame * frame, static gboolean _on_script_alert(WebKitWebView * view, WebKitWebFrame * frame, const gchar * message, gpointer data) { - Surfer * surfer; + GHtml * ghtml; - surfer = g_object_get_data(G_OBJECT(data), "surfer"); - surfer_warning(surfer, message); + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); + surfer_warning(ghtml->surfer, message); return TRUE; } @@ -610,10 +667,10 @@ static gboolean _on_script_alert(WebKitWebView * view, WebKitWebFrame * frame, static gboolean _on_script_confirm(WebKitWebView * view, WebKitWebFrame * frame, const gchar * message, gboolean * confirmed, gpointer data) { - Surfer * surfer; + GHtml * ghtml; - surfer = g_object_get_data(G_OBJECT(data), "surfer"); - if(surfer_confirm(surfer, message, confirmed) != 0) + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); + if(surfer_confirm(ghtml->surfer, message, confirmed) != 0) *confirmed = FALSE; return TRUE; } @@ -622,10 +679,10 @@ static gboolean _on_script_prompt(WebKitWebView * view, WebKitWebFrame * frame, const gchar * message, const gchar * default_value, gchar ** value, gpointer data) { - Surfer * surfer; + GHtml * ghtml; - surfer = g_object_get_data(G_OBJECT(data), "surfer"); - if(surfer_prompt(surfer, message, default_value, value) == 0) + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); + if(surfer_prompt(ghtml->surfer, message, default_value, value) == 0) return TRUE; *value = NULL; return TRUE; @@ -635,60 +692,60 @@ static gboolean _on_script_prompt(WebKitWebView * view, WebKitWebFrame * frame, static void _on_status_bar_text_changed(WebKitWebView * view, gchar * arg1, gpointer data) { - GtkWidget * ghtml = data; + GtkWidget * widget = data; if(strlen(arg1) == 0) return; - _ghtml_set_status(ghtml, arg1); + _ghtml_set_status(widget, arg1); } static void _on_title_changed(WebKitWebView * view, WebKitWebFrame * frame, const gchar * title, gpointer data) { - Surfer * surfer; + GHtml * ghtml; - surfer = g_object_get_data(G_OBJECT(data), "surfer"); - surfer_set_title(surfer, title); + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); + surfer_set_title(ghtml->surfer, title); } #if WEBKIT_CHECK_VERSION(1, 0, 3) static gboolean _on_web_view_ready(WebKitWebView * view, gpointer data) { - Surfer * surfer; + GHtml * ghtml; WebKitWebWindowFeatures * features; gboolean b; gint w; gint h; - surfer = g_object_get_data(G_OBJECT(data), "surfer"); + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); features = webkit_web_view_get_window_features(WEBKIT_WEB_VIEW(view)); /* FIXME track properties with notify:: instead */ g_object_get(G_OBJECT(features), "width", &w, "height", &h, NULL); if(w > 0 && h > 0) - surfer_resize(surfer, w, h); + surfer_resize(ghtml->surfer, w, h); g_object_get(G_OBJECT(features), "fullscreen", &b, NULL); if(b == TRUE) - surfer_set_fullscreen(surfer, TRUE); + surfer_set_fullscreen(ghtml->surfer, TRUE); # ifndef EMBEDDED g_object_get(G_OBJECT(features), "menubar-visible", &b, NULL); - surfer_show_menubar(surfer, b); + surfer_show_menubar(ghtml->surfer, b); # endif g_object_get(G_OBJECT(features), "toolbar-visible", &b, NULL); - surfer_show_toolbar(surfer, b); + surfer_show_toolbar(ghtml->surfer, b); g_object_get(G_OBJECT(features), "statusbar-visible", &b, NULL); - surfer_show_statusbar(surfer, b); - surfer_show_window(surfer, TRUE); + surfer_show_statusbar(ghtml->surfer, b); + surfer_show_window(ghtml->surfer, TRUE); return FALSE; } #else /* WebKitWebWindowFeatures is not available */ static gboolean _on_web_view_ready(WebKitWebView * view, gpointer data) { - Surfer * surfer; + GHtml * ghtml; - surfer = g_object_get_data(G_OBJECT(data), "surfer"); - surfer_show_window(surfer, TRUE); + ghtml = g_object_get_data(G_OBJECT(data), "ghtml"); + surfer_show_window(ghtml->surfer, TRUE); return FALSE; } #endif diff --git a/src/ghtml.h b/src/ghtml.h index 332df10..379cce7 100644 --- a/src/ghtml.h +++ b/src/ghtml.h @@ -34,6 +34,7 @@ gboolean ghtml_can_go_forward(GtkWidget * ghtml); char const * ghtml_get_link_message(GtkWidget * ghtml); char const * ghtml_get_location(GtkWidget * ghtml); gdouble ghtml_get_progress(GtkWidget * ghtml); +SurferSecurity ghtml_get_security(GtkWidget * ghtml); char const * ghtml_get_source(GtkWidget * ghtml); char const * ghtml_get_status(GtkWidget * ghtml); char const * ghtml_get_title(GtkWidget * ghtml); diff --git a/src/surfer.c b/src/surfer.c index 761dac5..b374342 100644 --- a/src/surfer.c +++ b/src/surfer.c @@ -366,6 +366,13 @@ Surfer * _new_do(char const * url) gtk_box_pack_start(GTK_BOX(vbox), surfer->notebook, TRUE, TRUE, 0); /* statusbar */ surfer->statusbox = gtk_hbox_new(FALSE, 0); + widget = gtk_button_new(); + gtk_button_set_relief(GTK_BUTTON(widget), GTK_RELIEF_NONE); + surfer->security = gtk_image_new(); + g_signal_connect_swapped(G_OBJECT(widget), "clicked", G_CALLBACK( + on_security), surfer); + gtk_container_add(GTK_CONTAINER(widget), surfer->security); + gtk_box_pack_start(GTK_BOX(surfer->statusbox), widget, FALSE, TRUE, 0); surfer->progress = gtk_progress_bar_new(); gtk_box_pack_start(GTK_BOX(surfer->statusbox), surfer->progress, FALSE, FALSE, 0); @@ -389,6 +396,8 @@ Surfer * _new_do(char const * url) surfer->ab_dialog = NULL; /* hack to display the statusbar only if necessary */ gtk_box_pack_start(GTK_BOX(vbox), surfer->statusbox, FALSE, FALSE, 0); + /* FIXME should be automatic and per tab */ + surfer_set_security(surfer, SS_NONE); surfer_set_status(surfer, NULL); _surfer_cnt++; return surfer; @@ -538,12 +547,27 @@ void surfer_set_proxy(Surfer * surfer, SurferProxyType type, char const * http, /* surfer_set_security */ void surfer_set_security(Surfer * surfer, SurferSecurity security) { - /* FIXME would need a context per tab to work... */ + GtkWidget * view; + char const * level; + + if((view = surfer_get_view(surfer)) == NULL) + return; /* consider the current tab only */ + security = ghtml_get_security(view); switch(security) { + case SS_TRUSTED: + level = "security-high"; + break; + case SS_UNTRUSTED: + level = "security-medium"; + break; + case SS_NONE: default: + level = "security-low"; break; } + gtk_image_set_from_icon_name(GTK_IMAGE(surfer->security), level, + GTK_ICON_SIZE_MENU); } @@ -1390,6 +1414,13 @@ void surfer_unselect_all(Surfer * surfer) } +/* surfer_view_security */ +void surfer_view_security(Surfer * surfer) +{ + /* FIXME implement */ +} + + /* surfer_view_source */ static void _on_source_close(GtkWidget * widget); static gboolean _on_source_closex(void); diff --git a/src/surfer.h b/src/surfer.h index 21cebdf..01df976 100644 --- a/src/surfer.h +++ b/src/surfer.h @@ -123,6 +123,8 @@ void surfer_go_home(Surfer * surfer); void surfer_refresh(Surfer * surfer); void surfer_reload(Surfer * surfer); void surfer_stop(Surfer * surfer); + +void surfer_view_security(Surfer * surfer); void surfer_view_source(Surfer * surfer); /* selection */