diff options
-rw-r--r-- | ChangeLog | 17 | ||||
-rw-r--r-- | data/epiphany.schemas.in | 6 | ||||
-rw-r--r-- | data/glade/prefs-dialog.glade | 52 | ||||
-rw-r--r-- | lib/ephy-prefs.h | 2 | ||||
-rw-r--r-- | src/ephy-notebook.c | 4 | ||||
-rw-r--r-- | src/ephy-shell.c | 4 | ||||
-rw-r--r-- | src/ephy-tab.c | 3 | ||||
-rw-r--r-- | src/ephy-window.c | 65 | ||||
-rw-r--r-- | src/prefs-dialog.c | 2 |
9 files changed, 46 insertions, 109 deletions
@@ -1,3 +1,20 @@ +2003-09-10 Marco Pesenti Gritti <marco@gnome.org> + + * data/epiphany.schemas.in: + * data/glade/prefs-dialog.glade: + * lib/ephy-prefs.h: + * src/ephy-notebook.c: (update_tabs_visibility), + (ephy_notebook_init): + * src/ephy-shell.c: (ephy_shell_new_tab): + * src/ephy-tab.c: (open_link_in_new_tab): + * src/ephy-window.c: (sync_tab_load_status), + (ephy_window_set_active_tab), (tab_added_cb), (tab_removed_cb): + * src/prefs-dialog.c: + + Make spinner status per tab. + Remove the default to tab pref, use tab by default for middle + click on links, add a always_show_tabs_bar hidden pref. + 2003-09-10 Pablo Saratxaga <pablo@mandrakesoft.com> * configure.in: Added Walloon (wa) to ALL_LINGUAS diff --git a/data/epiphany.schemas.in b/data/epiphany.schemas.in index 7626161f9..446e651c9 100644 --- a/data/epiphany.schemas.in +++ b/data/epiphany.schemas.in @@ -89,14 +89,14 @@ </locale> </schema> <schema> - <key>/schemas/apps/epiphany/general/open_in_tab</key> + <key>/schemas/apps/epiphany/general/always_show_tabs_bar</key> <applyto>/apps/epiphany/general/open_in_tab</applyto> <owner>epiphany</owner> <type>bool</type> <default>false</default> <locale name="C"> - <short>Use tabs</short> - <long>Open in tabs by default.</long> + <short>Always show the tab bar</short> + <long>Show the tab bar also when there is only one tab open.</long> </locale> </schema> <schema> diff --git a/data/glade/prefs-dialog.glade b/data/glade/prefs-dialog.glade index ec6224ce2..6596bcef8 100644 --- a/data/glade/prefs-dialog.glade +++ b/data/glade/prefs-dialog.glade @@ -262,27 +262,6 @@ <property name="spacing">6</property> <child> - <widget class="GtkLabel" id="label1252"> - <property name="visible">True</property> - <property name="label" translatable="yes"><b>Tabs</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="hbox145"> <property name="visible">True</property> <property name="homogeneous">False</property> @@ -308,37 +287,6 @@ <property name="fill">False</property> </packing> </child> - - <child> - <widget class="GtkVBox" id="vbox160"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkCheckButton" id="open_in_tabs_checkbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Open in _tabs by default</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> diff --git a/lib/ephy-prefs.h b/lib/ephy-prefs.h index 3b6233f6d..0ecb6360f 100644 --- a/lib/ephy-prefs.h +++ b/lib/ephy-prefs.h @@ -24,7 +24,7 @@ G_BEGIN_DECLS /* General */ #define CONF_GENERAL_HOMEPAGE "/apps/epiphany/general/homepage" #define CONF_ASK_DOWNLOAD_DEST "/apps/epiphany/general/ask_download_dest" -#define CONF_TABS_TABBED "/apps/epiphany/general/open_in_tab" +#define CONF_ALWAYS_SHOW_TABS_BAR "/apps/epiphany/general/always_show_tabs_bar" #define CONF_WINDOWS_SHOW_TOOLBARS "/apps/epiphany/general/show_toolbars" #define CONF_WINDOWS_SHOW_BOOKMARKS_BAR "/apps/epiphany/general/show_bookmarks_bar" #define CONF_WINDOWS_SHOW_STATUSBAR "/apps/epiphany/general/show_statusbar" diff --git a/src/ephy-notebook.c b/src/ephy-notebook.c index 1ca616eed..9600673cd 100644 --- a/src/ephy-notebook.c +++ b/src/ephy-notebook.c @@ -716,7 +716,7 @@ update_tabs_visibility (EphyNotebook *nb, gboolean before_inserting) if (before_inserting) num++; - show_tabs = (eel_gconf_get_boolean (CONF_TABS_TABBED) || num > 1) && + show_tabs = (eel_gconf_get_boolean (CONF_ALWAYS_SHOW_TABS_BAR) || num > 1) && nb->priv->show_tabs == TRUE; gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nb), show_tabs); @@ -770,7 +770,7 @@ ephy_notebook_init (EphyNotebook *notebook) GDK_ACTION_MOVE | GDK_ACTION_COPY); notebook->priv->tabs_vis_notifier_id = eel_gconf_notification_add - (CONF_TABS_TABBED, + (CONF_ALWAYS_SHOW_TABS_BAR, (GConfClientNotifyFunc)tabs_visibility_notifier, notebook); } diff --git a/src/ephy-shell.c b/src/ephy-shell.c index 4fe89e069..7e29fd293 100644 --- a/src/ephy-shell.c +++ b/src/ephy-shell.c @@ -397,7 +397,7 @@ ephy_shell_new_tab (EphyShell *shell, EphyWindow *window; EphyTab *tab; EphyEmbed *embed; - gboolean in_new_window; + gboolean in_new_window = TRUE; gboolean grouped; gboolean jump_to; EphyEmbed *previous_embed = NULL; @@ -405,8 +405,6 @@ ephy_shell_new_tab (EphyShell *shell, gint position; Toolbar *toolbar; - in_new_window = !eel_gconf_get_boolean (CONF_TABS_TABBED); - if (flags & EPHY_NEW_TAB_IN_NEW_WINDOW) in_new_window = TRUE; if (flags & EPHY_NEW_TAB_IN_EXISTING_WINDOW) in_new_window = FALSE; diff --git a/src/ephy-tab.c b/src/ephy-tab.c index 43815893a..c5091239a 100644 --- a/src/ephy-tab.c +++ b/src/ephy-tab.c @@ -905,7 +905,8 @@ open_link_in_new_tab (EphyTab *tab, { ephy_shell_new_tab (ephy_shell, window, tab, link_address, - EPHY_NEW_TAB_OPEN_PAGE); + EPHY_NEW_TAB_OPEN_PAGE | + EPHY_NEW_TAB_IN_EXISTING_WINDOW); } else { diff --git a/src/ephy-window.c b/src/ephy-window.c index 29e6cdd9c..0d59e9823 100644 --- a/src/ephy-window.c +++ b/src/ephy-window.c @@ -720,38 +720,6 @@ sync_tab_load_progress (EphyTab *tab, GParamSpec *pspec, EphyWindow *window) } static void -sync_tab_load_status (EphyTab *dummy, GParamSpec *pspec, EphyWindow *window) -{ - gboolean spin = FALSE; - GList *tabs, *l; - - if (window->priv->closing) return; - - tabs = ephy_window_get_tabs (window); - for (l = tabs; l != NULL; l = l->next) - { - EphyTab *tab = EPHY_TAB(l->data); - g_return_if_fail (EPHY_IS_TAB(tab)); - - if (ephy_tab_get_load_status (tab)) - { - spin = TRUE; - break; - } - } - g_list_free (tabs); - - if (spin) - { - toolbar_spinner_start (window->priv->toolbar); - } - else - { - toolbar_spinner_stop (window->priv->toolbar); - } -} - -static void sync_tab_message (EphyTab *tab, GParamSpec *pspec, EphyWindow *window) { if (window->priv->closing) return; @@ -872,15 +840,26 @@ sync_tab_security (EphyTab *tab, GParamSpec *pspec, EphyWindow *window) } static void -sync_tab_stop (EphyTab *tab, GParamSpec *pspec, EphyWindow *window) +sync_tab_load_status (EphyTab *tab, GParamSpec *pspec, EphyWindow *window) { GtkAction *action; + gboolean status; if (window->priv->closing) return; action = gtk_action_group_get_action (window->priv->action_group, "ViewStop"); - g_object_set (action, "sensitive", ephy_tab_get_load_status (tab), NULL); + status = ephy_tab_get_load_status (tab); + g_object_set (action, "sensitive", status, NULL); + + if (status) + { + toolbar_spinner_start (window->priv->toolbar); + } + else + { + toolbar_spinner_stop (window->priv->toolbar); + } } static void @@ -1118,7 +1097,7 @@ ephy_window_set_active_tab (EphyWindow *window, EphyTab *new_tab) G_CALLBACK (sync_tab_load_progress), window); g_signal_handlers_disconnect_by_func (G_OBJECT (old_tab), - G_CALLBACK (sync_tab_stop), + G_CALLBACK (sync_tab_load_status), window); g_signal_handlers_disconnect_by_func (G_OBJECT (old_tab), G_CALLBACK (sync_tab_message), @@ -1149,7 +1128,7 @@ ephy_window_set_active_tab (EphyWindow *window, EphyTab *new_tab) sync_tab_address (new_tab, NULL, window); sync_tab_icon (new_tab, NULL, window); sync_tab_load_progress (new_tab, NULL, window); - sync_tab_stop (new_tab, NULL, window); + sync_tab_load_status (new_tab, NULL, window); sync_tab_message (new_tab, NULL, window); sync_tab_navigation (new_tab, NULL, window); sync_tab_security (new_tab, NULL, window); @@ -1169,8 +1148,12 @@ ephy_window_set_active_tab (EphyWindow *window, EphyTab *new_tab) G_CALLBACK (sync_tab_load_progress), window, 0); g_signal_connect_object (G_OBJECT (new_tab), + "notify::load-progress", + G_CALLBACK (sync_tab_load_progress), + window, 0); + g_signal_connect_object (G_OBJECT (new_tab), "notify::load-status", - G_CALLBACK (sync_tab_stop), + G_CALLBACK (sync_tab_load_status), window, 0); g_signal_connect_object (G_OBJECT (new_tab), "notify::message", @@ -1250,9 +1233,6 @@ tab_added_cb (EphyNotebook *notebook, GtkWidget *child, EphyWindow *window) update_tabs_menu (window); - sync_tab_load_status (tab, NULL, window); - g_signal_connect_object (G_OBJECT (tab), "notify::load-status", - G_CALLBACK (sync_tab_load_status), window, 0); g_signal_connect_object (G_OBJECT (tab), "notify::visible", G_CALLBACK (sync_tab_visibility), window, 0); } @@ -1266,16 +1246,11 @@ tab_removed_cb (EphyNotebook *notebook, GtkWidget *child, EphyWindow *window) tab = EPHY_TAB (g_object_get_data (G_OBJECT (child), "EphyTab")); g_signal_handlers_disconnect_by_func (G_OBJECT (tab), - G_CALLBACK (sync_tab_load_status), - window); - g_signal_handlers_disconnect_by_func (G_OBJECT (tab), G_CALLBACK (sync_tab_visibility), window); window->priv->num_tabs--; - sync_tab_load_status (NULL, NULL, window); - if (window->priv->num_tabs == 0) { /* removed the last tab, close the window */ diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c index b99b75de4..62961414f 100644 --- a/src/prefs-dialog.c +++ b/src/prefs-dialog.c @@ -209,7 +209,6 @@ enum NOTEBOOK_PROP, /* General */ - OPEN_IN_TABS_PROP, HOMEPAGE_ENTRY_PROP, /* Fonts and Colors */ @@ -247,7 +246,6 @@ EphyDialogProperty properties [] = { NOTEBOOK_PROP, "prefs_notebook", NULL, PT_NORMAL, NULL }, /* General */ - { OPEN_IN_TABS_PROP, "open_in_tabs_checkbutton", CONF_TABS_TABBED, PT_AUTOAPPLY, NULL }, { HOMEPAGE_ENTRY_PROP, "homepage_entry", CONF_GENERAL_HOMEPAGE, PT_AUTOAPPLY, NULL }, /* Fonts and Colors */ |