From 954fd17d06fe9453c355223d66207b23f359665b Mon Sep 17 00:00:00 2001 From: Xan Lopez Date: Mon, 16 Apr 2012 13:41:52 +0200 Subject: Create a new 'tabs-bar-visibility-policy' setting We need this to be an enum, since we'll a third option in the future for the Overview (to never show the tabs bar). For now just add the two values we have now and migrate the code and the user data. --- lib/ephy-prefs.h | 17 ++++++++++++----- lib/ephy-profile-migrator.c | 18 +++++++++++++++++- lib/ephy-profile-utils.h | 2 +- 3 files changed, 30 insertions(+), 7 deletions(-) (limited to 'lib') diff --git a/lib/ephy-prefs.h b/lib/ephy-prefs.h index 9c74deb39..a510f657a 100644 --- a/lib/ephy-prefs.h +++ b/lib/ephy-prefs.h @@ -43,6 +43,12 @@ typedef enum EPHY_PREFS_RESTORE_SESSION_POLICY_CRASHED } EphyPrefsRestoreSessionPolicy; +typedef enum +{ + EPHY_PREFS_UI_TABS_BAR_VISIBILITY_POLICY_ALWAYS, + EPHY_PREFS_UI_TABS_BAR_VISIBILITY_POLICY_MORE_THAN_ONE +} EphyPrefsUITabsBarVisibilityPolicy; + typedef enum { EPHY_PREFS_WEB_COOKIES_POLICY_ALWAYS, @@ -60,11 +66,12 @@ typedef enum EPHY_PREFS_STATE_HISTORY_DATE_FILTER_EVER, } EphyPrefsStateHistoryDateFilter; -#define EPHY_PREFS_UI_SCHEMA "org.gnome.Epiphany.ui" -#define EPHY_PREFS_UI_ALWAYS_SHOW_TABS_BAR "always-show-tabs-bar" -#define EPHY_PREFS_UI_SHOW_TOOLBARS "show-toolbars" -#define EPHY_PREFS_UI_TOOLBAR_STYLE "toolbar-style" -#define EPHY_PREFS_UI_DOWNLOADS_HIDDEN "downloads-hidden" +#define EPHY_PREFS_UI_SCHEMA "org.gnome.Epiphany.ui" +#define EPHY_PREFS_UI_ALWAYS_SHOW_TABS_BAR "always-show-tabs-bar" +#define EPHY_PREFS_UI_SHOW_TOOLBARS "show-toolbars" +#define EPHY_PREFS_UI_TOOLBAR_STYLE "toolbar-style" +#define EPHY_PREFS_UI_DOWNLOADS_HIDDEN "downloads-hidden" +#define EPHY_PREFS_UI_TABS_BAR_VISIBILITY_POLICY "tabs-bar-visibility-policy" #define EPHY_PREFS_STATE_SCHEMA "org.gnome.Epiphany.state" #define EPHY_PREFS_STATE_SAVE_DIR "save-dir" diff --git a/lib/ephy-profile-migrator.c b/lib/ephy-profile-migrator.c index a37638c25..2ab42c95e 100644 --- a/lib/ephy-profile-migrator.c +++ b/lib/ephy-profile-migrator.c @@ -36,6 +36,7 @@ #include "ephy-file-helpers.h" #include "ephy-history-service.h" #include "ephy-profile-utils.h" +#include "ephy-settings.h" #ifdef ENABLE_NSS #include "ephy-nss-glue.h" #endif @@ -605,6 +606,20 @@ migrate_history () g_object_unref (history_service); } +static void +migrate_tabs_visibility () +{ + gboolean always_show_tabs; + + always_show_tabs = g_settings_get_boolean (EPHY_SETTINGS_UI, + EPHY_PREFS_UI_ALWAYS_SHOW_TABS_BAR); + + if (always_show_tabs) + g_settings_set_enum (EPHY_SETTINGS_UI, + EPHY_PREFS_UI_TABS_BAR_VISIBILITY_POLICY, + EPHY_PREFS_UI_TABS_BAR_VISIBILITY_POLICY_ALWAYS); +} + const EphyProfileMigrator migrators[] = { migrate_cookies, migrate_passwords, @@ -614,7 +629,8 @@ const EphyProfileMigrator migrators[] = { /* Very similar to migrate_passwords, but this migrates * login/passwords for page forms, which we previously ignored */ migrate_passwords2, - migrate_history + migrate_history, + migrate_tabs_visibility }; static void diff --git a/lib/ephy-profile-utils.h b/lib/ephy-profile-utils.h index e33b94633..57837c64a 100644 --- a/lib/ephy-profile-utils.h +++ b/lib/ephy-profile-utils.h @@ -26,7 +26,7 @@ #define FORM_USERNAME_KEY "form_username" #define FORM_PASSWORD_KEY "form_password" -#define EPHY_PROFILE_MIGRATION_VERSION 5 +#define EPHY_PROFILE_MIGRATION_VERSION 6 int ephy_profile_utils_get_migration_version (void); -- cgit v1.2.3