diff options
author | Alexander Larsson <alexl@redhat.com> | 2003-12-17 11:39:12 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2003-12-17 11:39:12 +0000 |
commit | a2ca65653475420b90fcfc7dba122ca8721212fc (patch) | |
tree | d0358934e3227522875174839bd650da11056fd4 | |
parent | 37d0fad713869aeb8cc6f769de68ec810b0d5f36 (diff) | |
download | nautilus-a2ca65653475420b90fcfc7dba122ca8721212fc.tar.gz |
Virtualize close_window
2003-12-17 Alexander Larsson <alexl@redhat.com>
* src/nautilus-window.h:
* src/nautilus-window.c (nautilus_window_close):
Virtualize close_window
* src/nautilus-spatial-window.c (real_window_close):
Save geometry and scroll position on window close, not
on delete event. Also, since the timeout geometry save
isn't really needed anymore, up that to one second.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | src/nautilus-spatial-window.c | 15 | ||||
-rw-r--r-- | src/nautilus-window.c | 5 | ||||
-rw-r--r-- | src/nautilus-window.h | 3 |
4 files changed, 24 insertions, 10 deletions
@@ -1,3 +1,14 @@ +2003-12-17 Alexander Larsson <alexl@redhat.com> + + * src/nautilus-window.h: + * src/nautilus-window.c (nautilus_window_close): + Virtualize close_window + + * src/nautilus-spatial-window.c (real_window_close): + Save geometry and scroll position on window close, not + on delete event. Also, since the timeout geometry save + isn't really needed anymore, up that to one second. + 2003-12-16 Alexander Larsson <alexl@redhat.com> * src/file-manager/fm-icon-view.c (play_file): diff --git a/src/nautilus-spatial-window.c b/src/nautilus-spatial-window.c index c56c033d7..8a19e7f97 100644 --- a/src/nautilus-spatial-window.c +++ b/src/nautilus-spatial-window.c @@ -121,7 +121,7 @@ nautilus_spatial_window_configure_event (GtkWidget *widget, GTK_WIDGET_CLASS (parent_class)->configure_event (widget, event); /* Only save the geometry if the user hasn't resized the window - * for half a second. Otherwise delay the callback another half second. + * for a second. Otherwise delay the callback another second. */ if (window->details->save_geometry_timeout_id != 0) { g_source_remove (window->details->save_geometry_timeout_id); @@ -149,7 +149,7 @@ nautilus_spatial_window_configure_event (GtkWidget *widget, window->details->last_geometry = geometry_string; window->details->save_geometry_timeout_id = - g_timeout_add (500, save_window_geometry_timeout, window); + g_timeout_add (1000, save_window_geometry_timeout, window); } return FALSE; @@ -314,12 +314,11 @@ real_set_content_view_widget (NautilusWindow *window, GTK_WIDGET (new_view)); } -static gboolean -real_delete_event (GtkWidget *window, GdkEventAny *event) +static void +real_window_close (NautilusWindow *window) { + nautilus_spatial_window_save_geometry (NAUTILUS_SPATIAL_WINDOW (window)); nautilus_spatial_window_save_scroll_position (NAUTILUS_SPATIAL_WINDOW (window)); - - return FALSE; } static void @@ -365,7 +364,7 @@ nautilus_spatial_window_class_init (NautilusSpatialWindowClass *class) real_merge_menus; NAUTILUS_WINDOW_CLASS (class)->set_content_view_widget = real_set_content_view_widget; - GTK_WIDGET_CLASS (class)->delete_event = - real_delete_event; + NAUTILUS_WINDOW_CLASS (class)->close = + real_window_close; NAUTILUS_WINDOW_CLASS(class)->get_default_size = real_get_default_size; } diff --git a/src/nautilus-window.c b/src/nautilus-window.c index 34e38b213..5a9631b88 100644 --- a/src/nautilus-window.c +++ b/src/nautilus-window.c @@ -591,7 +591,7 @@ set_initial_window_geometry (NautilusWindow *window) max_height_for_screen)); EEL_CALL_METHOD (NAUTILUS_WINDOW_CLASS, window, - get_default_size, (window , &default_width, &default_height)); + get_default_size, (window, &default_width, &default_height)); gtk_window_set_default_size (GTK_WINDOW (window), MIN (default_width, @@ -784,6 +784,9 @@ nautilus_window_close (NautilusWindow *window) { g_return_if_fail (NAUTILUS_IS_WINDOW (window)); + EEL_CALL_METHOD (NAUTILUS_WINDOW_CLASS, window, + close, (window)); + gtk_widget_destroy (GTK_WIDGET (window)); } diff --git a/src/nautilus-window.h b/src/nautilus-window.h index 8dec3c62b..d7e92c1a7 100644 --- a/src/nautilus-window.h +++ b/src/nautilus-window.h @@ -75,7 +75,8 @@ typedef struct { void (* set_throbber_active) (NautilusWindow *window, gboolean active); void (* prompt_for_location) (NautilusWindow *window); - void (* get_default_size) ( NautilusWindow *window, guint *default_width, guint *default_height); + void (* get_default_size) (NautilusWindow *window, guint *default_width, guint *default_height); + void (* close) (NautilusWindow *window); } NautilusWindowClass; typedef enum { |