diff options
author | Michael Meeks <michael@ximian.com> | 2002-03-08 22:32:35 +0000 |
---|---|---|
committer | Michael Meeks <michael@src.gnome.org> | 2002-03-08 22:32:35 +0000 |
commit | ab3810795b164a0a8369702f5aa9752f7cb9b66f (patch) | |
tree | 86a5fb7e38c5a23e329a5243849694d4f289db26 | |
parent | 35f5c495c2210367fa507baa282c32073ae12b6a (diff) | |
download | nautilus-ab3810795b164a0a8369702f5aa9752f7cb9b66f.tar.gz |
create a UI component for the status, that is separate from the shell UI
2002-03-08 Michael Meeks <michael@ximian.com>
* src/nautilus-window.c
(nautilus_window_constructed): create a UI component for
the status, that is separate from the shell UI component.
(nautilus_window_finalize): release the status_ui.
(nautilus_window_clear_status): remove fixme #43597
(nautilus_window_set_status): upd.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/nautilus-navigation-window.c | 29 | ||||
-rw-r--r-- | src/nautilus-object-window.c | 29 | ||||
-rw-r--r-- | src/nautilus-spatial-window.c | 29 | ||||
-rw-r--r-- | src/nautilus-window-private.h | 1 | ||||
-rw-r--r-- | src/nautilus-window.c | 29 |
6 files changed, 74 insertions, 52 deletions
@@ -1,3 +1,12 @@ +2002-03-08 Michael Meeks <michael@ximian.com> + + * src/nautilus-window.c + (nautilus_window_constructed): create a UI component for + the status, that is separate from the shell UI component. + (nautilus_window_finalize): release the status_ui. + (nautilus_window_clear_status): remove fixme #43597 + (nautilus_window_set_status): upd. + 2002-03-08 Darin Adler <darin@bentspoon.com> * components/adapter/main.c: (main): Use gdk_get_display, not diff --git a/src/nautilus-navigation-window.c b/src/nautilus-navigation-window.c index d04614497..f4422a482 100644 --- a/src/nautilus-navigation-window.c +++ b/src/nautilus-navigation-window.c @@ -334,16 +334,9 @@ nautilus_window_clear_status (gpointer callback_data) window = NAUTILUS_WINDOW (callback_data); - nautilus_window_ui_freeze (window); - - /* FIXME bugzilla.gnome.org 43597: - * Should pass "" or NULL here. This didn't work, then did, now doesn't again. - * When this is fixed in Bonobo we should change this line. - */ - bonobo_ui_component_set_status (window->details->shell_ui, " ", NULL); + bonobo_ui_component_set_status (window->details->status_ui, NULL, NULL); window->status_bar_clear_id = 0; - nautilus_window_ui_thaw (window); return FALSE; } @@ -353,19 +346,15 @@ nautilus_window_set_status (NautilusWindow *window, const char *text) if (window->status_bar_clear_id != 0) { g_source_remove (window->status_bar_clear_id); } - - nautilus_window_ui_freeze (window); if (text != NULL && text[0] != '\0') { - bonobo_ui_component_set_status (window->details->shell_ui, text, NULL); + bonobo_ui_component_set_status (window->details->status_ui, text, NULL); window->status_bar_clear_id = g_timeout_add (STATUS_BAR_CLEAR_TIMEOUT, nautilus_window_clear_status, window); } else { nautilus_window_clear_status (window); window->status_bar_clear_id = 0; } - - nautilus_window_ui_thaw (window); } void @@ -556,6 +545,15 @@ nautilus_window_constructed (NautilusWindow *window) nautilus_window_get_ui_container (window), NULL); + /* Create a separate component so when we remove the status + * we don't loose the status bar + */ + window->details->status_ui = bonobo_ui_component_new ("Status Component"); + bonobo_ui_component_set_container + (window->details->status_ui, + nautilus_window_get_ui_container (window), + NULL); + nautilus_window_ui_freeze (window); bonobo_ui_component_freeze (window->details->shell_ui, NULL); @@ -819,6 +817,11 @@ nautilus_window_finalize (GObject *object) bonobo_object_unref (window->details->shell_ui); } + if (window->details->status_ui != NULL) { + bonobo_ui_component_unset_container (window->details->status_ui, NULL); + bonobo_object_unref (window->details->status_ui); + } + nautilus_file_unref (window->details->viewed_file); free_stored_viewers (window); diff --git a/src/nautilus-object-window.c b/src/nautilus-object-window.c index d04614497..f4422a482 100644 --- a/src/nautilus-object-window.c +++ b/src/nautilus-object-window.c @@ -334,16 +334,9 @@ nautilus_window_clear_status (gpointer callback_data) window = NAUTILUS_WINDOW (callback_data); - nautilus_window_ui_freeze (window); - - /* FIXME bugzilla.gnome.org 43597: - * Should pass "" or NULL here. This didn't work, then did, now doesn't again. - * When this is fixed in Bonobo we should change this line. - */ - bonobo_ui_component_set_status (window->details->shell_ui, " ", NULL); + bonobo_ui_component_set_status (window->details->status_ui, NULL, NULL); window->status_bar_clear_id = 0; - nautilus_window_ui_thaw (window); return FALSE; } @@ -353,19 +346,15 @@ nautilus_window_set_status (NautilusWindow *window, const char *text) if (window->status_bar_clear_id != 0) { g_source_remove (window->status_bar_clear_id); } - - nautilus_window_ui_freeze (window); if (text != NULL && text[0] != '\0') { - bonobo_ui_component_set_status (window->details->shell_ui, text, NULL); + bonobo_ui_component_set_status (window->details->status_ui, text, NULL); window->status_bar_clear_id = g_timeout_add (STATUS_BAR_CLEAR_TIMEOUT, nautilus_window_clear_status, window); } else { nautilus_window_clear_status (window); window->status_bar_clear_id = 0; } - - nautilus_window_ui_thaw (window); } void @@ -556,6 +545,15 @@ nautilus_window_constructed (NautilusWindow *window) nautilus_window_get_ui_container (window), NULL); + /* Create a separate component so when we remove the status + * we don't loose the status bar + */ + window->details->status_ui = bonobo_ui_component_new ("Status Component"); + bonobo_ui_component_set_container + (window->details->status_ui, + nautilus_window_get_ui_container (window), + NULL); + nautilus_window_ui_freeze (window); bonobo_ui_component_freeze (window->details->shell_ui, NULL); @@ -819,6 +817,11 @@ nautilus_window_finalize (GObject *object) bonobo_object_unref (window->details->shell_ui); } + if (window->details->status_ui != NULL) { + bonobo_ui_component_unset_container (window->details->status_ui, NULL); + bonobo_object_unref (window->details->status_ui); + } + nautilus_file_unref (window->details->viewed_file); free_stored_viewers (window); diff --git a/src/nautilus-spatial-window.c b/src/nautilus-spatial-window.c index d04614497..f4422a482 100644 --- a/src/nautilus-spatial-window.c +++ b/src/nautilus-spatial-window.c @@ -334,16 +334,9 @@ nautilus_window_clear_status (gpointer callback_data) window = NAUTILUS_WINDOW (callback_data); - nautilus_window_ui_freeze (window); - - /* FIXME bugzilla.gnome.org 43597: - * Should pass "" or NULL here. This didn't work, then did, now doesn't again. - * When this is fixed in Bonobo we should change this line. - */ - bonobo_ui_component_set_status (window->details->shell_ui, " ", NULL); + bonobo_ui_component_set_status (window->details->status_ui, NULL, NULL); window->status_bar_clear_id = 0; - nautilus_window_ui_thaw (window); return FALSE; } @@ -353,19 +346,15 @@ nautilus_window_set_status (NautilusWindow *window, const char *text) if (window->status_bar_clear_id != 0) { g_source_remove (window->status_bar_clear_id); } - - nautilus_window_ui_freeze (window); if (text != NULL && text[0] != '\0') { - bonobo_ui_component_set_status (window->details->shell_ui, text, NULL); + bonobo_ui_component_set_status (window->details->status_ui, text, NULL); window->status_bar_clear_id = g_timeout_add (STATUS_BAR_CLEAR_TIMEOUT, nautilus_window_clear_status, window); } else { nautilus_window_clear_status (window); window->status_bar_clear_id = 0; } - - nautilus_window_ui_thaw (window); } void @@ -556,6 +545,15 @@ nautilus_window_constructed (NautilusWindow *window) nautilus_window_get_ui_container (window), NULL); + /* Create a separate component so when we remove the status + * we don't loose the status bar + */ + window->details->status_ui = bonobo_ui_component_new ("Status Component"); + bonobo_ui_component_set_container + (window->details->status_ui, + nautilus_window_get_ui_container (window), + NULL); + nautilus_window_ui_freeze (window); bonobo_ui_component_freeze (window->details->shell_ui, NULL); @@ -819,6 +817,11 @@ nautilus_window_finalize (GObject *object) bonobo_object_unref (window->details->shell_ui); } + if (window->details->status_ui != NULL) { + bonobo_ui_component_unset_container (window->details->status_ui, NULL); + bonobo_object_unref (window->details->status_ui); + } + nautilus_file_unref (window->details->viewed_file); free_stored_viewers (window); diff --git a/src/nautilus-window-private.h b/src/nautilus-window-private.h index 5fda2d52a..07dad23bb 100644 --- a/src/nautilus-window-private.h +++ b/src/nautilus-window-private.h @@ -48,6 +48,7 @@ struct NautilusWindowDetails /* Bonobo. */ BonoboUIContainer *ui_container; BonoboUIComponent *shell_ui; + BonoboUIComponent *status_ui; gboolean updating_bonobo_state; int ui_change_depth; diff --git a/src/nautilus-window.c b/src/nautilus-window.c index d04614497..f4422a482 100644 --- a/src/nautilus-window.c +++ b/src/nautilus-window.c @@ -334,16 +334,9 @@ nautilus_window_clear_status (gpointer callback_data) window = NAUTILUS_WINDOW (callback_data); - nautilus_window_ui_freeze (window); - - /* FIXME bugzilla.gnome.org 43597: - * Should pass "" or NULL here. This didn't work, then did, now doesn't again. - * When this is fixed in Bonobo we should change this line. - */ - bonobo_ui_component_set_status (window->details->shell_ui, " ", NULL); + bonobo_ui_component_set_status (window->details->status_ui, NULL, NULL); window->status_bar_clear_id = 0; - nautilus_window_ui_thaw (window); return FALSE; } @@ -353,19 +346,15 @@ nautilus_window_set_status (NautilusWindow *window, const char *text) if (window->status_bar_clear_id != 0) { g_source_remove (window->status_bar_clear_id); } - - nautilus_window_ui_freeze (window); if (text != NULL && text[0] != '\0') { - bonobo_ui_component_set_status (window->details->shell_ui, text, NULL); + bonobo_ui_component_set_status (window->details->status_ui, text, NULL); window->status_bar_clear_id = g_timeout_add (STATUS_BAR_CLEAR_TIMEOUT, nautilus_window_clear_status, window); } else { nautilus_window_clear_status (window); window->status_bar_clear_id = 0; } - - nautilus_window_ui_thaw (window); } void @@ -556,6 +545,15 @@ nautilus_window_constructed (NautilusWindow *window) nautilus_window_get_ui_container (window), NULL); + /* Create a separate component so when we remove the status + * we don't loose the status bar + */ + window->details->status_ui = bonobo_ui_component_new ("Status Component"); + bonobo_ui_component_set_container + (window->details->status_ui, + nautilus_window_get_ui_container (window), + NULL); + nautilus_window_ui_freeze (window); bonobo_ui_component_freeze (window->details->shell_ui, NULL); @@ -819,6 +817,11 @@ nautilus_window_finalize (GObject *object) bonobo_object_unref (window->details->shell_ui); } + if (window->details->status_ui != NULL) { + bonobo_ui_component_unset_container (window->details->status_ui, NULL); + bonobo_object_unref (window->details->status_ui); + } + nautilus_file_unref (window->details->viewed_file); free_stored_viewers (window); |