summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2003-12-17 11:39:12 +0000
committerAlexander Larsson <alexl@src.gnome.org>2003-12-17 11:39:12 +0000
commita2ca65653475420b90fcfc7dba122ca8721212fc (patch)
treed0358934e3227522875174839bd650da11056fd4
parent37d0fad713869aeb8cc6f769de68ec810b0d5f36 (diff)
downloadnautilus-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--ChangeLog11
-rw-r--r--src/nautilus-spatial-window.c15
-rw-r--r--src/nautilus-window.c5
-rw-r--r--src/nautilus-window.h3
4 files changed, 24 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 6ab1e9334..5996d5a4b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 {