fixed long-standing bug where the sidebar tabs would display the wrong

fixed long-standing bug where the sidebar tabs would display the
	wrong view by decrementing the appropriate index when a view
	is removed; gave sidebar views more room and solved the variable
	height problem by hiding the sidebar title when a sidebar view
	is displayed; reduced slop on splitter to avoid accidental
	toggling; and some new images from Susan.
This commit is contained in:
Andy Hertzfeld 2000-07-06 21:46:58 +00:00
parent 67d85d6f3a
commit 3cc4d73954
9 changed files with 51 additions and 13 deletions

View file

@ -1,3 +1,25 @@
2000-07-06 Andy Hertzfeld <andy@eazel.com>
* src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_remove_view):
fixed long-standing bug where sidebar tabs would invoke the
wrong views, by decrementing subsequent indexes when a panel is
removed.
* src/nautilus-sidebar.c: (nautilus_sidebar_initialize),
(nautilus_sidebar_activate_panel),
(nautilus_sidebar_deactivate_panel),
(nautilus_sidebar_update_buttons):
fixed problem of sidebar views changing their position as you
navigate, and also gave them more space, by hiding the title
info when a sidebar view is showing, allowing them to take up
the entire space of the sidebar.
* libnautilus-extensions/nautilus-horizontal-splitter.c:
reduced the slop threshold and time threshold for toggling the
sidebar so it doesn't happen accidentally
* icons/backgrounds.png:
* icons/colors.png:
* icons/emblems.png:
new images from Susan
2000-07-06 Michael Engber <engber@eazel.com>
* src/nautilus-zoom-control.c: (nautilus_zoom_control_destroy):

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 B

After

Width:  |  Height:  |  Size: 1,007 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View file

@ -38,8 +38,8 @@ struct NautilusHorizontalSplitterDetails {
#define BAR_WIDTH 7
#define CLOSED_THRESHOLD 4
#define NOMINAL_SIZE 148
#define SPLITTER_CLICK_SLOP 3
#define SPLITTER_CLICK_TIMEOUT 1500
#define SPLITTER_CLICK_SLOP 1
#define SPLITTER_CLICK_TIMEOUT 400
/* NautilusHorizontalSplitterClass methods */
static void nautilus_horizontal_splitter_initialize_class (NautilusHorizontalSplitterClass *horizontal_splitter_class);

View file

@ -38,8 +38,8 @@ struct NautilusHorizontalSplitterDetails {
#define BAR_WIDTH 7
#define CLOSED_THRESHOLD 4
#define NOMINAL_SIZE 148
#define SPLITTER_CLICK_SLOP 3
#define SPLITTER_CLICK_TIMEOUT 1500
#define SPLITTER_CLICK_SLOP 1
#define SPLITTER_CLICK_TIMEOUT 400
/* NautilusHorizontalSplitterClass methods */
static void nautilus_horizontal_splitter_initialize_class (NautilusHorizontalSplitterClass *horizontal_splitter_class);

View file

@ -230,7 +230,7 @@ nautilus_sidebar_initialize (GtkObject *object)
GTK_WIDGET (sidebar->details->title),
FALSE, FALSE, GNOME_PAD);
/* first, allocate the index tabs */
/* allocate the index tabs */
sidebar->details->sidebar_tabs = NAUTILUS_SIDEBAR_TABS (nautilus_sidebar_tabs_new ());
sidebar->details->selected_index = -1;
@ -825,7 +825,8 @@ nautilus_sidebar_activate_panel (NautilusSidebar *sidebar, int which_view)
g_free (title);
/* hide the buttons, since they look confusing when partially overlapped */
gtk_widget_hide (GTK_WIDGET (sidebar->details->button_box));
gtk_widget_hide (GTK_WIDGET (sidebar->details->button_box_centerer));
gtk_widget_hide (GTK_WIDGET (sidebar->details->title));
gtk_notebook_set_page (notebook, which_view);
}
@ -839,7 +840,8 @@ nautilus_sidebar_deactivate_panel(NautilusSidebar *sidebar)
gtk_widget_hide (GTK_WIDGET (sidebar->details->title_tab));
}
gtk_widget_show (GTK_WIDGET (sidebar->details->button_box));
gtk_widget_show (GTK_WIDGET (sidebar->details->button_box_centerer));
gtk_widget_show (GTK_WIDGET (sidebar->details->title));
sidebar->details->selected_index = -1;
nautilus_sidebar_tabs_select_tab (sidebar->details->sidebar_tabs, -1);
}
@ -1251,7 +1253,8 @@ nautilus_sidebar_update_buttons (NautilusSidebar *sidebar)
/* Hide button box if a sidebar panel is showing. */
if (sidebar->details->selected_index != -1) {
gtk_widget_hide (GTK_WIDGET (sidebar->details->button_box));
gtk_widget_hide (GTK_WIDGET (sidebar->details->button_box_centerer));
gtk_widget_hide (GTK_WIDGET (sidebar->details->title));
}
}
}

View file

@ -776,8 +776,10 @@ nautilus_sidebar_tabs_get_title_from_index (NautilusSidebarTabs *sidebar_tabs, i
void
nautilus_sidebar_tabs_remove_view (NautilusSidebarTabs *sidebar_tabs, const char *name)
{
GList *next_tab;
TabItem *tab_item;
int old_page_number;
g_return_if_fail (NAUTILUS_IS_SIDEBAR_TABS (sidebar_tabs));
g_return_if_fail (name != NULL);
@ -792,8 +794,16 @@ nautilus_sidebar_tabs_remove_view (NautilusSidebarTabs *sidebar_tabs, const char
/* Remove the item from the list */
sidebar_tabs->details->tab_items = g_list_remove (sidebar_tabs->details->tab_items, tab_item);
old_page_number = tab_item->notebook_page;
tab_item_destroy (tab_item);
/* decrement all page numbers greater than the one we're removing */
for (next_tab = sidebar_tabs->details->tab_items; next_tab != NULL; next_tab = next_tab->next) {
TabItem *item = next_tab->data;
if (item->notebook_page >= old_page_number)
item->notebook_page -= 1;
}
sidebar_tabs->details->tab_count -= 1;
recalculate_size (sidebar_tabs);

View file

@ -230,7 +230,7 @@ nautilus_sidebar_initialize (GtkObject *object)
GTK_WIDGET (sidebar->details->title),
FALSE, FALSE, GNOME_PAD);
/* first, allocate the index tabs */
/* allocate the index tabs */
sidebar->details->sidebar_tabs = NAUTILUS_SIDEBAR_TABS (nautilus_sidebar_tabs_new ());
sidebar->details->selected_index = -1;
@ -825,7 +825,8 @@ nautilus_sidebar_activate_panel (NautilusSidebar *sidebar, int which_view)
g_free (title);
/* hide the buttons, since they look confusing when partially overlapped */
gtk_widget_hide (GTK_WIDGET (sidebar->details->button_box));
gtk_widget_hide (GTK_WIDGET (sidebar->details->button_box_centerer));
gtk_widget_hide (GTK_WIDGET (sidebar->details->title));
gtk_notebook_set_page (notebook, which_view);
}
@ -839,7 +840,8 @@ nautilus_sidebar_deactivate_panel(NautilusSidebar *sidebar)
gtk_widget_hide (GTK_WIDGET (sidebar->details->title_tab));
}
gtk_widget_show (GTK_WIDGET (sidebar->details->button_box));
gtk_widget_show (GTK_WIDGET (sidebar->details->button_box_centerer));
gtk_widget_show (GTK_WIDGET (sidebar->details->title));
sidebar->details->selected_index = -1;
nautilus_sidebar_tabs_select_tab (sidebar->details->sidebar_tabs, -1);
}
@ -1251,7 +1253,8 @@ nautilus_sidebar_update_buttons (NautilusSidebar *sidebar)
/* Hide button box if a sidebar panel is showing. */
if (sidebar->details->selected_index != -1) {
gtk_widget_hide (GTK_WIDGET (sidebar->details->button_box));
gtk_widget_hide (GTK_WIDGET (sidebar->details->button_box_centerer));
gtk_widget_hide (GTK_WIDGET (sidebar->details->title));
}
}
}