aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/gal-view-collection.c
diff options
context:
space:
mode:
Diffstat (limited to 'e-util/gal-view-collection.c')
-rw-r--r--e-util/gal-view-collection.c19
1 files changed, 15 insertions, 4 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",