summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2004-11-17 13:23:06 +0000
committerAlexander Larsson <alexl@src.gnome.org>2004-11-17 13:23:06 +0000
commitccd3ef9c04bfa49bc3dccb44c1ffa69c6b5d3cb1 (patch)
tree6300d2e20a30a77484f508e98fcddfd2fa46b44f
parent0854104c7831eb1737820f0ebcb3006731e39269 (diff)
downloadnautilus-ccd3ef9c04bfa49bc3dccb44c1ffa69c6b5d3cb1.tar.gz
Make initial window geometry work.
2004-11-17 Alexander Larsson <alexl@redhat.com> * src/nautilus-application.c: * src/nautilus-navigation-window.c: * src/nautilus-spatial-window.c: * src/nautilus-window-private.h: * src/nautilus-window.c: Make initial window geometry work.
-rw-r--r--ChangeLog9
-rw-r--r--src/nautilus-application.c2
-rw-r--r--src/nautilus-navigation-window.c1
-rw-r--r--src/nautilus-spatial-window.c15
-rw-r--r--src/nautilus-window-private.h2
-rw-r--r--src/nautilus-window.c20
6 files changed, 33 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index ded56e25b..6644e081b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2004-11-17 Alexander Larsson <alexl@redhat.com>
+ * src/nautilus-application.c:
+ * src/nautilus-navigation-window.c:
+ * src/nautilus-spatial-window.c:
+ * src/nautilus-window-private.h:
+ * src/nautilus-window.c:
+ Make initial window geometry work.
+
+2004-11-17 Alexander Larsson <alexl@redhat.com>
+
* src/nautilus-image-properties-page.c: (get_property_pages):
Only show for images.
diff --git a/src/nautilus-application.c b/src/nautilus-application.c
index a83a946be..f4579a46b 100644
--- a/src/nautilus-application.c
+++ b/src/nautilus-application.c
@@ -937,6 +937,8 @@ create_window (NautilusApplication *application,
"app_id", "nautilus",
"screen", screen,
NULL));
+ /* Must be called after construction finished */
+ nautilus_window_constructed (window);
g_signal_connect_data (window, "delete_event",
G_CALLBACK (nautilus_window_delete_event_callback), NULL, NULL,
diff --git a/src/nautilus-navigation-window.c b/src/nautilus-navigation-window.c
index b4c1aca23..4384d1496 100644
--- a/src/nautilus-navigation-window.c
+++ b/src/nautilus-navigation-window.c
@@ -1072,7 +1072,6 @@ static void
real_get_default_size (NautilusWindow *window,
guint *default_width, guint *default_height)
{
-
if (default_width) {
*default_width = NAUTILUS_NAVIGATION_WINDOW_DEFAULT_WIDTH;
}
diff --git a/src/nautilus-spatial-window.c b/src/nautilus-spatial-window.c
index 35b024b27..82c2f26e8 100644
--- a/src/nautilus-spatial-window.c
+++ b/src/nautilus-spatial-window.c
@@ -367,14 +367,15 @@ real_window_close (NautilusWindow *window)
}
static void
-real_get_default_size(NautilusWindow *window, guint *default_width, guint *default_height)
+real_get_default_size (NautilusWindow *window,
+ guint *default_width, guint *default_height)
{
- if(default_width) {
- *default_width = NAUTILUS_SPATIAL_WINDOW_DEFAULT_WIDTH;
- }
- if(default_height) {
- *default_height = NAUTILUS_SPATIAL_WINDOW_DEFAULT_HEIGHT;
- }
+ if (default_width) {
+ *default_width = NAUTILUS_SPATIAL_WINDOW_DEFAULT_WIDTH;
+ }
+ if (default_height) {
+ *default_height = NAUTILUS_SPATIAL_WINDOW_DEFAULT_HEIGHT;
+ }
}
diff --git a/src/nautilus-window-private.h b/src/nautilus-window-private.h
index cf2fafbe2..9f2c69cf3 100644
--- a/src/nautilus-window-private.h
+++ b/src/nautilus-window-private.h
@@ -199,7 +199,7 @@ void nautilus_remove_from_history_list_no_notify (const
GList * nautilus_get_history_list (void);
void nautilus_window_bookmarks_preference_changed_callback (gpointer user_data);
void nautilus_window_update_icon (NautilusWindow *window);
-
+void nautilus_window_constructed (NautilusWindow *window);
/* Navigation window menus */
void nautilus_navigation_window_initialize_actions (NautilusNavigationWindow *window);
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index ddeb03c86..1dc3171cc 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -102,7 +102,6 @@ enum {
static void cancel_view_as_callback (NautilusWindow *window);
static void nautilus_window_info_iface_init (NautilusWindowInfoIface *iface);
-static void set_initial_window_geometry (NautilusWindow *window);
static GList *history_list;
@@ -206,8 +205,6 @@ nautilus_window_init (NautilusWindow *window)
/* Keep the main event loop alive as long as the window exists */
nautilus_main_event_loop_register (GTK_OBJECT (window));
- set_initial_window_geometry (window);
-
nautilus_window_allow_stop (window, FALSE);
#ifdef BONOBO_DONE
@@ -411,8 +408,12 @@ get_max_forced_width (GdkScreen *screen)
return (gdk_screen_get_width (screen) * 90) / 100;
}
+/* This must be called when construction of NautilusWindow is finished,
+ * since it depends on the type of the argument, which isn't decided at
+ * construction time.
+ */
static void
-set_initial_window_geometry (NautilusWindow *window)
+nautilus_window_set_initial_window_geometry (NautilusWindow *window)
{
GdkScreen *screen;
guint max_width_for_screen, max_height_for_screen, min_width, min_height;
@@ -452,10 +453,10 @@ set_initial_window_geometry (NautilusWindow *window)
max_width_for_screen),
MIN (min_height,
max_height_for_screen));
-
+
EEL_CALL_METHOD (NAUTILUS_WINDOW_CLASS, window,
get_default_size, (window, &default_width, &default_height));
-
+
gtk_window_set_default_size (GTK_WINDOW (window),
MIN (default_width,
max_width_for_screen),
@@ -463,6 +464,12 @@ set_initial_window_geometry (NautilusWindow *window)
max_height_for_screen));
}
+void
+nautilus_window_constructed (NautilusWindow *window)
+{
+ nautilus_window_set_initial_window_geometry (window);
+}
+
static void
nautilus_window_set_property (GObject *object,
guint arg_id,
@@ -1171,7 +1178,6 @@ nautilus_window_show (GtkWidget *widget)
window = NAUTILUS_WINDOW (widget);
-
GTK_WIDGET_CLASS (nautilus_window_parent_class)->show (widget);
nautilus_window_ui_update (window);