diff options
author | Darin Adler <darin@src.gnome.org> | 2000-05-24 21:12:50 +0000 |
---|---|---|
committer | Darin Adler <darin@src.gnome.org> | 2000-05-24 21:12:50 +0000 |
commit | 3f2b83b1a010f20d7688444f2f1c5f82b34e9553 (patch) | |
tree | f9b384a77188676a5b3de014a8a3979f80b18f58 /libnautilus | |
parent | 0409c2620ca12a06e676083b30f9ceec1871cbb8 (diff) | |
download | nautilus-3f2b83b1a010f20d7688444f2f1c5f82b34e9553.tar.gz |
Moved to make clear that popt must build first.
* HACKING: Moved to make clear that popt must build first.
* RENAMING: Added some new file renamings.
* src/nautilus-zoomable-frame-svr.c:
* src/nautilus.h: [removed]
* src/ntl-app.c:
* src/ntl-main.c:
* src/ntl-meta-view.c:
* src/ntl-types.h: [removed]
* src/ntl-uri-map.c:
* src/ntl-view-bonobo-control.c:
* src/ntl-view-bonobo-subdoc.c:
* src/ntl-view-frame-svr.c:
* src/ntl-view-nautilus.c:
* src/ntl-view-private.h:
* src/ntl-view.c:
* src/ntl-window-msgs.c:
* src/ntl-window-state.c:
* src/ntl-window.c:
Got rid of "nautilus.h" and "ntl-types.h".
* libnautilus/nautilus-undo-context.c:
(impl_Nautilus_Undo_Context__destroy),
(impl_Nautilus_Undo_Context__create),
(impl_Nautilus_Undo_Context__get_undo_manager),
(nautilus_undo_context_new), (nautilus_undo_context_initialize),
(destroy):
* libnautilus/nautilus-undo-manager.c:
(impl_Nautilus_Undo_Manager__destroy),
(impl_Nautilus_Undo_Manager__create),
(impl_Nautilus_Undo_Manager__append),
(impl_Nautilus_Undo_Manager__forget),
(impl_Nautilus_Undo_Manager__undo), (nautilus_undo_manager_new),
(nautilus_undo_manager_initialize),
(nautilus_undo_manager_initialize_class),
(nautilus_undo_manager_undo), (nautilus_undo_manager_redo),
(nautilus_undo_manager_add_transaction),
(nautilus_undo_manager_unregister_object),
(nautilus_undo_manager_can_undo), (nautilus_undo_manager_can_redo),
(destroy), (nautilus_undo_manager_enable_redo),
(nautilus_undo_manager_set_queue_depth), (free_undo_manager_list):
Various code cleanups. Specifically, get rid of unused
bonobo_object and rename gtk_object to bonobo_object.
Get rid of some yucky function pointer casts.
* src/ntl-app.c: (nautilus_app_init):
Got rid of bogus extra ref.
* libnautilus-extensions/nautilus-program-chooser.c:
(nautilus_program_chooser_new): Reindent part just to annoy John.
* libnautilus-extensions/nautilus-program-choosing.c:
(nautilus_launch_application): Newline at end of file (ugh).
* src/ntl-index-panel.c: (add_command_buttons): Format tweaking.
Diffstat (limited to 'libnautilus')
-rw-r--r-- | libnautilus/nautilus-undo-context.c | 69 | ||||
-rw-r--r-- | libnautilus/nautilus-undo-manager.c | 205 |
2 files changed, 119 insertions, 155 deletions
diff --git a/libnautilus/nautilus-undo-context.c b/libnautilus/nautilus-undo-context.c index 0527fbf49..583704226 100644 --- a/libnautilus/nautilus-undo-context.c +++ b/libnautilus/nautilus-undo-context.c @@ -36,30 +36,27 @@ typedef struct { POA_Nautilus_Undo_Context servant; - gpointer bonobo_object; - - NautilusUndoContext *gtk_object; + NautilusUndoContext *bonobo_object; } impl_POA_Nautilus_Undo_Context; /* GtkObject */ -static void nautilus_undo_context_initialize_class (NautilusUndoContextClass *class); -static void nautilus_undo_context_initialize (NautilusUndoContext *item); -static void destroy (GtkObject *object); +static void nautilus_undo_context_initialize_class (NautilusUndoContextClass *class); +static void nautilus_undo_context_initialize (NautilusUndoContext *item); +static void destroy (GtkObject *object); /* CORBA/Bonobo */ -static Nautilus_Undo_Manager impl_Nautilus_Undo_Context__get_undo_manager (impl_POA_Nautilus_Undo_Context *servant, - CORBA_Environment *ev); +static Nautilus_Undo_Manager impl_Nautilus_Undo_Context__get_undo_manager (PortableServer_Servant servant, + CORBA_Environment *ev); NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusUndoContext, nautilus_undo_context, BONOBO_OBJECT_TYPE) POA_Nautilus_Undo_Context__epv libnautilus_Nautilus_Undo_Context_epv = { - NULL, /* _private */ - (gpointer) &impl_Nautilus_Undo_Context__get_undo_manager, + NULL, /* _private */ + &impl_Nautilus_Undo_Context__get_undo_manager, }; -static PortableServer_ServantBase__epv base_epv = { NULL, NULL, NULL }; - +static PortableServer_ServantBase__epv base_epv; static POA_Nautilus_Undo_Context__vepv impl_Nautilus_Undo_Context_vepv = { &base_epv, @@ -74,17 +71,20 @@ impl_Nautilus_Undo_Context__destroy (BonoboObject *obj, impl_POA_Nautilus_Undo_C CORBA_Environment ev; void (*servant_destroy_func) (PortableServer_Servant servant, CORBA_Environment *ev); - CORBA_exception_init(&ev); + CORBA_exception_init (&ev); + + servant_destroy_func = NAUTILUS_UNDO_CONTEXT_CLASS + (GTK_OBJECT (servant->bonobo_object)->klass)->servant_destroy_func; - servant_destroy_func = NAUTILUS_UNDO_CONTEXT_CLASS (GTK_OBJECT (servant->gtk_object)->klass)->servant_destroy_func; objid = PortableServer_POA_servant_to_id (bonobo_poa (), servant, &ev); PortableServer_POA_deactivate_object (bonobo_poa (), objid, &ev); CORBA_free (objid); obj->servant = NULL; - servant_destroy_func ((PortableServer_Servant) servant, &ev); + (* servant_destroy_func) ((PortableServer_Servant) servant, &ev); + g_free (servant); - CORBA_exception_free(&ev); + CORBA_exception_free (&ev); } static Nautilus_Undo_Context @@ -93,39 +93,39 @@ impl_Nautilus_Undo_Context__create (NautilusUndoContext *context, CORBA_Environm Nautilus_Undo_Context retval; impl_POA_Nautilus_Undo_Context *servant; void (*servant_init_func) (PortableServer_Servant servant, CORBA_Environment *ev); + NautilusUndoContextClass *context_class; - NautilusUndoContextClass *context_class = NAUTILUS_UNDO_CONTEXT_CLASS (GTK_OBJECT (context)->klass); + context_class = NAUTILUS_UNDO_CONTEXT_CLASS (GTK_OBJECT (context)->klass); servant_init_func = context_class->servant_init_func; servant = g_new0 (impl_POA_Nautilus_Undo_Context, 1); servant->servant.vepv = context_class->vepv; - if (!servant->servant.vepv->Bonobo_Unknown_epv) { + if (servant->servant.vepv->Bonobo_Unknown_epv == NULL) { servant->servant.vepv->Bonobo_Unknown_epv = bonobo_object_get_epv (); } - servant_init_func ((PortableServer_Servant) servant, ev); + (* servant_init_func) ((PortableServer_Servant) servant, ev); - servant->gtk_object = context; + servant->bonobo_object = context; retval = bonobo_object_activate_servant (BONOBO_OBJECT (context), servant); - gtk_signal_connect (GTK_OBJECT (context), "destroy", GTK_SIGNAL_FUNC (impl_Nautilus_Undo_Context__destroy), servant); + gtk_signal_connect (GTK_OBJECT (context), "destroy", + GTK_SIGNAL_FUNC (impl_Nautilus_Undo_Context__destroy), + servant); return retval; } - static Nautilus_Undo_Manager -impl_Nautilus_Undo_Context__get_undo_manager (impl_POA_Nautilus_Undo_Context *servant, +impl_Nautilus_Undo_Context__get_undo_manager (PortableServer_Servant servant, CORBA_Environment *ev) { NautilusUndoContext *context; - g_assert (NAUTILUS_IS_UNDO_CONTEXT (servant->gtk_object)); - context = NAUTILUS_UNDO_CONTEXT (servant->gtk_object); + context = ((impl_POA_Nautilus_Undo_Context *) servant)->bonobo_object; - CORBA_Object_duplicate (servant->gtk_object->undo_manager, ev); - - return servant->gtk_object->undo_manager; + g_assert (NAUTILUS_IS_UNDO_CONTEXT (context)); + return CORBA_Object_duplicate (context->undo_manager, ev); } /* nautilus_undo_manager_new */ @@ -135,27 +135,24 @@ nautilus_undo_context_new (Nautilus_Undo_Manager undo_manager) NautilusUndoContext *context; context = gtk_type_new (nautilus_undo_context_get_type ()); - context->undo_manager = undo_manager; - return context; } - /* Object initialization function for the NautilusUndoContext */ static void nautilus_undo_context_initialize (NautilusUndoContext *context) { CORBA_Environment ev; - CORBA_exception_init(&ev); + CORBA_exception_init (&ev); - bonobo_object_construct (BONOBO_OBJECT (context), impl_Nautilus_Undo_Context__create (context, &ev)); + bonobo_object_construct (BONOBO_OBJECT (context), + impl_Nautilus_Undo_Context__create (context, &ev)); - CORBA_exception_free(&ev); + CORBA_exception_free (&ev); } - /* Class initialization function for the NautilusUndoManager. */ static void nautilus_undo_context_initialize_class (NautilusUndoContextClass *klass) @@ -177,8 +174,6 @@ destroy (GtkObject *object) { NautilusUndoContext *context; - g_return_if_fail (NAUTILUS_IS_UNDO_CONTEXT (object)); - context = NAUTILUS_UNDO_CONTEXT (object); NAUTILUS_CALL_PARENT_CLASS (GTK_OBJECT_CLASS, destroy, (object)); diff --git a/libnautilus/nautilus-undo-manager.c b/libnautilus/nautilus-undo-manager.c index 245d475b5..7da62f7cd 100644 --- a/libnautilus/nautilus-undo-manager.c +++ b/libnautilus/nautilus-undo-manager.c @@ -43,54 +43,48 @@ Nautilus_Undo_Manager global_undo_manager; enum { - UNDO_TRANSACTION_OCCURED, + UNDO_TRANSACTION_OCCURRED, LAST_SIGNAL }; static guint signals[LAST_SIGNAL]; - typedef struct { POA_Nautilus_Undo_Manager servant; - gpointer bonobo_object; - - NautilusUndoManager *gtk_object; + NautilusUndoManager *bonobo_object; } impl_POA_Nautilus_Undo_Manager; /* GtkObject */ -static void nautilus_undo_manager_initialize_class (NautilusUndoManagerClass *class); -static void nautilus_undo_manager_initialize (NautilusUndoManager *item); -static void destroy (GtkObject *object); - -static void free_undo_manager_list (GList *list); -static GList *prune_undo_manager_list (GList *list, int items); +static void nautilus_undo_manager_initialize_class (NautilusUndoManagerClass *class); +static void nautilus_undo_manager_initialize (NautilusUndoManager *item); +static void destroy (GtkObject *object); +static void free_undo_manager_list (GList *list); +static GList *prune_undo_manager_list (GList *list, + int items); /* CORBA/Bonobo */ -static void impl_Nautilus_Undo_Manager__append (impl_POA_Nautilus_Undo_Manager *servant, - const Nautilus_Undo_Transaction transaction, - CORBA_Environment *ev); -static void impl_Nautilus_Undo_Manager__forget (impl_POA_Nautilus_Undo_Manager *servant, - const Nautilus_Undo_Transaction transaction, - CORBA_Environment *ev); -static void impl_Nautilus_Undo_Manager__undo (impl_POA_Nautilus_Undo_Manager *servant, - CORBA_Environment *ev); - - -static void nautilus_undo_manager_add_transaction (NautilusUndoManager *manager, - Nautilus_Undo_Transaction transaction); -static void nautilus_undo_manager_undo (NautilusUndoManager *manager); +static void impl_Nautilus_Undo_Manager__append (PortableServer_Servant servant, + const Nautilus_Undo_Transaction transaction, + CORBA_Environment *ev); +static void impl_Nautilus_Undo_Manager__forget (PortableServer_Servant servant, + const Nautilus_Undo_Transaction transaction, + CORBA_Environment *ev); +static void impl_Nautilus_Undo_Manager__undo (PortableServer_Servant servant, + CORBA_Environment *ev); +static void nautilus_undo_manager_add_transaction (NautilusUndoManager *manager, + Nautilus_Undo_Transaction transaction); +static void nautilus_undo_manager_undo (NautilusUndoManager *manager); NAUTILUS_DEFINE_CLASS_BOILERPLATE(NautilusUndoManager, nautilus_undo_manager, BONOBO_OBJECT_TYPE) POA_Nautilus_Undo_Manager__epv libnautilus_Nautilus_Undo_Manager_epv = { NULL, /* _private */ - (gpointer) &impl_Nautilus_Undo_Manager__append, - (gpointer) &impl_Nautilus_Undo_Manager__forget, - (gpointer) &impl_Nautilus_Undo_Manager__undo, + &impl_Nautilus_Undo_Manager__append, + &impl_Nautilus_Undo_Manager__forget, + &impl_Nautilus_Undo_Manager__undo, }; -static PortableServer_ServantBase__epv base_epv = { NULL, NULL, NULL }; - +static PortableServer_ServantBase__epv base_epv; static POA_Nautilus_Undo_Manager__vepv impl_Nautilus_Undo_Manager_vepv = { &base_epv, @@ -98,17 +92,16 @@ static POA_Nautilus_Undo_Manager__vepv impl_Nautilus_Undo_Manager_vepv = &libnautilus_Nautilus_Undo_Manager_epv }; - static void -impl_Nautilus_Undo_Manager__destroy(BonoboObject *obj, impl_POA_Nautilus_Undo_Manager *servant) +impl_Nautilus_Undo_Manager__destroy (BonoboObject *obj, impl_POA_Nautilus_Undo_Manager *servant) { PortableServer_ObjectId *objid; CORBA_Environment ev; void (*servant_destroy_func) (PortableServer_Servant servant, CORBA_Environment *ev); - CORBA_exception_init(&ev); + CORBA_exception_init (&ev); - servant_destroy_func = NAUTILUS_UNDO_MANAGER_CLASS (GTK_OBJECT (servant->gtk_object)->klass)->servant_destroy_func; + servant_destroy_func = NAUTILUS_UNDO_MANAGER_CLASS (GTK_OBJECT (servant->bonobo_object)->klass)->servant_destroy_func; objid = PortableServer_POA_servant_to_id (bonobo_poa (), servant, &ev); PortableServer_POA_deactivate_object (bonobo_poa (), objid, &ev); CORBA_free (objid); @@ -116,7 +109,7 @@ impl_Nautilus_Undo_Manager__destroy(BonoboObject *obj, impl_POA_Nautilus_Undo_Ma servant_destroy_func ((PortableServer_Servant) servant, &ev); g_free (servant); - CORBA_exception_free(&ev); + CORBA_exception_free (&ev); } static Nautilus_Undo_Manager @@ -135,7 +128,7 @@ impl_Nautilus_Undo_Manager__create (NautilusUndoManager *manager, CORBA_Environm servant->servant.vepv->Bonobo_Unknown_epv = bonobo_object_get_epv (); servant_init_func ((PortableServer_Servant) servant, ev); - servant->gtk_object = manager; + servant->bonobo_object = manager; retval = bonobo_object_activate_servant (BONOBO_OBJECT (manager), servant); @@ -144,62 +137,58 @@ impl_Nautilus_Undo_Manager__create (NautilusUndoManager *manager, CORBA_Environm return retval; } - static void -impl_Nautilus_Undo_Manager__append (impl_POA_Nautilus_Undo_Manager *servant, +impl_Nautilus_Undo_Manager__append (PortableServer_Servant servant, const Nautilus_Undo_Transaction undo_transaction, CORBA_Environment *ev) { NautilusUndoManager *manager; - g_assert (NAUTILUS_IS_UNDO_MANAGER (servant->gtk_object)); - manager = NAUTILUS_UNDO_MANAGER (servant->gtk_object); + manager = ((impl_POA_Nautilus_Undo_Manager *) servant)->bonobo_object; + g_assert (NAUTILUS_IS_UNDO_MANAGER (manager)); Nautilus_Undo_Transaction_ref (undo_transaction, ev); nautilus_undo_manager_add_transaction (manager, undo_transaction); } static void -impl_Nautilus_Undo_Manager__forget (impl_POA_Nautilus_Undo_Manager *servant, +impl_Nautilus_Undo_Manager__forget (PortableServer_Servant servant, const Nautilus_Undo_Transaction transaction, CORBA_Environment *ev) { NautilusUndoManager *manager; - g_assert (NAUTILUS_IS_UNDO_MANAGER (servant->gtk_object)); - manager = NAUTILUS_UNDO_MANAGER (servant->gtk_object); + manager = ((impl_POA_Nautilus_Undo_Manager *) servant)->bonobo_object; + g_assert (NAUTILUS_IS_UNDO_MANAGER (manager)); + + /* FIXME: Need to implement this. */ } static void -impl_Nautilus_Undo_Manager__undo (impl_POA_Nautilus_Undo_Manager *servant, CORBA_Environment *ev) +impl_Nautilus_Undo_Manager__undo (PortableServer_Servant servant, + CORBA_Environment *ev) { NautilusUndoManager *manager; - g_assert (NAUTILUS_IS_UNDO_MANAGER (servant->gtk_object)); - manager = NAUTILUS_UNDO_MANAGER (servant->gtk_object); - + manager = ((impl_POA_Nautilus_Undo_Manager *) servant)->bonobo_object; + g_assert (NAUTILUS_IS_UNDO_MANAGER (manager)); + nautilus_undo_manager_undo (manager); } - -/* nautilus_undo_manager_new */ NautilusUndoManager * nautilus_undo_manager_new (void) { - NautilusUndoManager *manager; - - manager = gtk_type_new (nautilus_undo_manager_get_type ()); - - return manager; + return gtk_type_new (nautilus_undo_manager_get_type ()); } - /* Object initialization function for the NautilusUndoManager */ static void nautilus_undo_manager_initialize (NautilusUndoManager *manager) { - CORBA_Environment ev; - CORBA_exception_init(&ev); + CORBA_Environment ev; + + CORBA_exception_init (&ev); manager->details = g_new0 (NautilusUndoManagerDetails, 1); @@ -214,8 +203,8 @@ nautilus_undo_manager_initialize (NautilusUndoManager *manager) manager->details->queue_depth = 1; bonobo_object_construct (BONOBO_OBJECT (manager), impl_Nautilus_Undo_Manager__create (manager, &ev)); - - CORBA_exception_free(&ev); + + CORBA_exception_free (&ev); } @@ -234,7 +223,7 @@ nautilus_undo_manager_initialize_class (NautilusUndoManagerClass *klass) klass->vepv = &impl_Nautilus_Undo_Manager_vepv; /* Setup signals */ - signals[UNDO_TRANSACTION_OCCURED] + signals[UNDO_TRANSACTION_OCCURRED] = gtk_signal_new ("undo_transaction_occurred", GTK_RUN_LAST, object_class->type, @@ -246,8 +235,6 @@ nautilus_undo_manager_initialize_class (NautilusUndoManagerClass *klass) gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL); } - -/* nautilus_undo_manager_undo_last_transaction */ static void nautilus_undo_manager_undo (NautilusUndoManager *manager) { @@ -255,7 +242,7 @@ nautilus_undo_manager_undo (NautilusUndoManager *manager) CORBA_Object undo_transaction; CORBA_Environment ev; - CORBA_exception_init(&ev); + CORBA_exception_init (&ev); /* Verify we have a transaction to be undone */ if (manager->details->undo_list == NULL) { @@ -282,22 +269,22 @@ nautilus_undo_manager_undo (NautilusUndoManager *manager) } /* Fire off signal informing that an undo transaction has occurred */ - gtk_signal_emit (GTK_OBJECT (manager), signals[UNDO_TRANSACTION_OCCURED]); + gtk_signal_emit (GTK_OBJECT (manager), + signals[UNDO_TRANSACTION_OCCURRED]); - CORBA_exception_free(&ev); + CORBA_exception_free (&ev); } #if 0 -/* nautilus_undo_manager_redo_last_undone_transaction */ -static void +static void nautilus_undo_manager_redo (NautilusUndoManager *manager) -{ +{ GList *list; CORBA_Object redo_transaction; CORBA_Object undo_transaction; CORBA_Environment ev; - CORBA_exception_init(&ev); + CORBA_exception_init (&ev); /* Are we allowing redo operations? */ if (manager->details->enable_redo) { @@ -323,21 +310,21 @@ nautilus_undo_manager_redo (NautilusUndoManager *manager) Nautilus_Undo_Transaction_ref (undo_transaction, &ev); nautilus_undo_manager_add_transaction (manager, undo_transaction); - CORBA_exception_free(&ev); + CORBA_exception_free (&ev); } #endif -/* nautilus_undo_manager_add_undo_transaction */ static void -nautilus_undo_manager_add_transaction (NautilusUndoManager *manager, Nautilus_Undo_Transaction transaction) +nautilus_undo_manager_add_transaction (NautilusUndoManager *manager, + Nautilus_Undo_Transaction transaction) { int length; - g_return_if_fail (transaction != NULL); - + g_return_if_fail (NAUTILUS_IS_UNDO_MANAGER (manager)); + g_return_if_fail (transaction != CORBA_OBJECT_NIL); + /* Check and see if we are over our queue limit */ length = g_list_length (manager->details->undo_list); - if (length >= manager->details->queue_depth) { manager->details->undo_list = prune_undo_manager_list (manager->details->undo_list, @@ -348,7 +335,8 @@ nautilus_undo_manager_add_transaction (NautilusUndoManager *manager, Nautilus_Un manager->details->undo_list = g_list_append (manager->details->undo_list, transaction); /* Fire off signal informing that an undo transaction has occurred */ - gtk_signal_emit (GTK_OBJECT (manager), signals[UNDO_TRANSACTION_OCCURED]); + gtk_signal_emit (GTK_OBJECT (manager), + signals[UNDO_TRANSACTION_OCCURRED]); } /* nautilus_undo_manager_unregister_object @@ -356,7 +344,6 @@ nautilus_undo_manager_add_transaction (NautilusUndoManager *manager, Nautilus_Un * Remove any transaction with object as target from * the undo and redo queues */ - gboolean nautilus_undo_manager_unregister_object (GtkObject *object) { @@ -366,10 +353,10 @@ nautilus_undo_manager_unregister_object (GtkObject *object) GList *list; int index, length; Nautilus_Undo_Transaction transaction; -*/ CORBA_Environment ev; - CORBA_exception_init(&ev); + CORBA_exception_init (&ev); +*/ /* FIXME: We can't get a pointer to the actual undo manager, so this * needs to work through the CORBA interface to the undo manager. @@ -424,46 +411,33 @@ nautilus_undo_manager_unregister_object (GtkObject *object) if (success) { /* Fire off signal informing that a transaction has occurred */ - gtk_signal_emit (GTK_OBJECT (manager), signals[UNDO_TRANSACTION_OCCURED]); + gtk_signal_emit (GTK_OBJECT (manager), + signals[UNDO_TRANSACTION_OCCURRED]); } return success; } -/* nautilus_undo_manager_can_undo */ -gboolean +gboolean nautilus_undo_manager_can_undo (NautilusUndoManager *manager) { - if (manager != NULL) { - return (g_list_length (manager->details->undo_list) > 0); - } else { - return FALSE; - } + return manager != NULL + && manager->details->undo_list != NULL; } -/* nautilus_undo_manager_can_redo */ -gboolean +gboolean nautilus_undo_manager_can_redo (NautilusUndoManager *manager) { - if (manager->details->enable_redo) { - if (manager != NULL) { - return (g_list_length (manager->details->redo_list) > 0); - } else { - return FALSE; - } - } else { - return FALSE; - } + return manager != NULL + && manager->details->enable_redo + && manager->details->redo_list != NULL; } -/* destroy */ static void destroy (GtkObject *object) { NautilusUndoManager *manager; - g_return_if_fail (NAUTILUS_IS_UNDO_MANAGER (object)); - manager = NAUTILUS_UNDO_MANAGER (object); /* Clear lists */ @@ -477,40 +451,34 @@ destroy (GtkObject *object) * * Enable or disable redo functionality */ - void nautilus_undo_manager_enable_redo (NautilusUndoManager *manager, gboolean value) { - g_return_if_fail (manager != NULL); + g_return_if_fail (NAUTILUS_IS_UNDO_MANAGER (manager)); + g_return_if_fail (value == FALSE || value == TRUE); manager->details->enable_redo = value; /* Flush and free redo queue */ - g_list_free (manager->details->redo_list); + free_undo_manager_list (manager->details->redo_list); + manager->details->redo_list = NULL; } -/* nautilus_undo_manager_enable_redo - * - * Enable or disable redo functionality - */ void nautilus_undo_manager_set_queue_depth (NautilusUndoManager *manager, int depth) { int length; - /* Don't allow negative or zero queue depth */ - if (depth <= 0) { - g_warning ("NautilusUndoManager doesn not allow negative or zero length queue."); - return; - } + g_return_if_fail (NAUTILUS_IS_UNDO_MANAGER (manager)); + g_return_if_fail (depth > 0); manager->details->queue_depth = depth; - + /* Prune lists */ length = g_list_length (manager->details->undo_list); if (length > depth) { manager->details->undo_list = prune_undo_manager_list (manager->details->undo_list, - length - depth); + length - depth); } length = g_list_length (manager->details->redo_list); if (length > depth) { @@ -519,7 +487,8 @@ nautilus_undo_manager_set_queue_depth (NautilusUndoManager *manager, int depth) } /* Fire off signal informing that an undo transaction has occurred */ - gtk_signal_emit (GTK_OBJECT (manager), signals[UNDO_TRANSACTION_OCCURED]); + gtk_signal_emit (GTK_OBJECT (manager), + signals[UNDO_TRANSACTION_OCCURRED]); } /* free_undo_manager_list @@ -533,13 +502,13 @@ free_undo_manager_list (GList *list) Nautilus_Undo_Transaction transaction; CORBA_Environment ev; - CORBA_exception_init(&ev); + CORBA_exception_init (&ev); for (p = list; p != NULL; p = p->next) { transaction = p->data; Nautilus_Undo_Transaction_unref (transaction, &ev); } - CORBA_exception_free(&ev); + CORBA_exception_free (&ev); g_list_free (list); } @@ -665,7 +634,7 @@ nautilus_share_undo_manager (GtkObject *destination_object, nautilus_get_undo_manager (source_object)); } -/* Locates an undo manger for this bonobo control. +/* Locates an undo manager for this bonobo control. * The undo manager is supplied by an interface on * the control frame. The put that undo manager on * the Bonobo control's widget. |