Move the navigation bar size group to be a cross window header size group

This way we can make sure we align the headers of the sidebar too.
This commit is contained in:
Alexander Larsson 2009-12-17 21:24:26 +01:00
parent 595150f7a9
commit 89c29e1beb
5 changed files with 22 additions and 9 deletions

View file

@ -621,6 +621,7 @@ nautilus_navigation_window_pane_setup (NautilusNavigationWindowPane *pane)
{
GtkWidget *hbox;
NautilusEntry *entry;
GtkSizeGroup *header_size_group;
pane->widget = gtk_vbox_new (FALSE, 0);
@ -631,11 +632,10 @@ nautilus_navigation_window_pane_setup (NautilusNavigationWindowPane *pane)
FALSE, FALSE, 0);
gtk_widget_show (hbox);
pane->navigation_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
gtk_size_group_set_ignore_hidden (pane->navigation_group, FALSE);
header_size_group = NAUTILUS_NAVIGATION_WINDOW (NAUTILUS_WINDOW_PANE (pane)->window)->details->header_size_group;
pane->path_bar = g_object_new (NAUTILUS_TYPE_PATH_BAR, NULL);
gtk_size_group_add_widget (pane->navigation_group, pane->path_bar);
gtk_size_group_add_widget (header_size_group, pane->path_bar);
gtk_widget_show (pane->path_bar);
g_signal_connect_object (pane->path_bar, "path_clicked",
@ -648,7 +648,7 @@ nautilus_navigation_window_pane_setup (NautilusNavigationWindowPane *pane)
TRUE, TRUE, 0);
pane->navigation_bar = nautilus_location_bar_new (pane);
gtk_size_group_add_widget (pane->navigation_group, pane->navigation_bar);
gtk_size_group_add_widget (header_size_group, pane->navigation_bar);
g_signal_connect_object (pane->navigation_bar, "location_changed",
G_CALLBACK (navigation_bar_location_changed_callback), pane, 0);
g_signal_connect_object (pane->navigation_bar, "cancel",
@ -662,7 +662,7 @@ nautilus_navigation_window_pane_setup (NautilusNavigationWindowPane *pane)
TRUE, TRUE, 0);
pane->search_bar = nautilus_search_bar_new ();
gtk_size_group_add_widget (pane->navigation_group, pane->search_bar);
gtk_size_group_add_widget (header_size_group, pane->search_bar);
g_signal_connect_object (pane->search_bar, "activate",
G_CALLBACK (search_bar_activate_callback), pane, 0);
g_signal_connect_object (pane->search_bar, "cancel",

View file

@ -49,7 +49,6 @@ struct _NautilusNavigationWindowPane {
/* location bar */
GtkWidget *location_bar;
GtkSizeGroup *navigation_group;
GtkWidget *navigation_bar;
GtkWidget *path_bar;
GtkWidget *search_bar;

View file

@ -139,6 +139,9 @@ nautilus_navigation_window_init (NautilusNavigationWindow *window)
pane = nautilus_navigation_window_pane_new (win);
win->details->panes = g_list_prepend (win->details->panes, pane);
window->details->header_size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
gtk_size_group_set_ignore_hidden (window->details->header_size_group, FALSE);
window->details->content_paned = nautilus_horizontal_splitter_new ();
gtk_table_attach (GTK_TABLE (NAUTILUS_WINDOW (window)->details->table),
window->details->content_paned,
@ -456,8 +459,14 @@ side_pane_switch_page_callback (NautilusSidePane *side_pane,
static void
nautilus_navigation_window_set_up_sidebar (NautilusNavigationWindow *window)
{
GtkWidget *title;
window->sidebar = nautilus_side_pane_new ();
title = nautilus_side_pane_get_title (window->sidebar);
gtk_size_group_add_widget (window->details->header_size_group,
title);
gtk_paned_pack1 (GTK_PANED (window->details->content_paned),
GTK_WIDGET (window->sidebar),
FALSE, TRUE);

View file

@ -41,7 +41,7 @@ typedef struct {
struct _NautilusSidePaneDetails {
GtkWidget *notebook;
GtkWidget *menu;
GtkWidget *title_frame;
GtkWidget *title_hbox;
GtkWidget *title_label;
@ -316,12 +316,15 @@ nautilus_side_pane_init (GObject *object)
side_pane->details = G_TYPE_INSTANCE_GET_PRIVATE (object, NAUTILUS_TYPE_SIDE_PANE, NautilusSidePaneDetails);
frame = gtk_frame_new (NULL);
/* The frame (really a vbox) has the border */
frame = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (frame), 4);
side_pane->details->title_frame = frame;
gtk_frame_set_shadow_type (GTK_FRAME(frame), GTK_SHADOW_NONE);
gtk_widget_show (frame);
gtk_box_pack_start (GTK_BOX (side_pane), frame, FALSE, FALSE, 0);
/* And the title_hbox is what gets the same size as the other
headers */
hbox = gtk_hbox_new (FALSE, 0);
side_pane->details->title_hbox = hbox;
gtk_widget_show (hbox);

View file

@ -87,6 +87,8 @@ struct _NautilusNavigationWindowDetails {
GtkWidget *content_paned;
GtkWidget *content_box;
GtkActionGroup *navigation_action_group; /* owned by ui_manager */
GtkSizeGroup *header_size_group;
/* Side Pane */
int side_pane_width;