diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2013-07-03 03:43:03 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-07-06 04:40:49 +0800 |
commit | 57a3b819e1b849db7b2e76bcbad84bd551cdd55e (patch) | |
tree | 4084fff5f45bde552a798f49f4d234f5a0b7dd49 /e-util | |
parent | 3f5f362e0df717f2aaca8d21c3b3e180904a6897 (diff) | |
download | gsoc2013-evolution-57a3b819e1b849db7b2e76bcbad84bd551cdd55e.tar.gz gsoc2013-evolution-57a3b819e1b849db7b2e76bcbad84bd551cdd55e.tar.zst gsoc2013-evolution-57a3b819e1b849db7b2e76bcbad84bd551cdd55e.zip |
GalViewClass: Replace get_type_code() with "type_code" string.
All GalView subclasses return a static string in their get_type_code()
methods, so replace the method with a static string pointer directly in
the class structure, and remove the "type-code" GalView property.
Diffstat (limited to 'e-util')
-rw-r--r-- | e-util/gal-view-collection.c | 19 | ||||
-rw-r--r-- | e-util/gal-view-etable.c | 8 | ||||
-rw-r--r-- | e-util/gal-view-instance.c | 6 | ||||
-rw-r--r-- | e-util/gal-view.c | 39 | ||||
-rw-r--r-- | e-util/gal-view.h | 4 |
5 files changed, 24 insertions, 52 deletions
diff --git a/e-util/gal-view-collection.c b/e-util/gal-view-collection.c index 24d70a67b6..2a48f03513 100644 --- a/e-util/gal-view-collection.c +++ b/e-util/gal-view-collection.c @@ -642,16 +642,19 @@ gal_view_collection_append (GalViewCollection *collection, GalView *view) { GalViewCollectionItem *item; + GalViewClass *view_class; g_return_if_fail (GAL_IS_VIEW_COLLECTION (collection)); g_return_if_fail (GAL_IS_VIEW (view)); + view_class = GAL_VIEW_GET_CLASS (view); + item = g_new (GalViewCollectionItem, 1); item->ever_changed = TRUE; item->changed = TRUE; item->built_in = FALSE; item->title = g_strdup (gal_view_get_title (view)); - item->type = g_strdup (gal_view_get_type_code (view)); + item->type = g_strdup (view_class->type_code); item->id = gal_view_generate_id (collection, view); item->filename = g_strdup_printf ("%s.galview", item->id); item->view = view; @@ -701,18 +704,20 @@ gal_view_collection_copy_view (GalViewCollection *collection, { GalViewCollectionItem *item; GalView *view; + GalViewClass *view_class; g_return_if_fail (GAL_IS_VIEW_COLLECTION (collection)); g_return_if_fail (i >= 0 && i < collection->view_count); view = collection->view_data[i]->view; + view_class = GAL_VIEW_GET_CLASS (view); item = g_new (GalViewCollectionItem, 1); item->ever_changed = TRUE; item->changed = FALSE; item->built_in = FALSE; item->title = g_strdup (gal_view_get_title (view)); - item->type = g_strdup (gal_view_get_type_code (view)); + item->type = g_strdup (view_class->type_code); item->id = gal_view_generate_id (collection, view); item->filename = g_strdup_printf ("%s.galview", item->id); item->view = gal_view_clone (view); @@ -741,10 +746,13 @@ gal_view_collection_append_with_title (GalViewCollection *collection, GalView *view) { GalViewCollectionItem *item; + GalViewClass *view_class; g_return_val_if_fail (GAL_IS_VIEW_COLLECTION (collection), NULL); g_return_val_if_fail (GAL_IS_VIEW (view), NULL); + view_class = GAL_VIEW_GET_CLASS (view); + gal_view_set_title (view, title); d (g_print ("%s: %p\n", G_STRFUNC, view)); @@ -754,7 +762,7 @@ gal_view_collection_append_with_title (GalViewCollection *collection, item->changed = TRUE; item->built_in = FALSE; item->title = g_strdup (gal_view_get_title (view)); - item->type = g_strdup (gal_view_get_type_code (view)); + item->type = g_strdup (view_class->type_code); item->id = gal_view_generate_id (collection, view); item->filename = g_strdup_printf ("%s.galview", item->id); item->view = view; @@ -779,6 +787,7 @@ gal_view_collection_set_nth_view (GalViewCollection *collection, GalView *view) { GalViewCollectionItem *item; + GalViewClass *view_class; g_return_val_if_fail (GAL_IS_VIEW_COLLECTION (collection), NULL); g_return_val_if_fail (GAL_IS_VIEW (view), NULL); @@ -787,6 +796,8 @@ gal_view_collection_set_nth_view (GalViewCollection *collection, d (g_print ("%s: %p\n", G_STRFUNC, view)); + view_class = GAL_VIEW_GET_CLASS (view); + item = collection->view_data[i]; gal_view_set_title (view, item->title); @@ -801,7 +812,7 @@ gal_view_collection_set_nth_view (GalViewCollection *collection, item->ever_changed = TRUE; item->changed = TRUE; - item->type = g_strdup (gal_view_get_type_code (view)); + item->type = g_strdup (view_class->type_code); item->view_changed_id = g_signal_connect ( item->view, "changed", diff --git a/e-util/gal-view-etable.c b/e-util/gal-view-etable.c index 4efdc539c3..9d541489b8 100644 --- a/e-util/gal-view-etable.c +++ b/e-util/gal-view-etable.c @@ -100,12 +100,6 @@ gal_view_etable_save (GalView *view, } } -static const gchar * -gal_view_etable_get_type_code (GalView *view) -{ - return "etable"; -} - static GalView * gal_view_etable_clone (GalView *view) { @@ -158,9 +152,9 @@ gal_view_etable_class_init (GalViewEtableClass *class) object_class->finalize = gal_view_etable_finalize; gal_view_class = GAL_VIEW_CLASS (class); + gal_view_class->type_code = "etable"; gal_view_class->load = gal_view_etable_load; gal_view_class->save = gal_view_etable_save; - gal_view_class->get_type_code = gal_view_etable_get_type_code; gal_view_class->clone = gal_view_etable_clone; } diff --git a/e-util/gal-view-instance.c b/e-util/gal-view-instance.c index 32f8a5fd26..3eac358515 100644 --- a/e-util/gal-view-instance.c +++ b/e-util/gal-view-instance.c @@ -139,12 +139,16 @@ static void connect_view (GalViewInstance *instance, GalView *view) { + GalViewClass *view_class; + if (instance->current_view) disconnect_view (instance); instance->current_view = g_object_ref (view); + view_class = GAL_VIEW_GET_CLASS (view); + instance->current_title = g_strdup (gal_view_get_title (view)); - instance->current_type = g_strdup (gal_view_get_type_code (view)); + instance->current_type = g_strdup (view_class->type_code); instance->view_changed_id = g_signal_connect ( instance->current_view, "changed", G_CALLBACK (view_changed), instance); diff --git a/e-util/gal-view.c b/e-util/gal-view.c index 7b3743af72..5e13f4cdc2 100644 --- a/e-util/gal-view.c +++ b/e-util/gal-view.c @@ -28,8 +28,7 @@ struct _GalViewPrivate { enum { PROP_0, - PROP_TITLE, - PROP_TYPE_CODE + PROP_TITLE }; enum { @@ -70,12 +69,6 @@ view_get_property (GObject *object, value, gal_view_get_title ( GAL_VIEW (object))); return; - - case PROP_TYPE_CODE: - g_value_set_string ( - value, gal_view_get_type_code ( - GAL_VIEW (object))); - return; } G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -145,17 +138,6 @@ gal_view_class_init (GalViewClass *class) G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - g_object_class_install_property ( - object_class, - PROP_TYPE_CODE, - g_param_spec_string ( - "type-code", - NULL, - NULL, - NULL, - G_PARAM_READABLE | - G_PARAM_STATIC_STRINGS)); - signals[CHANGED] = g_signal_new ( "changed", G_OBJECT_CLASS_TYPE (object_class), @@ -247,25 +229,6 @@ gal_view_set_title (GalView *view, } /** - * gal_view_get_type_code - * @view: The view to get. - * - * Returns: The type of the view. - */ -const gchar * -gal_view_get_type_code (GalView *view) -{ - GalViewClass *class; - - g_return_val_if_fail (GAL_IS_VIEW (view), NULL); - - class = GAL_VIEW_GET_CLASS (view); - g_return_val_if_fail (class->get_type_code != NULL, NULL); - - return class->get_type_code (view); -} - -/** * gal_view_clone * @view: The view to clone. * diff --git a/e-util/gal-view.h b/e-util/gal-view.h index 94f89b989e..d07d8cae79 100644 --- a/e-util/gal-view.h +++ b/e-util/gal-view.h @@ -58,12 +58,13 @@ struct _GalView { struct _GalViewClass { GObjectClass parent_class; + const gchar *type_code; + /* Methods */ void (*load) (GalView *view, const gchar *filename); void (*save) (GalView *view, const gchar *filename); - const gchar * (*get_type_code) (GalView *view); GalView * (*clone) (GalView *view); /* Signals */ @@ -78,7 +79,6 @@ void gal_view_save (GalView *view, const gchar * gal_view_get_title (GalView *view); void gal_view_set_title (GalView *view, const gchar *title); -const gchar * gal_view_get_type_code (GalView *view); GalView * gal_view_clone (GalView *view); void gal_view_changed (GalView *view); |