1997-01-02 07:41:27 +00:00
|
|
|
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
|
|
|
|
|
|
|
|
/* nautilus-horizontal-splitter.c - A horizontal splitter with a semi gradient look
|
|
|
|
|
|
|
|
Copyright (C) 1999, 2000 Eazel, Inc.
|
|
|
|
|
|
|
|
The Gnome Library is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU Library General Public License as
|
|
|
|
published by the Free Software Foundation; either version 2 of the
|
|
|
|
License, or (at your option) any later version.
|
|
|
|
|
|
|
|
The Gnome Library is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
Library General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Library General Public
|
|
|
|
License along with the Gnome Library; see the file COPYING.LIB. If not,
|
|
|
|
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
|
|
Boston, MA 02111-1307, USA.
|
|
|
|
|
|
|
|
Authors: Ramiro Estrugo <ramiro@eazel.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <config.h>
|
|
|
|
#include "nautilus-horizontal-splitter.h"
|
Ignore some additional generated files.
* components/services/install/command-line/.cvsignore:
* components/services/install/lib/.cvsignore:
Ignore some additional generated files.
* libnautilus-extensions/nautilus-gnome-extensions.h:
* libnautilus-extensions/nautilus-gnome-extensions.c:
Moved stock dialog functions to nautilus-stock-dialogs.[ch].
(nautilus_gnome_canvas_item_request_update_deep),
(nautilus_gnome_canvas_request_update_all),
(nautilus_gnome_canvas_set_scroll_region),
(nautilus_gnome_canvas_set_scroll_region_left_justify):
Added a bunch of functions that were previously private inside
NautilusIconContainer.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_adjustment_set_value),
(nautilus_gtk_adjustment_clamp_value):
Added functions that treat the value range in a GtkAdjustment the
same way scroll bars do, taking the page size into account.
* libnautilus-extensions/nautilus-horizontal-splitter.h:
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_initialize),
(toggle_splitter_position),
(nautilus_horizontal_splitter_button_press),
(nautilus_horizontal_splitter_button_release):
Fixed logic so that splitter will only open or close if you both
click and release within the splitter itself.
* libnautilus-extensions/nautilus-icon-private.h:
* libnautilus-extensions/nautilus-icon-container.c:
(icon_toggle_selected): Move icons to front when they are selected.
(set_scroll_region): Moved workaround that sets scroll region to
be large enough to fill the widget allocation into a function in
nautilus-gnome-extensions.h. In the process, I fixed the problem
where it would do the job wrong when the view was zoomed.
(lay_down_icons), (relayout), (reload_icon_positions):
Started work on sharing code between automatic layout of the entire
container and layout of new icons as the arrive.
(nautilus_icon_container_clear), (nautilus_icon_container_add):
Got started on the mechanism for laying out new icons as they arrive
in bunches instead of one at a time.
* libnautilus-extensions/nautilus-icon-dnd.c:
* libnautilus-extensions/nautilus-program-chooser.c:
* libnautilus-extensions/nautilus-program-choosing.c:
* src/file-manager/dfos-xfer.c:
* src/file-manager/fm-directory-view.c:
* src/file-manager/fm-error-reporting.c:
* src/nautilus-application.c:
* src/nautilus-location-bar.c:
* src/nautilus-property-browser.c:
* src/nautilus-window-manage-views.c:
* src/nautilus-window-menus.c:
Added includes to source files that use the stock dialogs.
* libnautilus-extensions/nautilus-stock-dialogs.h:
* libnautilus-extensions/nautilus-stock-dialogs.c:
(nautilus_timed_wait_stop), (convert_varargs_to_name_array),
(nautilus_simple_dialog), (turn_on_line_wrap_flag),
(turn_on_line_wrap_flag_callback), (show_ok_box),
(show_yes_no_box), (nautilus_info_dialog),
(nautilus_info_dialog_parented), (nautilus_warning_dialog),
(nautilus_warning_dialog_parented), (nautilus_error_dialog),
(nautilus_error_dialog_parented), (nautilus_yes_no_dialog),
(nautilus_yes_no_dialog_parented):
Moved all the stock dialog code in here.
* src/nautilus-sidebar-title.c: (update_icon): Only display the
icon when it's ready, instead of showing generic document icon
before that time.
(update_title), (update_more_info), (update_emblems),
(update_notes): Added FIXMEs about doing the same with other info.
(nautilus_sidebar_title_button_press_event): Added a FIXME to the
half-baked code in here.
2000-06-26 18:01:44 +00:00
|
|
|
|
2001-04-04 00:07:15 +00:00
|
|
|
#include <eel/eel-gtk-macros.h>
|
2000-09-29 23:38:11 +00:00
|
|
|
#include <stdlib.h>
|
|
|
|
|
Ignore some additional generated files.
* components/services/install/command-line/.cvsignore:
* components/services/install/lib/.cvsignore:
Ignore some additional generated files.
* libnautilus-extensions/nautilus-gnome-extensions.h:
* libnautilus-extensions/nautilus-gnome-extensions.c:
Moved stock dialog functions to nautilus-stock-dialogs.[ch].
(nautilus_gnome_canvas_item_request_update_deep),
(nautilus_gnome_canvas_request_update_all),
(nautilus_gnome_canvas_set_scroll_region),
(nautilus_gnome_canvas_set_scroll_region_left_justify):
Added a bunch of functions that were previously private inside
NautilusIconContainer.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_adjustment_set_value),
(nautilus_gtk_adjustment_clamp_value):
Added functions that treat the value range in a GtkAdjustment the
same way scroll bars do, taking the page size into account.
* libnautilus-extensions/nautilus-horizontal-splitter.h:
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_initialize),
(toggle_splitter_position),
(nautilus_horizontal_splitter_button_press),
(nautilus_horizontal_splitter_button_release):
Fixed logic so that splitter will only open or close if you both
click and release within the splitter itself.
* libnautilus-extensions/nautilus-icon-private.h:
* libnautilus-extensions/nautilus-icon-container.c:
(icon_toggle_selected): Move icons to front when they are selected.
(set_scroll_region): Moved workaround that sets scroll region to
be large enough to fill the widget allocation into a function in
nautilus-gnome-extensions.h. In the process, I fixed the problem
where it would do the job wrong when the view was zoomed.
(lay_down_icons), (relayout), (reload_icon_positions):
Started work on sharing code between automatic layout of the entire
container and layout of new icons as the arrive.
(nautilus_icon_container_clear), (nautilus_icon_container_add):
Got started on the mechanism for laying out new icons as they arrive
in bunches instead of one at a time.
* libnautilus-extensions/nautilus-icon-dnd.c:
* libnautilus-extensions/nautilus-program-chooser.c:
* libnautilus-extensions/nautilus-program-choosing.c:
* src/file-manager/dfos-xfer.c:
* src/file-manager/fm-directory-view.c:
* src/file-manager/fm-error-reporting.c:
* src/nautilus-application.c:
* src/nautilus-location-bar.c:
* src/nautilus-property-browser.c:
* src/nautilus-window-manage-views.c:
* src/nautilus-window-menus.c:
Added includes to source files that use the stock dialogs.
* libnautilus-extensions/nautilus-stock-dialogs.h:
* libnautilus-extensions/nautilus-stock-dialogs.c:
(nautilus_timed_wait_stop), (convert_varargs_to_name_array),
(nautilus_simple_dialog), (turn_on_line_wrap_flag),
(turn_on_line_wrap_flag_callback), (show_ok_box),
(show_yes_no_box), (nautilus_info_dialog),
(nautilus_info_dialog_parented), (nautilus_warning_dialog),
(nautilus_warning_dialog_parented), (nautilus_error_dialog),
(nautilus_error_dialog_parented), (nautilus_yes_no_dialog),
(nautilus_yes_no_dialog_parented):
Moved all the stock dialog code in here.
* src/nautilus-sidebar-title.c: (update_icon): Only display the
icon when it's ready, instead of showing generic document icon
before that time.
(update_title), (update_more_info), (update_emblems),
(update_notes): Added FIXMEs about doing the same with other info.
(nautilus_sidebar_title_button_press_event): Added a FIXME to the
half-baked code in here.
2000-06-26 18:01:44 +00:00
|
|
|
struct NautilusHorizontalSplitterDetails {
|
2001-11-08 23:09:35 +00:00
|
|
|
guint32 press_time;
|
|
|
|
int press_position;
|
Ignore some additional generated files.
* components/services/install/command-line/.cvsignore:
* components/services/install/lib/.cvsignore:
Ignore some additional generated files.
* libnautilus-extensions/nautilus-gnome-extensions.h:
* libnautilus-extensions/nautilus-gnome-extensions.c:
Moved stock dialog functions to nautilus-stock-dialogs.[ch].
(nautilus_gnome_canvas_item_request_update_deep),
(nautilus_gnome_canvas_request_update_all),
(nautilus_gnome_canvas_set_scroll_region),
(nautilus_gnome_canvas_set_scroll_region_left_justify):
Added a bunch of functions that were previously private inside
NautilusIconContainer.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_adjustment_set_value),
(nautilus_gtk_adjustment_clamp_value):
Added functions that treat the value range in a GtkAdjustment the
same way scroll bars do, taking the page size into account.
* libnautilus-extensions/nautilus-horizontal-splitter.h:
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_initialize),
(toggle_splitter_position),
(nautilus_horizontal_splitter_button_press),
(nautilus_horizontal_splitter_button_release):
Fixed logic so that splitter will only open or close if you both
click and release within the splitter itself.
* libnautilus-extensions/nautilus-icon-private.h:
* libnautilus-extensions/nautilus-icon-container.c:
(icon_toggle_selected): Move icons to front when they are selected.
(set_scroll_region): Moved workaround that sets scroll region to
be large enough to fill the widget allocation into a function in
nautilus-gnome-extensions.h. In the process, I fixed the problem
where it would do the job wrong when the view was zoomed.
(lay_down_icons), (relayout), (reload_icon_positions):
Started work on sharing code between automatic layout of the entire
container and layout of new icons as the arrive.
(nautilus_icon_container_clear), (nautilus_icon_container_add):
Got started on the mechanism for laying out new icons as they arrive
in bunches instead of one at a time.
* libnautilus-extensions/nautilus-icon-dnd.c:
* libnautilus-extensions/nautilus-program-chooser.c:
* libnautilus-extensions/nautilus-program-choosing.c:
* src/file-manager/dfos-xfer.c:
* src/file-manager/fm-directory-view.c:
* src/file-manager/fm-error-reporting.c:
* src/nautilus-application.c:
* src/nautilus-location-bar.c:
* src/nautilus-property-browser.c:
* src/nautilus-window-manage-views.c:
* src/nautilus-window-menus.c:
Added includes to source files that use the stock dialogs.
* libnautilus-extensions/nautilus-stock-dialogs.h:
* libnautilus-extensions/nautilus-stock-dialogs.c:
(nautilus_timed_wait_stop), (convert_varargs_to_name_array),
(nautilus_simple_dialog), (turn_on_line_wrap_flag),
(turn_on_line_wrap_flag_callback), (show_ok_box),
(show_yes_no_box), (nautilus_info_dialog),
(nautilus_info_dialog_parented), (nautilus_warning_dialog),
(nautilus_warning_dialog_parented), (nautilus_error_dialog),
(nautilus_error_dialog_parented), (nautilus_yes_no_dialog),
(nautilus_yes_no_dialog_parented):
Moved all the stock dialog code in here.
* src/nautilus-sidebar-title.c: (update_icon): Only display the
icon when it's ready, instead of showing generic document icon
before that time.
(update_title), (update_more_info), (update_emblems),
(update_notes): Added FIXMEs about doing the same with other info.
(nautilus_sidebar_title_button_press_event): Added a FIXME to the
half-baked code in here.
2000-06-26 18:01:44 +00:00
|
|
|
int saved_size;
|
1997-01-02 07:41:27 +00:00
|
|
|
};
|
|
|
|
|
2000-06-23 16:45:20 +00:00
|
|
|
#define CLOSED_THRESHOLD 4
|
2000-06-23 23:19:48 +00:00
|
|
|
#define NOMINAL_SIZE 148
|
2008-10-09 10:30:38 +00:00
|
|
|
#define SPLITTER_CLICK_SLOP 4
|
2000-07-06 21:46:58 +00:00
|
|
|
#define SPLITTER_CLICK_TIMEOUT 400
|
2000-06-21 14:13:45 +00:00
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
static void nautilus_horizontal_splitter_class_init (NautilusHorizontalSplitterClass *horizontal_splitter_class);
|
|
|
|
static void nautilus_horizontal_splitter_init (NautilusHorizontalSplitter *horizontal_splitter);
|
1997-01-02 07:41:27 +00:00
|
|
|
|
2001-11-04 02:07:34 +00:00
|
|
|
EEL_CLASS_BOILERPLATE (NautilusHorizontalSplitter,
|
2001-11-08 23:09:35 +00:00
|
|
|
nautilus_horizontal_splitter,
|
|
|
|
GTK_TYPE_HPANED)
|
1997-01-02 07:41:27 +00:00
|
|
|
|
|
|
|
static void
|
2001-10-28 20:21:52 +00:00
|
|
|
nautilus_horizontal_splitter_init (NautilusHorizontalSplitter *horizontal_splitter)
|
1997-01-02 07:41:27 +00:00
|
|
|
{
|
Ignore some additional generated files.
* components/services/install/command-line/.cvsignore:
* components/services/install/lib/.cvsignore:
Ignore some additional generated files.
* libnautilus-extensions/nautilus-gnome-extensions.h:
* libnautilus-extensions/nautilus-gnome-extensions.c:
Moved stock dialog functions to nautilus-stock-dialogs.[ch].
(nautilus_gnome_canvas_item_request_update_deep),
(nautilus_gnome_canvas_request_update_all),
(nautilus_gnome_canvas_set_scroll_region),
(nautilus_gnome_canvas_set_scroll_region_left_justify):
Added a bunch of functions that were previously private inside
NautilusIconContainer.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_adjustment_set_value),
(nautilus_gtk_adjustment_clamp_value):
Added functions that treat the value range in a GtkAdjustment the
same way scroll bars do, taking the page size into account.
* libnautilus-extensions/nautilus-horizontal-splitter.h:
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_initialize),
(toggle_splitter_position),
(nautilus_horizontal_splitter_button_press),
(nautilus_horizontal_splitter_button_release):
Fixed logic so that splitter will only open or close if you both
click and release within the splitter itself.
* libnautilus-extensions/nautilus-icon-private.h:
* libnautilus-extensions/nautilus-icon-container.c:
(icon_toggle_selected): Move icons to front when they are selected.
(set_scroll_region): Moved workaround that sets scroll region to
be large enough to fill the widget allocation into a function in
nautilus-gnome-extensions.h. In the process, I fixed the problem
where it would do the job wrong when the view was zoomed.
(lay_down_icons), (relayout), (reload_icon_positions):
Started work on sharing code between automatic layout of the entire
container and layout of new icons as the arrive.
(nautilus_icon_container_clear), (nautilus_icon_container_add):
Got started on the mechanism for laying out new icons as they arrive
in bunches instead of one at a time.
* libnautilus-extensions/nautilus-icon-dnd.c:
* libnautilus-extensions/nautilus-program-chooser.c:
* libnautilus-extensions/nautilus-program-choosing.c:
* src/file-manager/dfos-xfer.c:
* src/file-manager/fm-directory-view.c:
* src/file-manager/fm-error-reporting.c:
* src/nautilus-application.c:
* src/nautilus-location-bar.c:
* src/nautilus-property-browser.c:
* src/nautilus-window-manage-views.c:
* src/nautilus-window-menus.c:
Added includes to source files that use the stock dialogs.
* libnautilus-extensions/nautilus-stock-dialogs.h:
* libnautilus-extensions/nautilus-stock-dialogs.c:
(nautilus_timed_wait_stop), (convert_varargs_to_name_array),
(nautilus_simple_dialog), (turn_on_line_wrap_flag),
(turn_on_line_wrap_flag_callback), (show_ok_box),
(show_yes_no_box), (nautilus_info_dialog),
(nautilus_info_dialog_parented), (nautilus_warning_dialog),
(nautilus_warning_dialog_parented), (nautilus_error_dialog),
(nautilus_error_dialog_parented), (nautilus_yes_no_dialog),
(nautilus_yes_no_dialog_parented):
Moved all the stock dialog code in here.
* src/nautilus-sidebar-title.c: (update_icon): Only display the
icon when it's ready, instead of showing generic document icon
before that time.
(update_title), (update_more_info), (update_emblems),
(update_notes): Added FIXMEs about doing the same with other info.
(nautilus_sidebar_title_button_press_event): Added a FIXME to the
half-baked code in here.
2000-06-26 18:01:44 +00:00
|
|
|
horizontal_splitter->details = g_new0 (NautilusHorizontalSplitterDetails, 1);
|
1997-01-02 07:41:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2001-11-08 23:09:35 +00:00
|
|
|
nautilus_horizontal_splitter_finalize (GObject *object)
|
1997-01-02 07:41:27 +00:00
|
|
|
{
|
|
|
|
NautilusHorizontalSplitter *horizontal_splitter;
|
|
|
|
|
|
|
|
horizontal_splitter = NAUTILUS_HORIZONTAL_SPLITTER (object);
|
|
|
|
|
2000-06-23 16:45:20 +00:00
|
|
|
g_free (horizontal_splitter->details);
|
1997-01-02 07:41:27 +00:00
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
EEL_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
|
1997-01-02 07:41:27 +00:00
|
|
|
}
|
|
|
|
|
2000-06-21 14:13:45 +00:00
|
|
|
static void
|
2001-11-08 23:09:35 +00:00
|
|
|
splitter_expand (NautilusHorizontalSplitter *splitter, int position)
|
2000-06-21 14:13:45 +00:00
|
|
|
{
|
2008-04-30 04:56:59 +00:00
|
|
|
g_assert (NAUTILUS_IS_HORIZONTAL_SPLITTER (splitter));
|
2000-06-21 14:13:45 +00:00
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
if (position >= CLOSED_THRESHOLD) {
|
|
|
|
return;
|
|
|
|
}
|
2000-06-21 14:13:45 +00:00
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
position = splitter->details->saved_size;
|
|
|
|
if (position < CLOSED_THRESHOLD) {
|
|
|
|
position = NOMINAL_SIZE;
|
2000-06-21 14:13:45 +00:00
|
|
|
}
|
2001-11-08 23:09:35 +00:00
|
|
|
|
|
|
|
gtk_paned_set_position (GTK_PANED (splitter), position);
|
2000-06-21 14:13:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2001-11-08 23:09:35 +00:00
|
|
|
splitter_collapse (NautilusHorizontalSplitter *splitter, int position)
|
2000-06-21 14:13:45 +00:00
|
|
|
{
|
2008-04-30 04:56:59 +00:00
|
|
|
g_assert (NAUTILUS_IS_HORIZONTAL_SPLITTER (splitter));
|
2000-06-21 14:13:45 +00:00
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
splitter->details->saved_size = position;
|
|
|
|
gtk_paned_set_position (GTK_PANED (splitter), 0);
|
2000-06-21 14:13:45 +00:00
|
|
|
}
|
|
|
|
|
1997-01-02 07:41:27 +00:00
|
|
|
static void
|
2001-11-08 23:09:35 +00:00
|
|
|
splitter_toggle (NautilusHorizontalSplitter *splitter, int position)
|
1997-01-02 07:41:27 +00:00
|
|
|
{
|
2008-04-30 04:56:59 +00:00
|
|
|
g_assert (NAUTILUS_IS_HORIZONTAL_SPLITTER (splitter));
|
1997-01-02 07:41:27 +00:00
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
if (gtk_paned_get_position (GTK_PANED (splitter)) >= CLOSED_THRESHOLD) {
|
|
|
|
nautilus_horizontal_splitter_collapse (splitter);
|
|
|
|
} else {
|
|
|
|
nautilus_horizontal_splitter_expand (splitter);
|
1997-01-02 07:41:27 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2002-03-03 21:34:30 +00:00
|
|
|
static void
|
|
|
|
splitter_hide (NautilusHorizontalSplitter *splitter)
|
|
|
|
{
|
|
|
|
GtkPaned *parent;
|
|
|
|
|
|
|
|
parent = GTK_PANED (splitter);
|
|
|
|
|
|
|
|
gtk_widget_hide (parent->child1);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
splitter_show (NautilusHorizontalSplitter *splitter)
|
|
|
|
{
|
|
|
|
GtkPaned *parent;
|
|
|
|
|
|
|
|
parent = GTK_PANED (splitter);
|
|
|
|
|
|
|
|
gtk_widget_show (parent->child1);
|
|
|
|
}
|
|
|
|
|
|
|
|
static gboolean
|
|
|
|
splitter_is_hidden (NautilusHorizontalSplitter *splitter)
|
|
|
|
{
|
|
|
|
GtkPaned *parent;
|
|
|
|
|
|
|
|
parent = GTK_PANED (splitter);
|
|
|
|
|
|
|
|
return GTK_WIDGET_VISIBLE (parent->child1);
|
|
|
|
}
|
|
|
|
|
2000-10-03 15:57:31 +00:00
|
|
|
void
|
|
|
|
nautilus_horizontal_splitter_expand (NautilusHorizontalSplitter *splitter)
|
2000-06-23 16:45:20 +00:00
|
|
|
{
|
2001-11-08 23:09:35 +00:00
|
|
|
splitter_expand (splitter, gtk_paned_get_position (GTK_PANED (splitter)));
|
2000-06-23 16:45:20 +00:00
|
|
|
}
|
|
|
|
|
2002-03-03 21:34:30 +00:00
|
|
|
void
|
|
|
|
nautilus_horizontal_splitter_hide (NautilusHorizontalSplitter *splitter)
|
|
|
|
{
|
|
|
|
splitter_hide (splitter);
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
nautilus_horizontal_splitter_show (NautilusHorizontalSplitter *splitter)
|
|
|
|
{
|
|
|
|
splitter_show (splitter);
|
|
|
|
}
|
|
|
|
|
|
|
|
gboolean
|
|
|
|
nautilus_horizontal_splitter_is_hidden (NautilusHorizontalSplitter *splitter)
|
|
|
|
{
|
|
|
|
return splitter_is_hidden (splitter);
|
|
|
|
}
|
|
|
|
|
2000-10-03 15:57:31 +00:00
|
|
|
void
|
|
|
|
nautilus_horizontal_splitter_collapse (NautilusHorizontalSplitter *splitter)
|
|
|
|
{
|
2001-11-08 23:09:35 +00:00
|
|
|
splitter_collapse (splitter, gtk_paned_get_position (GTK_PANED (splitter)));
|
2000-10-03 15:57:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/* routine to toggle the open/closed state of the splitter */
|
|
|
|
void
|
|
|
|
nautilus_horizontal_splitter_toggle_position (NautilusHorizontalSplitter *splitter)
|
|
|
|
{
|
2001-11-08 23:09:35 +00:00
|
|
|
splitter_toggle (splitter, gtk_paned_get_position (GTK_PANED (splitter)));
|
2000-10-03 15:57:31 +00:00
|
|
|
}
|
|
|
|
|
1997-01-02 07:41:27 +00:00
|
|
|
/* NautilusHorizontalSplitter public methods */
|
Ignore some additional generated files.
* components/services/install/command-line/.cvsignore:
* components/services/install/lib/.cvsignore:
Ignore some additional generated files.
* libnautilus-extensions/nautilus-gnome-extensions.h:
* libnautilus-extensions/nautilus-gnome-extensions.c:
Moved stock dialog functions to nautilus-stock-dialogs.[ch].
(nautilus_gnome_canvas_item_request_update_deep),
(nautilus_gnome_canvas_request_update_all),
(nautilus_gnome_canvas_set_scroll_region),
(nautilus_gnome_canvas_set_scroll_region_left_justify):
Added a bunch of functions that were previously private inside
NautilusIconContainer.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_adjustment_set_value),
(nautilus_gtk_adjustment_clamp_value):
Added functions that treat the value range in a GtkAdjustment the
same way scroll bars do, taking the page size into account.
* libnautilus-extensions/nautilus-horizontal-splitter.h:
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_initialize),
(toggle_splitter_position),
(nautilus_horizontal_splitter_button_press),
(nautilus_horizontal_splitter_button_release):
Fixed logic so that splitter will only open or close if you both
click and release within the splitter itself.
* libnautilus-extensions/nautilus-icon-private.h:
* libnautilus-extensions/nautilus-icon-container.c:
(icon_toggle_selected): Move icons to front when they are selected.
(set_scroll_region): Moved workaround that sets scroll region to
be large enough to fill the widget allocation into a function in
nautilus-gnome-extensions.h. In the process, I fixed the problem
where it would do the job wrong when the view was zoomed.
(lay_down_icons), (relayout), (reload_icon_positions):
Started work on sharing code between automatic layout of the entire
container and layout of new icons as the arrive.
(nautilus_icon_container_clear), (nautilus_icon_container_add):
Got started on the mechanism for laying out new icons as they arrive
in bunches instead of one at a time.
* libnautilus-extensions/nautilus-icon-dnd.c:
* libnautilus-extensions/nautilus-program-chooser.c:
* libnautilus-extensions/nautilus-program-choosing.c:
* src/file-manager/dfos-xfer.c:
* src/file-manager/fm-directory-view.c:
* src/file-manager/fm-error-reporting.c:
* src/nautilus-application.c:
* src/nautilus-location-bar.c:
* src/nautilus-property-browser.c:
* src/nautilus-window-manage-views.c:
* src/nautilus-window-menus.c:
Added includes to source files that use the stock dialogs.
* libnautilus-extensions/nautilus-stock-dialogs.h:
* libnautilus-extensions/nautilus-stock-dialogs.c:
(nautilus_timed_wait_stop), (convert_varargs_to_name_array),
(nautilus_simple_dialog), (turn_on_line_wrap_flag),
(turn_on_line_wrap_flag_callback), (show_ok_box),
(show_yes_no_box), (nautilus_info_dialog),
(nautilus_info_dialog_parented), (nautilus_warning_dialog),
(nautilus_warning_dialog_parented), (nautilus_error_dialog),
(nautilus_error_dialog_parented), (nautilus_yes_no_dialog),
(nautilus_yes_no_dialog_parented):
Moved all the stock dialog code in here.
* src/nautilus-sidebar-title.c: (update_icon): Only display the
icon when it's ready, instead of showing generic document icon
before that time.
(update_title), (update_more_info), (update_emblems),
(update_notes): Added FIXMEs about doing the same with other info.
(nautilus_sidebar_title_button_press_event): Added a FIXME to the
half-baked code in here.
2000-06-26 18:01:44 +00:00
|
|
|
GtkWidget *
|
1997-01-02 07:41:27 +00:00
|
|
|
nautilus_horizontal_splitter_new (void)
|
|
|
|
{
|
Fixed bug bug 3264 (Tree view shows no branches for directories,
...HACK... nodes visible), bug 3290 (changing directory or
refreshing causes Gdk to assert), bug 2420 (Need to free original
key when removing model node), and other assorted problems.
* components/tree/nautilus-tree-view.c: (insert_hack_node),
(remove_hack_node), (nautilus_tree_view_insert_model_node):
Fix problem where the hash table key was neither g_strdup'd on the
way in, nor g_free'd on the way out. This caused all the problems
with bad nesting in the tree view.
* nautilus-installer/src/installer.c: (create_pixmap):
* src/file-manager/fm-list-view.c: (install_row_images):
* src/nautilus-theme-selector.c: (add_theme):
Added more checks for NULL before calling gdk_bitmap_unref.
* src/file-manager/fm-directory-view.c: (no_items_showing):
Fixed a NautilusDirectory ref. count leak.
* libnautilus-extensions/nautilus-font-factory.c:
(unref_global_font_factory), (nautilus_get_current_font_factory):
Unref the font factory on exit.
(nautilus_font_factory_initialize_class), (font_hash_node_free),
(free_one_hash_node), (destroy): Added code to actually destroy
the font factory.
(unref_fixed_font), (nautilus_font_factory_get_fallback_font):
Unref the fixed font on exit.
* libnautilus-extensions/nautilus-volume-monitor.c:
(unref_global_volume_monitor), (nautilus_volume_monitor_get):
Unref the volume monitor on exit.
* src/nautilus-signaller.c: (unref_global_signaller),
(nautilus_signaller_get_current): Unref the signaller on exit.
* src/nautilus-component-adapter-factory.c:
(nautilus_component_adapter_factory_initialize): Replaced some
strange FIXMEs with a simpler one.
(nautilus_component_adapter_factory_destroy): Fix a CORBA object
reference leak.
(nautilus_component_adapter_factory_get): Did a ref/sink.
* components/adapter/nautilus-adapter-control-embed-strategy.c:
(nautilus_adapter_control_embed_strategy_new):
* components/adapter/nautilus-adapter-embeddable-embed-strategy.c:
(nautilus_adapter_embeddable_embed_strategy_new):
* components/adapter/nautilus-adapter-file-load-strategy.c:
(nautilus_adapter_file_load_strategy_new):
* components/adapter/nautilus-adapter-progressive-load-strategy.c:
(nautilus_adapter_progressive_load_strategy_new):
* components/adapter/nautilus-adapter-stream-load-strategy.c:
(nautilus_adapter_stream_load_strategy_new):
* components/adapter/nautilus-adapter.c: (nautilus_adapter_new):
* components/rpmview/nautilus-rpm-verify-window.c:
(nautilus_rpm_verify_window_new):
* components/services/install/lib/eazel-install-object.c:
(eazel_install_new), (eazel_install_new_with_config):
* components/services/time/service/trilobite-eazel-time-service.c:
(trilobite_eazel_time_service_new):
* components/services/trilobite/libtrilobite/trilobite-service-pass
wordquery.c: (trilobite_passwordquery_new):
* components/services/trilobite/libtrilobite/trilobite-service.c:
(trilobite_service_new):
* components/tree/nautilus-tree-expansion-state.c:
(nautilus_tree_expansion_state_new):
* components/tree/nautilus-tree-model.c: (nautilus_tree_model_new):
* components/tree/nautilus-tree-node.c: (nautilus_tree_node_new):
* cut-n-paste-code/widgets/e-paned/e-hpaned.c: (e_hpaned_new):
* cut-n-paste-code/widgets/e-paned/e-vpaned.c: (e_vpaned_new):
* libnautilus-extensions/bonobo-stream-vfs.c:
(bonobo_stream_create):
* libnautilus-extensions/nautilus-any-width-bin.c:
(nautilus_any_width_bin_new):
* libnautilus-extensions/nautilus-background.c:
(nautilus_background_new):
* libnautilus-extensions/nautilus-bookmark.c:
(nautilus_bookmark_new_with_icon):
* libnautilus-extensions/nautilus-caption-table.c:
(nautilus_caption_table_new):
* libnautilus-extensions/nautilus-caption.c:
(nautilus_caption_new):
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_new):
* libnautilus-extensions/nautilus-druid-page-eazel.c:
(nautilus_druid_page_eazel_new),
(nautilus_druid_page_eazel_new_with_vals):
* libnautilus-extensions/nautilus-druid.c: (nautilus_druid_new):
* libnautilus-extensions/nautilus-entry.c: (nautilus_entry_new):
* libnautilus-extensions/nautilus-file-operations-progress.c:
(nautilus_file_operations_progress_new):
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_new_from_name), (nautilus_file_new_from_info):
* libnautilus-extensions/nautilus-font-picker.c:
(nautilus_font_picker_new):
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_new):
* libnautilus-extensions/nautilus-icon-container.c:
(nautilus_icon_container_new):
* libnautilus-extensions/nautilus-icon-factory.c:
(get_icon_factory):
* libnautilus-extensions/nautilus-image.c: (nautilus_image_new):
* libnautilus-extensions/nautilus-keep-last-vertical-box.c:
(nautilus_keep_last_vertical_box_new):
* libnautilus-extensions/nautilus-label.c: (nautilus_label_new):
* libnautilus-extensions/nautilus-list-column-title.c:
(nautilus_list_column_title_new):
* libnautilus-extensions/nautilus-list.c:
(nautilus_list_new_with_titles):
* libnautilus-extensions/nautilus-password-dialog.c:
(nautilus_password_dialog_new):
* libnautilus-extensions/nautilus-preference.c:
(nautilus_preference_new_from_type):
* libnautilus-extensions/nautilus-preferences-box.c:
(nautilus_preferences_box_new):
* libnautilus-extensions/nautilus-preferences-dialog.c:
(nautilus_preferences_dialog_new):
* libnautilus-extensions/nautilus-preferences-group.c:
(nautilus_preferences_group_new):
* libnautilus-extensions/nautilus-preferences-item.c:
(nautilus_preferences_item_new):
* libnautilus-extensions/nautilus-preferences-pane.c:
(nautilus_preferences_pane_new):
* libnautilus-extensions/nautilus-radio-button-group.c:
(nautilus_radio_button_group_new):
* libnautilus-extensions/nautilus-scalable-font.c:
(nautilus_scalable_font_new):
* libnautilus-extensions/nautilus-string-picker.c:
(nautilus_string_picker_new):
* libnautilus-extensions/nautilus-text-caption.c:
(nautilus_text_caption_new):
* libnautilus-extensions/nautilus-undo-context.c:
(nautilus_undo_context_new):
* libnautilus-extensions/nautilus-undo-manager.c:
(nautilus_undo_manager_new):
* libnautilus-extensions/nautilus-user-level-manager.c:
(user_level_manager_new):
* libnautilus/nautilus-undo-transaction.c:
(nautilus_undo_transaction_new):
* libnautilus/nautilus-view.c:
(nautilus_view_new_from_bonobo_control):
* src/file-manager/nautilus-trash-monitor.c:
(nautilus_trash_monitor_get):
* src/nautilus-desktop-window.c: (nautilus_desktop_window_new):
* src/nautilus-property-browser.c: (nautilus_property_browser_new):
* src/nautilus-shell.c: (nautilus_shell_new):
* src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_new):
* src/nautilus-sidebar-title.c: (nautilus_sidebar_title_new):
* src/nautilus-sidebar.c: (nautilus_sidebar_create_context_menu),
(nautilus_sidebar_new):
* src/nautilus-theme-selector.c: (nautilus_theme_selector_new):
* src/nautilus-throbber.c: (nautilus_throbber_new):
* src/nautilus-view-frame.c: (nautilus_view_frame_new):
* src/nautilus-zoom-control.c: (nautilus_zoom_control_new):
* src/nautilus-about.c: (nautilus_about_new):
* src/nautilus-application.c: (nautilus_application_new),
(nautilus_application_create_window):
* src/nautilus-bookmark-list.c: (nautilus_bookmark_list_new):
After Tim Janik explained that gtk_type_new is a low-level call to
be avoided, changed most uses of gtk_type_new to gtk_object_new or
gtk_widget_new. Also, after Owen and Havoc explained that you
can't just ignore the floating bit, added ref/sink calls to the
functions used to create objects where we don't use the floating
scheme.
* src/nautilus-zoom-control.c:
(nautilus_zoom_control_button_press_event): Take advantage of the
fact that the new menu is floating and don't bother with ref'ing.
* libnautilus-extensions/nautilus-ctree.c:
(nautilus_ctree_new_with_titles):
Added a cast.
* components/adapter/main.c: (adapter_factory_make_object):
* components/hardware/main.c: (hardware_view_make_object):
* components/services/install/lib/eazel-install-corba-callback.c:
(eazel_install_callback_get_type), (eazel_install_callback_new):
* libnautilus-extensions/nautilus-theme.c:
(nautilus_theme_get_theme), (nautilus_theme_set_theme),
(nautilus_theme_get_theme_data):
Whitespace tweaks.
2000-09-26 00:52:22 +00:00
|
|
|
return gtk_widget_new (nautilus_horizontal_splitter_get_type (), NULL);
|
1997-01-02 07:41:27 +00:00
|
|
|
}
|
2000-06-23 16:45:20 +00:00
|
|
|
|
|
|
|
/* handle mouse downs by remembering the position and the time */
|
Ignore some additional generated files.
* components/services/install/command-line/.cvsignore:
* components/services/install/lib/.cvsignore:
Ignore some additional generated files.
* libnautilus-extensions/nautilus-gnome-extensions.h:
* libnautilus-extensions/nautilus-gnome-extensions.c:
Moved stock dialog functions to nautilus-stock-dialogs.[ch].
(nautilus_gnome_canvas_item_request_update_deep),
(nautilus_gnome_canvas_request_update_all),
(nautilus_gnome_canvas_set_scroll_region),
(nautilus_gnome_canvas_set_scroll_region_left_justify):
Added a bunch of functions that were previously private inside
NautilusIconContainer.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_adjustment_set_value),
(nautilus_gtk_adjustment_clamp_value):
Added functions that treat the value range in a GtkAdjustment the
same way scroll bars do, taking the page size into account.
* libnautilus-extensions/nautilus-horizontal-splitter.h:
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_initialize),
(toggle_splitter_position),
(nautilus_horizontal_splitter_button_press),
(nautilus_horizontal_splitter_button_release):
Fixed logic so that splitter will only open or close if you both
click and release within the splitter itself.
* libnautilus-extensions/nautilus-icon-private.h:
* libnautilus-extensions/nautilus-icon-container.c:
(icon_toggle_selected): Move icons to front when they are selected.
(set_scroll_region): Moved workaround that sets scroll region to
be large enough to fill the widget allocation into a function in
nautilus-gnome-extensions.h. In the process, I fixed the problem
where it would do the job wrong when the view was zoomed.
(lay_down_icons), (relayout), (reload_icon_positions):
Started work on sharing code between automatic layout of the entire
container and layout of new icons as the arrive.
(nautilus_icon_container_clear), (nautilus_icon_container_add):
Got started on the mechanism for laying out new icons as they arrive
in bunches instead of one at a time.
* libnautilus-extensions/nautilus-icon-dnd.c:
* libnautilus-extensions/nautilus-program-chooser.c:
* libnautilus-extensions/nautilus-program-choosing.c:
* src/file-manager/dfos-xfer.c:
* src/file-manager/fm-directory-view.c:
* src/file-manager/fm-error-reporting.c:
* src/nautilus-application.c:
* src/nautilus-location-bar.c:
* src/nautilus-property-browser.c:
* src/nautilus-window-manage-views.c:
* src/nautilus-window-menus.c:
Added includes to source files that use the stock dialogs.
* libnautilus-extensions/nautilus-stock-dialogs.h:
* libnautilus-extensions/nautilus-stock-dialogs.c:
(nautilus_timed_wait_stop), (convert_varargs_to_name_array),
(nautilus_simple_dialog), (turn_on_line_wrap_flag),
(turn_on_line_wrap_flag_callback), (show_ok_box),
(show_yes_no_box), (nautilus_info_dialog),
(nautilus_info_dialog_parented), (nautilus_warning_dialog),
(nautilus_warning_dialog_parented), (nautilus_error_dialog),
(nautilus_error_dialog_parented), (nautilus_yes_no_dialog),
(nautilus_yes_no_dialog_parented):
Moved all the stock dialog code in here.
* src/nautilus-sidebar-title.c: (update_icon): Only display the
icon when it's ready, instead of showing generic document icon
before that time.
(update_title), (update_more_info), (update_emblems),
(update_notes): Added FIXMEs about doing the same with other info.
(nautilus_sidebar_title_button_press_event): Added a FIXME to the
half-baked code in here.
2000-06-26 18:01:44 +00:00
|
|
|
static gboolean
|
|
|
|
nautilus_horizontal_splitter_button_press (GtkWidget *widget, GdkEventButton *event)
|
2000-06-23 16:45:20 +00:00
|
|
|
{
|
2001-11-08 23:09:35 +00:00
|
|
|
gboolean result;
|
2000-06-23 16:45:20 +00:00
|
|
|
NautilusHorizontalSplitter *splitter;
|
2001-11-08 23:09:35 +00:00
|
|
|
int position;
|
2000-06-23 16:45:20 +00:00
|
|
|
|
Ignore some additional generated files.
* components/services/install/command-line/.cvsignore:
* components/services/install/lib/.cvsignore:
Ignore some additional generated files.
* libnautilus-extensions/nautilus-gnome-extensions.h:
* libnautilus-extensions/nautilus-gnome-extensions.c:
Moved stock dialog functions to nautilus-stock-dialogs.[ch].
(nautilus_gnome_canvas_item_request_update_deep),
(nautilus_gnome_canvas_request_update_all),
(nautilus_gnome_canvas_set_scroll_region),
(nautilus_gnome_canvas_set_scroll_region_left_justify):
Added a bunch of functions that were previously private inside
NautilusIconContainer.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_adjustment_set_value),
(nautilus_gtk_adjustment_clamp_value):
Added functions that treat the value range in a GtkAdjustment the
same way scroll bars do, taking the page size into account.
* libnautilus-extensions/nautilus-horizontal-splitter.h:
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_initialize),
(toggle_splitter_position),
(nautilus_horizontal_splitter_button_press),
(nautilus_horizontal_splitter_button_release):
Fixed logic so that splitter will only open or close if you both
click and release within the splitter itself.
* libnautilus-extensions/nautilus-icon-private.h:
* libnautilus-extensions/nautilus-icon-container.c:
(icon_toggle_selected): Move icons to front when they are selected.
(set_scroll_region): Moved workaround that sets scroll region to
be large enough to fill the widget allocation into a function in
nautilus-gnome-extensions.h. In the process, I fixed the problem
where it would do the job wrong when the view was zoomed.
(lay_down_icons), (relayout), (reload_icon_positions):
Started work on sharing code between automatic layout of the entire
container and layout of new icons as the arrive.
(nautilus_icon_container_clear), (nautilus_icon_container_add):
Got started on the mechanism for laying out new icons as they arrive
in bunches instead of one at a time.
* libnautilus-extensions/nautilus-icon-dnd.c:
* libnautilus-extensions/nautilus-program-chooser.c:
* libnautilus-extensions/nautilus-program-choosing.c:
* src/file-manager/dfos-xfer.c:
* src/file-manager/fm-directory-view.c:
* src/file-manager/fm-error-reporting.c:
* src/nautilus-application.c:
* src/nautilus-location-bar.c:
* src/nautilus-property-browser.c:
* src/nautilus-window-manage-views.c:
* src/nautilus-window-menus.c:
Added includes to source files that use the stock dialogs.
* libnautilus-extensions/nautilus-stock-dialogs.h:
* libnautilus-extensions/nautilus-stock-dialogs.c:
(nautilus_timed_wait_stop), (convert_varargs_to_name_array),
(nautilus_simple_dialog), (turn_on_line_wrap_flag),
(turn_on_line_wrap_flag_callback), (show_ok_box),
(show_yes_no_box), (nautilus_info_dialog),
(nautilus_info_dialog_parented), (nautilus_warning_dialog),
(nautilus_warning_dialog_parented), (nautilus_error_dialog),
(nautilus_error_dialog_parented), (nautilus_yes_no_dialog),
(nautilus_yes_no_dialog_parented):
Moved all the stock dialog code in here.
* src/nautilus-sidebar-title.c: (update_icon): Only display the
icon when it's ready, instead of showing generic document icon
before that time.
(update_title), (update_more_info), (update_emblems),
(update_notes): Added FIXMEs about doing the same with other info.
(nautilus_sidebar_title_button_press_event): Added a FIXME to the
half-baked code in here.
2000-06-26 18:01:44 +00:00
|
|
|
splitter = NAUTILUS_HORIZONTAL_SPLITTER (widget);
|
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
position = gtk_paned_get_position (GTK_PANED (widget));
|
Ignore some additional generated files.
* components/services/install/command-line/.cvsignore:
* components/services/install/lib/.cvsignore:
Ignore some additional generated files.
* libnautilus-extensions/nautilus-gnome-extensions.h:
* libnautilus-extensions/nautilus-gnome-extensions.c:
Moved stock dialog functions to nautilus-stock-dialogs.[ch].
(nautilus_gnome_canvas_item_request_update_deep),
(nautilus_gnome_canvas_request_update_all),
(nautilus_gnome_canvas_set_scroll_region),
(nautilus_gnome_canvas_set_scroll_region_left_justify):
Added a bunch of functions that were previously private inside
NautilusIconContainer.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_adjustment_set_value),
(nautilus_gtk_adjustment_clamp_value):
Added functions that treat the value range in a GtkAdjustment the
same way scroll bars do, taking the page size into account.
* libnautilus-extensions/nautilus-horizontal-splitter.h:
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_initialize),
(toggle_splitter_position),
(nautilus_horizontal_splitter_button_press),
(nautilus_horizontal_splitter_button_release):
Fixed logic so that splitter will only open or close if you both
click and release within the splitter itself.
* libnautilus-extensions/nautilus-icon-private.h:
* libnautilus-extensions/nautilus-icon-container.c:
(icon_toggle_selected): Move icons to front when they are selected.
(set_scroll_region): Moved workaround that sets scroll region to
be large enough to fill the widget allocation into a function in
nautilus-gnome-extensions.h. In the process, I fixed the problem
where it would do the job wrong when the view was zoomed.
(lay_down_icons), (relayout), (reload_icon_positions):
Started work on sharing code between automatic layout of the entire
container and layout of new icons as the arrive.
(nautilus_icon_container_clear), (nautilus_icon_container_add):
Got started on the mechanism for laying out new icons as they arrive
in bunches instead of one at a time.
* libnautilus-extensions/nautilus-icon-dnd.c:
* libnautilus-extensions/nautilus-program-chooser.c:
* libnautilus-extensions/nautilus-program-choosing.c:
* src/file-manager/dfos-xfer.c:
* src/file-manager/fm-directory-view.c:
* src/file-manager/fm-error-reporting.c:
* src/nautilus-application.c:
* src/nautilus-location-bar.c:
* src/nautilus-property-browser.c:
* src/nautilus-window-manage-views.c:
* src/nautilus-window-menus.c:
Added includes to source files that use the stock dialogs.
* libnautilus-extensions/nautilus-stock-dialogs.h:
* libnautilus-extensions/nautilus-stock-dialogs.c:
(nautilus_timed_wait_stop), (convert_varargs_to_name_array),
(nautilus_simple_dialog), (turn_on_line_wrap_flag),
(turn_on_line_wrap_flag_callback), (show_ok_box),
(show_yes_no_box), (nautilus_info_dialog),
(nautilus_info_dialog_parented), (nautilus_warning_dialog),
(nautilus_warning_dialog_parented), (nautilus_error_dialog),
(nautilus_error_dialog_parented), (nautilus_yes_no_dialog),
(nautilus_yes_no_dialog_parented):
Moved all the stock dialog code in here.
* src/nautilus-sidebar-title.c: (update_icon): Only display the
icon when it's ready, instead of showing generic document icon
before that time.
(update_title), (update_more_info), (update_emblems),
(update_notes): Added FIXMEs about doing the same with other info.
(nautilus_sidebar_title_button_press_event): Added a FIXME to the
half-baked code in here.
2000-06-26 18:01:44 +00:00
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
result = EEL_CALL_PARENT_WITH_RETURN_VALUE
|
reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 6859 (GTK signal macros don't work in non-GCC compilers
for void return types).
* libnautilus-extensions/nautilus-gtk-macros.h:
Replaced old macros that accidentally relied on gccisms with
new ones that are portable to other compilers.
NAUTILUS_CALL_PARENT_CLASS is replaced by
NAUTILUS_CALL_PARENT
and NAUTILUS_CALL_PARENT_WITH_RETURN_VALUE.
NAUTILUS_CALL_VIRTUAL is replaced by
NAUTILUS_CALL_METHOD
and NAUTILUS_CALL_METHOD_WITH_RETURN_VALUE
* components/adapter/nautilus-adapter-control-embed-strategy.c:
(nautilus_adapter_control_embed_strategy_destroy):
* components/adapter/nautilus-adapter-embed-strategy.c:
(nautilus_adapter_embed_strategy_destroy),
(nautilus_adapter_embed_strategy_get_widget),
(nautilus_adapter_embed_strategy_get_zoomable):
* components/adapter/nautilus-adapter-embeddable-embed-strategy.c:
(nautilus_adapter_embeddable_embed_strategy_destroy):
* components/adapter/nautilus-adapter-factory-server.c:
(nautilus_adapter_factory_server_destroy):
* components/adapter/nautilus-adapter-file-load-strategy.c:
(nautilus_adapter_file_load_strategy_destroy):
* components/adapter/nautilus-adapter-load-strategy.c:
(nautilus_adapter_load_strategy_destroy),
(nautilus_adapter_load_strategy_load_location),
(nautilus_adapter_load_strategy_stop_loading):
* components/adapter/nautilus-adapter-progressive-load-strategy.c:
(nautilus_adapter_progressive_load_strategy_destroy):
* components/adapter/nautilus-adapter-stream-load-strategy.c:
(nautilus_adapter_stream_load_strategy_destroy):
* components/adapter/nautilus-adapter.c:
(nautilus_adapter_destroy):
* components/hardware/nautilus-hardware-view.c:
(nautilus_hardware_view_destroy):
* components/history/nautilus-history-view.c:
(nautilus_history_view_destroy):
* components/loser/content/nautilus-content-loser.c:
(nautilus_content_loser_destroy):
* components/loser/sidebar/nautilus-sidebar-loser.c:
(nautilus_sidebar_loser_destroy):
* components/music/nautilus-music-view.c:
(nautilus_music_view_destroy):
* components/rpmview/nautilus-rpm-verify-window.c:
(nautilus_rpm_verify_window_destroy):
* components/rpmview/nautilus-rpm-view.c:
(nautilus_rpm_view_destroy):
* components/sample/nautilus-sample-content-view.c:
(nautilus_sample_content_view_destroy):
* components/services/install/nautilus-view/nautilus-service-instal
l-view.c: (nautilus_service_install_view_destroy),
(nautilus_service_install_view_finalize):
* components/services/inventory-view/nautilus-inventory-config-page
.c: (nautilus_inventory_config_page_destroy):
* components/services/inventory-view/nautilus-inventory-view.c:
(nautilus_inventory_view_destroy):
* components/services/login/nautilus-view/nautilus-change-password-
view.c: (nautilus_change_password_view_destroy):
* components/services/nautilus-dependent-shared/eazel-services-foot
er.c: (footer_destroy):
* components/services/nautilus-dependent-shared/eazel-services-head
er.c: (header_destroy):
* components/services/summary/nautilus-summary-view.c:
(nautilus_summary_view_destroy):
* components/services/time/nautilus-view/trilobite-eazel-time-view.
c: (trilobite_eazel_time_view_destroy):
* components/text/nautilus-text-view.c:
(nautilus_text_view_destroy):
* components/throbber/nautilus-throbber.c:
(nautilus_throbber_destroy), (nautilus_throbber_map),
(nautilus_throbber_size_allocate):
* components/tree/nautilus-tree-change-queue.c:
(nautilus_tree_change_queue_destroy):
* components/tree/nautilus-tree-expansion-state.c:
(nautilus_tree_expansion_state_destroy):
* components/tree/nautilus-tree-model.c:
(nautilus_tree_model_destroy):
* components/tree/nautilus-tree-node.c:
(nautilus_tree_node_destroy):
* components/tree/nautilus-tree-view.c:
(nautilus_tree_view_destroy):
* help/nautilus-quick-reference/.cvsignore:
* help/nautilus-quick-reference/C/.cvsignore:
* libnautilus-extensions/nautilus-background-canvas-group.c:
(nautilus_background_canvas_group_update),
(nautilus_background_canvas_group_draw),
(nautilus_background_canvas_group_render):
* libnautilus-extensions/nautilus-background.c:
(nautilus_background_destroy):
* libnautilus-extensions/nautilus-bookmark.c:
(nautilus_bookmark_destroy):
* libnautilus-extensions/nautilus-caption.c:
(nautilus_caption_destroy), (nautilus_font_picker_show_all):
* libnautilus-extensions/nautilus-clickable-image.c:
(nautilus_clickable_image_destroy),
(nautilus_clickable_image_realize),
(nautilus_clickable_image_expose_event):
* libnautilus-extensions/nautilus-debug-drawing.c:
(debug_pixbuf_viewer_destroy):
* libnautilus-extensions/nautilus-directory-metafile-monitor.c:
(destroy):
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_destroy),
(nautilus_directory_get_name_for_self_as_new_file),
(nautilus_directory_are_all_files_seen),
(nautilus_directory_contains_file),
(nautilus_directory_call_when_ready),
(nautilus_directory_cancel_callback),
(nautilus_directory_file_monitor_add),
(nautilus_directory_file_monitor_remove),
(nautilus_directory_force_reload),
(nautilus_directory_is_not_empty):
* libnautilus-extensions/nautilus-druid-page-eazel.c:
(nautilus_druid_page_eazel_destroy),
(nautilus_druid_page_eazel_finalize),
(nautilus_druid_page_eazel_size_allocate),
(nautilus_druid_page_eazel_size_request):
* libnautilus-extensions/nautilus-ellipsizing-label.c:
(real_size_request), (real_size_allocate), (real_style_set):
* libnautilus-extensions/nautilus-entry.c:
(nautilus_entry_destroy), (nautilus_entry_key_press),
(nautilus_entry_motion_notify), (nautilus_entry_set_selection),
(nautilus_entry_insert_text), (nautilus_entry_delete_text),
(nautilus_entry_selection_clear):
* libnautilus-extensions/nautilus-file.c: (destroy),
(nautilus_file_monitor_add), (nautilus_file_monitor_remove),
(nautilus_file_get_date), (nautilus_file_get_where_string),
(nautilus_file_get_directory_item_count),
(nautilus_file_get_deep_counts), (nautilus_file_get_file_type),
(nautilus_file_check_if_ready), (nautilus_file_call_when_ready),
(nautilus_file_cancel_call_when_ready):
* libnautilus-extensions/nautilus-font-factory.c: (destroy):
* libnautilus-extensions/nautilus-font-picker.c:
(nautilus_font_picker_destroy):
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_destroy),
(nautilus_horizontal_splitter_button_press):
* libnautilus-extensions/nautilus-icon-canvas-item.c:
(nautilus_icon_canvas_item_destroy),
(nautilus_icon_canvas_item_update):
* libnautilus-extensions/nautilus-icon-container.c: (destroy),
(size_allocate), (realize), (unrealize), (button_press_event),
(button_release_event), (motion_notify_event), (key_press_event):
* libnautilus-extensions/nautilus-icon-factory.c:
(nautilus_icon_factory_destroy):
* libnautilus-extensions/nautilus-image-table.c:
(nautilus_image_table_destroy),
(nautilus_image_table_expose_event),
(nautilus_image_table_realize), (nautilus_image_table_unrealize),
(nautilus_image_table_remove):
* libnautilus-extensions/nautilus-image.c:
(nautilus_image_destroy):
* libnautilus-extensions/nautilus-keep-last-vertical-box.c:
(nautilus_keep_last_vertical_box_size_allocate):
* libnautilus-extensions/nautilus-label.c:
(nautilus_label_destroy), (nautilus_label_size_request),
(nautilus_label_size_allocate), (label_paint_pixbuf_callback):
* libnautilus-extensions/nautilus-labeled-image.c:
(nautilus_labeled_image_destroy):
* libnautilus-extensions/nautilus-list-column-title.c:
(nautilus_list_column_title_finalize):
* libnautilus-extensions/nautilus-list.c: (nautilus_list_destroy),
(nautilus_list_button_press), (nautilus_list_button_release),
(nautilus_list_key_press), (nautilus_list_style_set),
(nautilus_list_realize), (nautilus_list_unrealize), (draw_rows),
(draw_all), (nautilus_list_draw), (nautilus_list_expose),
(nautilus_list_resize_column), (nautilus_list_set_cell_contents),
(set_list_cell), (nautilus_list_track_new_column_width),
(nautilus_list_motion), (nautilus_list_clear), (insert_row):
* libnautilus-extensions/nautilus-merged-directory.c:
(merged_destroy):
* libnautilus-extensions/nautilus-metafile-factory.c: (destroy):
* libnautilus-extensions/nautilus-metafile.c: (destroy):
* libnautilus-extensions/nautilus-preferences-box.c:
(nautilus_preferences_box_destroy):
* libnautilus-extensions/nautilus-preferences-pane.c:
(nautilus_preferences_pane_destroy):
* libnautilus-extensions/nautilus-scalable-font.c:
(nautilus_scalable_font_destroy):
* libnautilus-extensions/nautilus-string-picker.c:
(nautilus_string_picker_destroy):
* libnautilus-extensions/nautilus-tabs.c: (nautilus_tabs_destroy):
* libnautilus-extensions/nautilus-text-caption.c:
(nautilus_text_caption_destroy):
* libnautilus-extensions/nautilus-trash-directory.c:
(trash_destroy):
* libnautilus-extensions/nautilus-trash-file.c: (trash_destroy):
* libnautilus-extensions/nautilus-undo-context.c: (destroy):
* libnautilus-extensions/nautilus-undo-manager.c: (destroy):
* libnautilus-extensions/nautilus-vfs-directory.c: (vfs_destroy):
* libnautilus-extensions/nautilus-vfs-file.c: (vfs_destroy):
* libnautilus-extensions/nautilus-viewport.c:
(nautilus_viewport_destroy), (nautilus_viewport_realize):
* libnautilus-extensions/nautilus-volume-monitor.c:
(nautilus_volume_monitor_destroy):
* libnautilus-extensions/nautilus-wrap-table.c:
(nautilus_wrap_table_destroy):
* libnautilus/nautilus-undo-transaction.c:
(nautilus_undo_transaction_destroy):
* libnautilus/nautilus-view.c: (nautilus_view_destroy):
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_destroy), (real_update_menus),
(real_merge_menus):
* src/file-manager/fm-directory-view.c:
(text_attribute_names_changed_callback),
(image_display_policy_changed_callback),
(directory_view_font_family_changed_callback),
(click_policy_changed_callback),
(smooth_graphics_mode_changed_callback),
(fm_directory_view_destroy),
(fm_directory_view_file_limit_reached),
(fm_directory_view_bump_zoom_level),
(fm_directory_view_zoom_to_level),
(fm_directory_view_restore_default_zoom_level),
(fm_directory_view_can_zoom_in), (fm_directory_view_can_zoom_out),
(fm_directory_view_get_background_widget),
(fm_directory_view_get_selection), (reveal_newly_added_folder),
(fm_directory_view_get_emblem_names_to_exclude),
(fm_directory_view_merge_menus), (fm_directory_view_select_all),
(fm_directory_view_set_selection),
(fm_directory_get_selected_icon_locations),
(fm_directory_view_reveal_selection),
(fm_directory_view_is_read_only), (fm_directory_view_is_empty),
(fm_directory_view_supports_creating_files),
(fm_directory_view_accepts_dragged_files),
(fm_directory_view_supports_properties),
(fm_directory_view_supports_zooming),
(fm_directory_view_update_menus):
* src/file-manager/fm-icon-view.c: (fm_icon_view_destroy),
(fm_icon_view_clean_up), (fm_icon_view_get_directory_sort_by),
(fm_icon_view_set_directory_sort_by),
(fm_icon_view_get_directory_sort_reversed),
(fm_icon_view_set_directory_sort_reversed),
(fm_icon_view_get_directory_auto_layout),
(fm_icon_view_set_directory_auto_layout),
(fm_icon_view_get_directory_tighter_layout),
(fm_icon_view_set_directory_tighter_layout),
(fm_icon_view_supports_auto_layout),
(fm_icon_view_start_renaming_item), (fm_icon_view_merge_menus),
(fm_icon_view_update_menus):
* src/file-manager/fm-list-view.c: (fm_list_view_adding_file),
(fm_list_view_removing_file), (fm_list_view_file_still_belongs),
(get_number_of_columns), (get_link_column),
(get_default_sort_attribute), (get_column_specification):
* src/file-manager/fm-properties-window.c: (real_shutdown),
(real_destroy), (real_finalize):
* src/file-manager/fm-search-list-view.c: (real_destroy),
(real_add_file), (real_adding_file), (real_removing_file),
(real_merge_menus), (real_update_menus):
* src/nautilus-about.c: (nautilus_about_destroy):
* src/nautilus-application.c: (nautilus_application_destroy),
(nautilus_application_startup):
* src/nautilus-complex-search-bar.c:
(nautilus_complex_search_bar_destroy):
* src/nautilus-desktop-window.c: (destroy), (realize):
* src/nautilus-location-bar.c: (destroy):
* src/nautilus-navigation-bar.c:
(nautilus_navigation_bar_get_location),
(nautilus_navigation_bar_set_location):
* src/nautilus-property-browser.c:
(nautilus_property_browser_destroy):
* src/nautilus-search-bar-criterion.c:
(nautilus_search_bar_criterion_destroy):
* src/nautilus-shell.c: (destroy):
* src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_destroy),
(nautilus_sidebar_tabs_size_allocate):
* src/nautilus-sidebar-title.c: (nautilus_sidebar_title_destroy),
(nautilus_sidebar_title_size_allocate):
* src/nautilus-sidebar.c: (nautilus_sidebar_destroy),
(nautilus_sidebar_size_allocate), (nautilus_sidebar_realize):
* src/nautilus-simple-search-bar.c:
(nautilus_simple_search_bar_destroy):
* src/nautilus-switchable-navigation-bar.c:
(nautilus_switchable_navigation_bar_destroy):
* src/nautilus-switchable-search-bar.c:
(nautilus_switchable_search_bar_destroy):
* src/nautilus-theme-selector.c: (nautilus_theme_selector_destroy):
* src/nautilus-view-frame.c: (nautilus_view_frame_destroy),
(nautilus_view_frame_finalize), (nautilus_view_frame_map):
* src/nautilus-window.c: (nautilus_window_destroy),
(nautilus_window_realize), (nautilus_window_size_request),
(nautilus_window_add_current_location_to_history_list),
(nautilus_window_show):
* src/nautilus-zoom-control.c: (nautilus_zoom_control_destroy),
(nautilus_zoom_control_size_allocate):
Use the macros by their new names.
* RENAMING: Updated for some name changes and name change ideas.
* user-guide/C/.cvsignore:
* user-guide/C/html/.cvsignore:
* user-guide/C/img/.cvsignore:
* user-guide/C/sgml/.cvsignore:
Added missing cvsignores.
2001-02-23 02:08:46 +00:00
|
|
|
(GTK_WIDGET_CLASS, button_press_event, (widget, event));
|
2000-11-16 03:17:47 +00:00
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
if (result) {
|
|
|
|
splitter->details->press_time = event->time;
|
|
|
|
splitter->details->press_position = position;
|
2000-11-16 03:17:47 +00:00
|
|
|
}
|
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
return result;
|
2000-11-16 03:17:47 +00:00
|
|
|
}
|
|
|
|
|
2000-06-23 16:45:20 +00:00
|
|
|
/* handle mouse ups by seeing if it was a tap and toggling the open state accordingly */
|
Ignore some additional generated files.
* components/services/install/command-line/.cvsignore:
* components/services/install/lib/.cvsignore:
Ignore some additional generated files.
* libnautilus-extensions/nautilus-gnome-extensions.h:
* libnautilus-extensions/nautilus-gnome-extensions.c:
Moved stock dialog functions to nautilus-stock-dialogs.[ch].
(nautilus_gnome_canvas_item_request_update_deep),
(nautilus_gnome_canvas_request_update_all),
(nautilus_gnome_canvas_set_scroll_region),
(nautilus_gnome_canvas_set_scroll_region_left_justify):
Added a bunch of functions that were previously private inside
NautilusIconContainer.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_adjustment_set_value),
(nautilus_gtk_adjustment_clamp_value):
Added functions that treat the value range in a GtkAdjustment the
same way scroll bars do, taking the page size into account.
* libnautilus-extensions/nautilus-horizontal-splitter.h:
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_initialize),
(toggle_splitter_position),
(nautilus_horizontal_splitter_button_press),
(nautilus_horizontal_splitter_button_release):
Fixed logic so that splitter will only open or close if you both
click and release within the splitter itself.
* libnautilus-extensions/nautilus-icon-private.h:
* libnautilus-extensions/nautilus-icon-container.c:
(icon_toggle_selected): Move icons to front when they are selected.
(set_scroll_region): Moved workaround that sets scroll region to
be large enough to fill the widget allocation into a function in
nautilus-gnome-extensions.h. In the process, I fixed the problem
where it would do the job wrong when the view was zoomed.
(lay_down_icons), (relayout), (reload_icon_positions):
Started work on sharing code between automatic layout of the entire
container and layout of new icons as the arrive.
(nautilus_icon_container_clear), (nautilus_icon_container_add):
Got started on the mechanism for laying out new icons as they arrive
in bunches instead of one at a time.
* libnautilus-extensions/nautilus-icon-dnd.c:
* libnautilus-extensions/nautilus-program-chooser.c:
* libnautilus-extensions/nautilus-program-choosing.c:
* src/file-manager/dfos-xfer.c:
* src/file-manager/fm-directory-view.c:
* src/file-manager/fm-error-reporting.c:
* src/nautilus-application.c:
* src/nautilus-location-bar.c:
* src/nautilus-property-browser.c:
* src/nautilus-window-manage-views.c:
* src/nautilus-window-menus.c:
Added includes to source files that use the stock dialogs.
* libnautilus-extensions/nautilus-stock-dialogs.h:
* libnautilus-extensions/nautilus-stock-dialogs.c:
(nautilus_timed_wait_stop), (convert_varargs_to_name_array),
(nautilus_simple_dialog), (turn_on_line_wrap_flag),
(turn_on_line_wrap_flag_callback), (show_ok_box),
(show_yes_no_box), (nautilus_info_dialog),
(nautilus_info_dialog_parented), (nautilus_warning_dialog),
(nautilus_warning_dialog_parented), (nautilus_error_dialog),
(nautilus_error_dialog_parented), (nautilus_yes_no_dialog),
(nautilus_yes_no_dialog_parented):
Moved all the stock dialog code in here.
* src/nautilus-sidebar-title.c: (update_icon): Only display the
icon when it's ready, instead of showing generic document icon
before that time.
(update_title), (update_more_info), (update_emblems),
(update_notes): Added FIXMEs about doing the same with other info.
(nautilus_sidebar_title_button_press_event): Added a FIXME to the
half-baked code in here.
2000-06-26 18:01:44 +00:00
|
|
|
static gboolean
|
|
|
|
nautilus_horizontal_splitter_button_release (GtkWidget *widget, GdkEventButton *event)
|
2000-06-23 16:45:20 +00:00
|
|
|
{
|
2001-11-08 23:09:35 +00:00
|
|
|
gboolean result;
|
2000-06-23 16:45:20 +00:00
|
|
|
NautilusHorizontalSplitter *splitter;
|
2008-10-09 10:30:38 +00:00
|
|
|
int position, delta, delta_time;
|
Ignore some additional generated files.
* components/services/install/command-line/.cvsignore:
* components/services/install/lib/.cvsignore:
Ignore some additional generated files.
* libnautilus-extensions/nautilus-gnome-extensions.h:
* libnautilus-extensions/nautilus-gnome-extensions.c:
Moved stock dialog functions to nautilus-stock-dialogs.[ch].
(nautilus_gnome_canvas_item_request_update_deep),
(nautilus_gnome_canvas_request_update_all),
(nautilus_gnome_canvas_set_scroll_region),
(nautilus_gnome_canvas_set_scroll_region_left_justify):
Added a bunch of functions that were previously private inside
NautilusIconContainer.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_adjustment_set_value),
(nautilus_gtk_adjustment_clamp_value):
Added functions that treat the value range in a GtkAdjustment the
same way scroll bars do, taking the page size into account.
* libnautilus-extensions/nautilus-horizontal-splitter.h:
* libnautilus-extensions/nautilus-horizontal-splitter.c:
(nautilus_horizontal_splitter_initialize),
(toggle_splitter_position),
(nautilus_horizontal_splitter_button_press),
(nautilus_horizontal_splitter_button_release):
Fixed logic so that splitter will only open or close if you both
click and release within the splitter itself.
* libnautilus-extensions/nautilus-icon-private.h:
* libnautilus-extensions/nautilus-icon-container.c:
(icon_toggle_selected): Move icons to front when they are selected.
(set_scroll_region): Moved workaround that sets scroll region to
be large enough to fill the widget allocation into a function in
nautilus-gnome-extensions.h. In the process, I fixed the problem
where it would do the job wrong when the view was zoomed.
(lay_down_icons), (relayout), (reload_icon_positions):
Started work on sharing code between automatic layout of the entire
container and layout of new icons as the arrive.
(nautilus_icon_container_clear), (nautilus_icon_container_add):
Got started on the mechanism for laying out new icons as they arrive
in bunches instead of one at a time.
* libnautilus-extensions/nautilus-icon-dnd.c:
* libnautilus-extensions/nautilus-program-chooser.c:
* libnautilus-extensions/nautilus-program-choosing.c:
* src/file-manager/dfos-xfer.c:
* src/file-manager/fm-directory-view.c:
* src/file-manager/fm-error-reporting.c:
* src/nautilus-application.c:
* src/nautilus-location-bar.c:
* src/nautilus-property-browser.c:
* src/nautilus-window-manage-views.c:
* src/nautilus-window-menus.c:
Added includes to source files that use the stock dialogs.
* libnautilus-extensions/nautilus-stock-dialogs.h:
* libnautilus-extensions/nautilus-stock-dialogs.c:
(nautilus_timed_wait_stop), (convert_varargs_to_name_array),
(nautilus_simple_dialog), (turn_on_line_wrap_flag),
(turn_on_line_wrap_flag_callback), (show_ok_box),
(show_yes_no_box), (nautilus_info_dialog),
(nautilus_info_dialog_parented), (nautilus_warning_dialog),
(nautilus_warning_dialog_parented), (nautilus_error_dialog),
(nautilus_error_dialog_parented), (nautilus_yes_no_dialog),
(nautilus_yes_no_dialog_parented):
Moved all the stock dialog code in here.
* src/nautilus-sidebar-title.c: (update_icon): Only display the
icon when it's ready, instead of showing generic document icon
before that time.
(update_title), (update_more_info), (update_emblems),
(update_notes): Added FIXMEs about doing the same with other info.
(nautilus_sidebar_title_button_press_event): Added a FIXME to the
half-baked code in here.
2000-06-26 18:01:44 +00:00
|
|
|
splitter = NAUTILUS_HORIZONTAL_SPLITTER (widget);
|
2000-06-23 23:19:48 +00:00
|
|
|
|
2008-10-09 10:30:38 +00:00
|
|
|
position = gtk_paned_get_position (GTK_PANED (widget));
|
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
result = EEL_CALL_PARENT_WITH_RETURN_VALUE
|
|
|
|
(GTK_WIDGET_CLASS, button_release_event, (widget, event));
|
|
|
|
|
|
|
|
if (result) {
|
2008-10-09 10:30:38 +00:00
|
|
|
delta = abs (position - splitter->details->press_position);
|
2001-11-08 23:09:35 +00:00
|
|
|
delta_time = event->time - splitter->details->press_time;
|
2000-06-24 01:33:29 +00:00
|
|
|
if (delta < SPLITTER_CLICK_SLOP && delta_time < SPLITTER_CLICK_TIMEOUT) {
|
2000-10-03 15:57:31 +00:00
|
|
|
nautilus_horizontal_splitter_toggle_position (splitter);
|
2000-06-23 23:19:48 +00:00
|
|
|
}
|
2000-06-23 16:45:20 +00:00
|
|
|
}
|
2000-06-23 23:19:48 +00:00
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
return result;
|
2000-11-16 03:17:47 +00:00
|
|
|
}
|
|
|
|
|
impl. to cope with having a paned with no child2, without doing lots of
2002-03-07 Michael Meeks <michael@ximian.com>
* libnautilus-private/nautilus-horizontal-splitter.c
(nautilus_horizontal_splitter_size_allocate): impl. to
cope with having a paned with no child2, without doing
lots of bogus size re-allocation.
(nautilus_horizontal_splitter_class_init): upd.
(nautilus_horizontal_splitter_pack2): impl, since
gtkpaned relies on the re-size to generate an expose
to re-render it's splitter grabber thing.a
* src/nautilus-sidebar.c
(nautilus_sidebar_set_width): impl. moving all sidebar
preferences here,
(nautilus_sidebar_init): move auto value setup
here from class_init to save possible re-enterancy
issue. Request the size we want for the sidebar,
the pane will under-allocate if neccessary.
Set the old_width to the correct size so we don't
re-render the paned lots as it swiches about.
* src/nautilus-window.c
(nautilus_window_constructed): reflow to simplify,
call sidebar_set_width.
(nautilus_window_set_content_view_widget): use
nautilus_..._pack2 instead of gtk_paned to fix rendering.
2002-03-06 Michael Meeks <michael@ximian.com>
* components/notes/nautilus-notes.c
(make_notes_view): upd.
* components/news/nautilus-news.c
(rss_read_done_callback): parse the RTF, but don't spew
warnings everywhere.
(make_news_view): upd.
* components/throbber/main.c
(cb_create_throbber): impl.
(throbber_object_destroyed, throbber_make_object):
axe cut & paste.
* libnautilus/nautilus-view-standard-main.c
(nautilus_view_create_from_get_type_function):
widen from NautilusView to BonoboObject, this
code has a much wider application.
(make_object): ditto.
* components/hardware/nautilus-hardware-view.c
(nautilus_hardware_view_get_nautilus_view): upd.
* components/throbber/nautilus-throbber.c
(nautilus_throbber_new): kill.
* libnautilus/nautilus-view-standard-main.c
(nautilus_view_standard_main_multi): use gdk_get_display.
* libnautilus-private/nautilus-bonobo-extensions.c
(nautilus_bonobo_activation_register_for_display): impl.
* src/nautilus-application.c
(nautilus_application_startup): use it.
* src/nautilus-window-toolbars.c
(location_change_at_idle_callback),
(throbber_callback): move from nautilus-window.c
(nautilus_window_allow_stop): move this here,
prune redundant sets, simplify property bag
extraction.
* src/nautilus-window.c
(nautilus_window_constructed): move throbber
location changed code out of here.
(nautilus_window_unrealize): no explicit removal
from remote property bag neccessary & upd.
* libnautilus-private/nautilus-metafile-factory.c
(corba_open): reduce complexity.
2002-03-07 14:02:19 +00:00
|
|
|
static void
|
|
|
|
nautilus_horizontal_splitter_size_allocate (GtkWidget *widget,
|
|
|
|
GtkAllocation *allocation)
|
|
|
|
{
|
|
|
|
gint border_width;
|
|
|
|
GtkPaned *paned;
|
|
|
|
GtkAllocation child_allocation;
|
|
|
|
GtkRequisition child_requisition;
|
|
|
|
|
|
|
|
paned = GTK_PANED (widget);
|
|
|
|
border_width = GTK_CONTAINER (paned)->border_width;
|
|
|
|
|
|
|
|
widget->allocation = *allocation;
|
|
|
|
|
|
|
|
if (paned->child2 != NULL && GTK_WIDGET_VISIBLE (paned->child2)) {
|
|
|
|
EEL_CALL_PARENT (GTK_WIDGET_CLASS, size_allocate,
|
|
|
|
(widget, allocation));
|
|
|
|
} else if (paned->child1 && GTK_WIDGET_VISIBLE (paned->child1)) {
|
|
|
|
|
|
|
|
if (GTK_WIDGET_REALIZED (widget)) {
|
|
|
|
gdk_window_hide (paned->handle);
|
|
|
|
}
|
|
|
|
|
|
|
|
gtk_widget_get_child_requisition (paned->child1,
|
|
|
|
&child_requisition);
|
|
|
|
|
|
|
|
child_allocation.x = widget->allocation.x + border_width;
|
|
|
|
child_allocation.y = widget->allocation.y + border_width;
|
|
|
|
child_allocation.width = MIN (child_requisition.width,
|
|
|
|
allocation->width - 2 * border_width);
|
|
|
|
child_allocation.height = MIN (child_requisition.height,
|
|
|
|
allocation->height - 2 * border_width);
|
|
|
|
|
|
|
|
gtk_widget_size_allocate (paned->child1, &child_allocation);
|
|
|
|
} else
|
|
|
|
if (GTK_WIDGET_REALIZED (widget)) {
|
|
|
|
gdk_window_hide (paned->handle);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
static void
|
|
|
|
nautilus_horizontal_splitter_class_init (NautilusHorizontalSplitterClass *class)
|
2000-11-16 03:17:47 +00:00
|
|
|
{
|
2001-11-08 23:09:35 +00:00
|
|
|
GtkWidgetClass *widget_class;
|
|
|
|
|
|
|
|
widget_class = GTK_WIDGET_CLASS (class);
|
2000-11-16 03:17:47 +00:00
|
|
|
|
2001-11-08 23:09:35 +00:00
|
|
|
G_OBJECT_CLASS (class)->finalize = nautilus_horizontal_splitter_finalize;
|
2000-11-16 03:17:47 +00:00
|
|
|
|
impl. to cope with having a paned with no child2, without doing lots of
2002-03-07 Michael Meeks <michael@ximian.com>
* libnautilus-private/nautilus-horizontal-splitter.c
(nautilus_horizontal_splitter_size_allocate): impl. to
cope with having a paned with no child2, without doing
lots of bogus size re-allocation.
(nautilus_horizontal_splitter_class_init): upd.
(nautilus_horizontal_splitter_pack2): impl, since
gtkpaned relies on the re-size to generate an expose
to re-render it's splitter grabber thing.a
* src/nautilus-sidebar.c
(nautilus_sidebar_set_width): impl. moving all sidebar
preferences here,
(nautilus_sidebar_init): move auto value setup
here from class_init to save possible re-enterancy
issue. Request the size we want for the sidebar,
the pane will under-allocate if neccessary.
Set the old_width to the correct size so we don't
re-render the paned lots as it swiches about.
* src/nautilus-window.c
(nautilus_window_constructed): reflow to simplify,
call sidebar_set_width.
(nautilus_window_set_content_view_widget): use
nautilus_..._pack2 instead of gtk_paned to fix rendering.
2002-03-06 Michael Meeks <michael@ximian.com>
* components/notes/nautilus-notes.c
(make_notes_view): upd.
* components/news/nautilus-news.c
(rss_read_done_callback): parse the RTF, but don't spew
warnings everywhere.
(make_news_view): upd.
* components/throbber/main.c
(cb_create_throbber): impl.
(throbber_object_destroyed, throbber_make_object):
axe cut & paste.
* libnautilus/nautilus-view-standard-main.c
(nautilus_view_create_from_get_type_function):
widen from NautilusView to BonoboObject, this
code has a much wider application.
(make_object): ditto.
* components/hardware/nautilus-hardware-view.c
(nautilus_hardware_view_get_nautilus_view): upd.
* components/throbber/nautilus-throbber.c
(nautilus_throbber_new): kill.
* libnautilus/nautilus-view-standard-main.c
(nautilus_view_standard_main_multi): use gdk_get_display.
* libnautilus-private/nautilus-bonobo-extensions.c
(nautilus_bonobo_activation_register_for_display): impl.
* src/nautilus-application.c
(nautilus_application_startup): use it.
* src/nautilus-window-toolbars.c
(location_change_at_idle_callback),
(throbber_callback): move from nautilus-window.c
(nautilus_window_allow_stop): move this here,
prune redundant sets, simplify property bag
extraction.
* src/nautilus-window.c
(nautilus_window_constructed): move throbber
location changed code out of here.
(nautilus_window_unrealize): no explicit removal
from remote property bag neccessary & upd.
* libnautilus-private/nautilus-metafile-factory.c
(corba_open): reduce complexity.
2002-03-07 14:02:19 +00:00
|
|
|
widget_class->size_allocate = nautilus_horizontal_splitter_size_allocate;
|
2001-11-08 23:09:35 +00:00
|
|
|
widget_class->button_press_event = nautilus_horizontal_splitter_button_press;
|
|
|
|
widget_class->button_release_event = nautilus_horizontal_splitter_button_release;
|
2000-06-23 16:45:20 +00:00
|
|
|
}
|
impl. to cope with having a paned with no child2, without doing lots of
2002-03-07 Michael Meeks <michael@ximian.com>
* libnautilus-private/nautilus-horizontal-splitter.c
(nautilus_horizontal_splitter_size_allocate): impl. to
cope with having a paned with no child2, without doing
lots of bogus size re-allocation.
(nautilus_horizontal_splitter_class_init): upd.
(nautilus_horizontal_splitter_pack2): impl, since
gtkpaned relies on the re-size to generate an expose
to re-render it's splitter grabber thing.a
* src/nautilus-sidebar.c
(nautilus_sidebar_set_width): impl. moving all sidebar
preferences here,
(nautilus_sidebar_init): move auto value setup
here from class_init to save possible re-enterancy
issue. Request the size we want for the sidebar,
the pane will under-allocate if neccessary.
Set the old_width to the correct size so we don't
re-render the paned lots as it swiches about.
* src/nautilus-window.c
(nautilus_window_constructed): reflow to simplify,
call sidebar_set_width.
(nautilus_window_set_content_view_widget): use
nautilus_..._pack2 instead of gtk_paned to fix rendering.
2002-03-06 Michael Meeks <michael@ximian.com>
* components/notes/nautilus-notes.c
(make_notes_view): upd.
* components/news/nautilus-news.c
(rss_read_done_callback): parse the RTF, but don't spew
warnings everywhere.
(make_news_view): upd.
* components/throbber/main.c
(cb_create_throbber): impl.
(throbber_object_destroyed, throbber_make_object):
axe cut & paste.
* libnautilus/nautilus-view-standard-main.c
(nautilus_view_create_from_get_type_function):
widen from NautilusView to BonoboObject, this
code has a much wider application.
(make_object): ditto.
* components/hardware/nautilus-hardware-view.c
(nautilus_hardware_view_get_nautilus_view): upd.
* components/throbber/nautilus-throbber.c
(nautilus_throbber_new): kill.
* libnautilus/nautilus-view-standard-main.c
(nautilus_view_standard_main_multi): use gdk_get_display.
* libnautilus-private/nautilus-bonobo-extensions.c
(nautilus_bonobo_activation_register_for_display): impl.
* src/nautilus-application.c
(nautilus_application_startup): use it.
* src/nautilus-window-toolbars.c
(location_change_at_idle_callback),
(throbber_callback): move from nautilus-window.c
(nautilus_window_allow_stop): move this here,
prune redundant sets, simplify property bag
extraction.
* src/nautilus-window.c
(nautilus_window_constructed): move throbber
location changed code out of here.
(nautilus_window_unrealize): no explicit removal
from remote property bag neccessary & upd.
* libnautilus-private/nautilus-metafile-factory.c
(corba_open): reduce complexity.
2002-03-07 14:02:19 +00:00
|
|
|
|
|
|
|
void
|
|
|
|
nautilus_horizontal_splitter_pack2 (NautilusHorizontalSplitter *splitter,
|
|
|
|
GtkWidget *child2)
|
|
|
|
{
|
|
|
|
GtkPaned *paned;
|
|
|
|
|
|
|
|
g_return_if_fail (GTK_IS_WIDGET (child2));
|
|
|
|
g_return_if_fail (NAUTILUS_IS_HORIZONTAL_SPLITTER (splitter));
|
|
|
|
|
|
|
|
paned = GTK_PANED (splitter);
|
|
|
|
gtk_paned_pack2 (paned, child2, TRUE, TRUE);
|
|
|
|
}
|