diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | data/epiphany.schemas.in | 46 | ||||
-rw-r--r-- | data/glade/prefs-dialog.glade | 273 | ||||
-rw-r--r-- | embed/ephy-embed-prefs.h | 14 | ||||
-rw-r--r-- | embed/mozilla/mozilla-notifiers.cpp | 38 | ||||
-rw-r--r-- | src/language-editor.h | 3 | ||||
-rw-r--r-- | src/prefs-dialog.c | 12 |
7 files changed, 348 insertions, 50 deletions
@@ -2,6 +2,18 @@ * data/epiphany.schemas.in: * data/glade/prefs-dialog.glade: + * embed/ephy-embed-prefs.h: + * embed/mozilla/mozilla-notifiers.cpp: + * src/language-editor.h: + * src/prefs-dialog.c: + + Implement security page. Remove some useless + hidden prefs in the process. + +2003-05-10 Marco Pesenti Gritti <marco@it.gnome.org> + + * data/epiphany.schemas.in: + * data/glade/prefs-dialog.glade: * lib/ephy-prefs.h: * src/Makefile.am: * src/ephy-shell.c: (ephy_shell_new_window_cb): diff --git a/data/epiphany.schemas.in b/data/epiphany.schemas.in index 09717145c..883f244de 100644 --- a/data/epiphany.schemas.in +++ b/data/epiphany.schemas.in @@ -575,6 +575,52 @@ <locale name="C"> </locale> </schema> + <schema> + <key>/schemas/apps/epiphay/security/cookie_accept</key> + <applyto>/apps/epiphany/security/cookie_accept</applyto> + <owner>epiphany</owner> + <type>int</type> + <default>0</default> + <locale name="C"> + <short>Cookie accept</short> + <long>Where to accept cookies from. Possible values are 0 (anywhere), + 1 (from current server only), 2 (nowhere)</long> + </locale> + </schema> + <schema> + <key>/schemas/apps/epiphany/security/allow_popups</key> + <applyto>/apps/epiphany/security/allow_popups</applyto> + <owner>epiphany</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Allow popups</short> + <long>Allow sites to open new windows using JavaScript (if JavaScript + is enabled).</long> + </locale> + </schema> + <schema> + <key>/schemas/apps/epiphany/security/java_enabled</key> + <applyto>/apps/epiphany/security/java_enabled</applyto> + <owner>epiphany</owner> + <type>bool</type> + <default>1</default> + <locale name="C"> + <short>Enable Java</short> + <long>Enable Java.</long> + </locale> + </schema> + <schema> + <key>/schemas/apps/epiphany/security/javascript_enabled</key> + <applyto>/apps/epiphany/security/javascript_enabled</applyto> + <owner>epiphany</owner> + <type>bool</type> + <default>1</default> + <locale name="C"> + <short>Enable JavaScript</short> + <long>Enable JavaScript.</long> + </locale> + </schema> </schemalist> </gconfschemafile> diff --git a/data/glade/prefs-dialog.glade b/data/glade/prefs-dialog.glade index 598d95707..f97a22444 100644 --- a/data/glade/prefs-dialog.glade +++ b/data/glade/prefs-dialog.glade @@ -1700,20 +1700,281 @@ <child> <widget class="GtkVBox" id="vbox184"> + <property name="border_width">12</property> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">0</property> + <property name="spacing">18</property> <child> - <placeholder/> - </child> + <widget class="GtkVBox" id="vbox185"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> - <child> - <placeholder/> + <child> + <widget class="GtkLabel" id="label1292"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Web Content</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox170"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkLabel" id="label1293"> + <property name="visible">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox186"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkCheckButton" id="popups_allow_checkbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Allow popup windows</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="enable_java_checkbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Enable _Java</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="enable_javascript_checkbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Enable Java_Script</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + </packing> </child> <child> - <placeholder/> + <widget class="GtkVBox" id="vbox187"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkLabel" id="label1294"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Cookies</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox171"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkLabel" id="label1295"> + <property name="visible">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox188"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkRadioButton" id="cookies_radiobutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Always accept</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="radiobutton58"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Accept _from current site only</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">cookies_radiobutton</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="radiobutton59"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Never accept</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">cookies_radiobutton</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + </packing> </child> </widget> <packing> diff --git a/embed/ephy-embed-prefs.h b/embed/ephy-embed-prefs.h index 8caa14b07..4582a15a5 100644 --- a/embed/ephy-embed-prefs.h +++ b/embed/ephy-embed-prefs.h @@ -17,16 +17,10 @@ #define CONF_RENDERING_VISITED_LINKS "/apps/epiphany/rendering/visited_link_color" #define CONF_RENDERING_UNVISITED_LINKS "/apps/epiphany/rendering/unvisited_link_color" #define CONF_RENDERING_UNDERLINE_LINKS "/apps/epiphany/rendering/underline_links" -#define CONF_FILTERING_ALLOW_POPUPS "/apps/epiphany/filtering/allow_popups" -#define CONF_FILTERING_IMAGE_LOADING_TYPE "/apps/epiphany/filtering/image_loading_type" -#define CONF_FILTERING_ANIMATE_TYPE "/apps/epiphany/filtering/animate_type" -#define CONF_FILTERING_STATUSBAR_REWRITE "/apps/epiphany/filtering/statusbar_rewrite" -#define CONF_FILTERING_JAVA_ENABLED "/apps/epiphany/filtering/java_enabled" -#define CONF_FILTERING_JAVASCRIPT_ENABLED "/apps/epiphany/filtering/javascript_enabled" -#define CONF_PERSISTENT_COOKIES_BEHAVIOR "/apps/epiphany/filtering/cookie_behavior" -#define CONF_PERSISTENT_COOKIE_WARN "/apps/epiphany/filterin/cookie_warn" -#define CONF_PERSISTENT_COOKIE_LIFETIME "/apps/epiphany/filtering/cookie_lifetime" -#define CONF_PERSISTENT_PASSWORDS_SAVE "/apps/epiphany/filtering/passwords_save" +#define CONF_SECURITY_ALLOW_POPUPS "/apps/epiphany/security/allow_popups" +#define CONF_SECURITY_JAVA_ENABLED "/apps/epiphany/security/java_enabled" +#define CONF_SECURITY_JAVASCRIPT_ENABLED "/apps/epiphany/security/javascript_enabled" +#define CONF_SECURITY_COOKIES_ACCEPT "/apps/epiphany/security/cookie_accept" #define CONF_LANGUAGE_AUTODETECT_CHARSET "/apps/epiphany/rendering/autodetect_charset" #define CONF_LANGUAGE_DEFAULT_CHARSET "/apps/epiphany/rendering/default_charset" #define CONF_RENDERING_DEFAULT_FONT "/apps/epiphany/rendering/default_font" diff --git a/embed/mozilla/mozilla-notifiers.cpp b/embed/mozilla/mozilla-notifiers.cpp index 8c7364516..52b4d2560 100644 --- a/embed/mozilla/mozilla-notifiers.cpp +++ b/embed/mozilla/mozilla-notifiers.cpp @@ -48,11 +48,6 @@ mozilla_own_fonts_notifier(GConfClient *client, EphyEmbedSingle *single); static void -mozilla_animate_notifier(GConfClient *client, - guint cnxn_id, - GConfEntry *entry, - EphyEmbedSingle *single); -static void generic_mozilla_string_notifier(GConfClient *client, guint cnxn_id, GConfEntry *entry, @@ -139,9 +134,8 @@ static const struct } conversion_table [] = { - { CONF_FILTERING_JAVA_ENABLED, BOOL_PREF, "security.enable_java"}, - { CONF_FILTERING_JAVASCRIPT_ENABLED, BOOL_PREF, "javascript.enabled"}, - { CONF_FILTERING_IMAGE_LOADING_TYPE, INT_PREF, "network.image.imageBehavior"}, + { CONF_SECURITY_JAVA_ENABLED, BOOL_PREF, "security.enable_java"}, + { CONF_SECURITY_JAVASCRIPT_ENABLED, BOOL_PREF, "javascript.enabled"}, { CONF_RENDERING_BG_COLOR, STRING_PREF, "browser.display.background_color"}, { CONF_RENDERING_TEXT_COLOR, STRING_PREF, "browser.display.foreground_color"}, { CONF_RENDERING_UNVISITED_LINKS, STRING_PREF, "browser.anchor_color"}, @@ -160,10 +154,7 @@ conversion_table [] = { CONF_NETWORK_MEMORY_CACHE, INT_PREF, "browser.cache.memory.capacity"}, { CONF_NETWORK_DISK_CACHE, INT_PREF, "browser.cache.disk.capacity"}, { CONF_NETWORK_CACHE_COMPARE, INT_PREF, "browser.cache.check_doc_frequency"}, - { CONF_PERSISTENT_COOKIE_WARN, BOOL_PREF, "network.cookie.warnAboutCookies"}, - { CONF_PERSISTENT_COOKIES_BEHAVIOR, INT_PREF, "network.cookie.cookieBehavior"}, - { CONF_PERSISTENT_COOKIE_LIFETIME, BOOL_PREF, "network.cookie.lifetime.enabled"}, - { CONF_PERSISTENT_PASSWORDS_SAVE, BOOL_PREF, "signon.rememberSignons"}, + { CONF_SECURITY_COOKIES_ACCEPT, BOOL_PREF, "network.cookie.warnAboutCookies"}, { CONF_RENDERING_USE_SYSTEM_COLORS, BOOL_PREF, "browser.display.use_system_colors"}, { NULL, 0, NULL } }; @@ -177,13 +168,11 @@ custom_notifiers [] = { { CONF_NETWORK_USER_AGENT, (GConfClientNotifyFunc) mozilla_user_agent_notifier }, - { CONF_FILTERING_ANIMATE_TYPE, - (GConfClientNotifyFunc) mozilla_animate_notifier }, { CONF_RENDERING_USE_OWN_COLORS, (GConfClientNotifyFunc) mozilla_own_colors_notifier }, { CONF_RENDERING_USE_OWN_FONTS, (GConfClientNotifyFunc) mozilla_own_fonts_notifier }, - { CONF_FILTERING_ALLOW_POPUPS, + { CONF_SECURITY_ALLOW_POPUPS, (GConfClientNotifyFunc) mozilla_allow_popups_notifier }, { CONF_LANGUAGE_DEFAULT_CHARSET, (GConfClientNotifyFunc) mozilla_default_charset_notifier }, @@ -510,29 +499,12 @@ mozilla_own_fonts_notifier(GConfClient *client, } static void -mozilla_animate_notifier(GConfClient *client, - guint cnxn_id, - GConfEntry *entry, - EphyEmbedSingle *single) -{ - static const gchar *type[] = - { - "normal", - "once", - "none" - }; - - mozilla_prefs_set_string ("image.animation_mode", - type[gconf_value_get_int(entry->value)]); -} - -static void mozilla_allow_popups_notifier(GConfClient *client, guint cnxn_id, GConfEntry *entry, EphyEmbedSingle *single) { - gboolean new_val = eel_gconf_get_boolean(CONF_FILTERING_ALLOW_POPUPS); + gboolean new_val = eel_gconf_get_boolean(CONF_SECURITY_ALLOW_POPUPS); mozilla_prefs_set_boolean ("dom.disable_open_during_load", !new_val); } diff --git a/src/language-editor.h b/src/language-editor.h index 153fa136a..c4da83028 100644 --- a/src/language-editor.h +++ b/src/language-editor.h @@ -19,7 +19,8 @@ #ifndef LANGUAGE_EDITOR_H #define LANGUAGE_EDITOR_H -#include "general-prefs.h" +#include "ephy-dialog.h" +#include "language-editor.h" #include <gtk/gtkwidget.h> #include <glib-object.h> diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c index 6a9fa6e10..0c02b7fbf 100644 --- a/src/prefs-dialog.c +++ b/src/prefs-dialog.c @@ -215,6 +215,12 @@ enum USE_COLORS_PROP, USE_FONTS_PROP, + /* Security */ + ALLOW_POPUPS_PROP, + ALLOW_JAVA_PROP, + ALLOW_JS_PROP, + ACCEPT_COOKIES_PROP, + /* Advanced */ CACHE_COMPARE_PROP, DISK_CACHE_PROP, @@ -251,6 +257,12 @@ EphyDialogProperty properties [] = { USE_COLORS_PROP, "use_colors_checkbutton", CONF_RENDERING_USE_OWN_COLORS, PT_AUTOAPPLY, NULL }, { USE_FONTS_PROP, "use_fonts_checkbutton", CONF_RENDERING_USE_OWN_FONTS, PT_AUTOAPPLY, NULL }, + /* Security */ + { ALLOW_POPUPS_PROP, "popups_allow_checkbutton", CONF_SECURITY_ALLOW_POPUPS, PT_AUTOAPPLY, NULL }, + { ALLOW_JAVA_PROP, "enable_java_checkbutton", CONF_SECURITY_JAVA_ENABLED, PT_AUTOAPPLY, NULL }, + { ALLOW_JS_PROP, "enable_javascript_checkbutton", CONF_SECURITY_JAVASCRIPT_ENABLED, PT_AUTOAPPLY, NULL }, + { ACCEPT_COOKIES_PROP, "cookies_radiobutton", CONF_SECURITY_COOKIES_ACCEPT, PT_AUTOAPPLY, NULL }, + /* Advanced */ { CACHE_COMPARE_PROP, "cache_compare_radiobutton", CONF_NETWORK_CACHE_COMPARE, PT_AUTOAPPLY, NULL }, { DISK_CACHE_PROP, "disk_cache_spin", CONF_NETWORK_DISK_CACHE, PT_AUTOAPPLY, NULL }, |