aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2002-06-04 20:19:33 +0800
committerChris Lahey <clahey@src.gnome.org>2002-06-04 20:19:33 +0800
commit5127b10e8b374739b456a83292235c7f024b928f (patch)
treed068b6b08ddb72e03afc22402e36e21b57445bfc
parent01ff3aebd2bd3759633744863848b360554b0366 (diff)
downloadgsoc2013-evolution-5127b10e8b374739b456a83292235c7f024b928f.tar.gz
gsoc2013-evolution-5127b10e8b374739b456a83292235c7f024b928f.tar.zst
gsoc2013-evolution-5127b10e8b374739b456a83292235c7f024b928f.zip
Added this function to set the user visible name of this collection.
2002-06-04 Christopher James Lahey <clahey@ximian.com> * gal-view-collection.c, gal-view-collection.h (gal_view_collection_set_title): Added this function to set the user visible name of this collection. * gal-define-views-dialog.c (gal_define_views_dialog_init): Set the Define Views for %s label. Fixes Ximian bug #2100 and #4080. svn path=/trunk/; revision=17100
-rw-r--r--widgets/menus/gal-define-views-dialog.c19
-rw-r--r--widgets/menus/gal-define-views.glade2
-rw-r--r--widgets/menus/gal-view-collection.c22
-rw-r--r--widgets/menus/gal-view-collection.h6
4 files changed, 45 insertions, 4 deletions
diff --git a/widgets/menus/gal-define-views-dialog.c b/widgets/menus/gal-define-views-dialog.c
index 8d8c903de8..750d3c35c6 100644
--- a/widgets/menus/gal-define-views-dialog.c
+++ b/widgets/menus/gal-define-views-dialog.c
@@ -224,7 +224,7 @@ gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
dialog->collection = NULL;
- gui = glade_xml_new_with_domain (GAL_GLADEDIR "/gal-define-views.glade", NULL, PACKAGE);
+ gui = glade_xml_new_with_domain (GAL_GLADEDIR "/gal-define-views.glade", NULL, E_I18N_DOMAIN);
dialog->gui = gui;
widget = glade_xml_get_widget(gui, "table-top");
@@ -254,7 +254,7 @@ gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
"collection", dialog->collection,
NULL);
}
-
+
gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, TRUE, FALSE);
}
@@ -279,6 +279,21 @@ gal_define_views_dialog_set_collection(GalDefineViewsDialog *dialog,
"collection", collection,
NULL);
}
+ if (dialog->gui) {
+ GtkWidget *widget = glade_xml_get_widget(dialog->gui, "label-views");
+ if (widget && GTK_IS_LABEL (widget)) {
+ if (collection->title) {
+ char *text = g_strdup_printf (_("Define Views for %s"),
+ collection->title);
+ gtk_label_set_text (GTK_LABEL (widget),
+ text);
+ g_free (text);
+ } else {
+ gtk_label_set_text (GTK_LABEL (widget),
+ _("Define Views"));
+ }
+ }
+ }
}
/**
diff --git a/widgets/menus/gal-define-views.glade b/widgets/menus/gal-define-views.glade
index b393d97d2e..72eac5764b 100644
--- a/widgets/menus/gal-define-views.glade
+++ b/widgets/menus/gal-define-views.glade
@@ -282,7 +282,7 @@
<widget>
<class>GtkLabel</class>
<name>label-views</name>
- <label>Views for &quot;%s&quot;</label>
+ <label>Define Views for %s</label>
<justify>GTK_JUSTIFY_LEFT</justify>
<wrap>False</wrap>
<xalign>0</xalign>
diff --git a/widgets/menus/gal-view-collection.c b/widgets/menus/gal-view-collection.c
index 290c28f688..675c926bc1 100644
--- a/widgets/menus/gal-view-collection.c
+++ b/widgets/menus/gal-view-collection.c
@@ -159,17 +159,29 @@ gal_view_collection_destroy (GtkObject *object)
gal_view_collection_item_free (collection->view_data[i]);
}
g_free(collection->view_data);
+ collection->view_count = 0;
+ collection->view_data = NULL;
+
e_free_object_list(collection->factory_list);
+ collection->factory_list = NULL;
for (i = 0; i < collection->removed_view_count; i++) {
gal_view_collection_item_free (collection->removed_view_data[i]);
}
g_free(collection->removed_view_data);
+ collection->removed_view_count = 0;
+ collection->removed_view_data = NULL;
g_free(collection->system_dir);
g_free(collection->local_dir);
+ collection->system_dir = NULL;
+ collection->local_dir = NULL;
g_free (collection->default_view);
+ collection->default_view = NULL;
+
+ g_free (collection->title);
+ collection->title = NULL;
if (gal_view_collection_parent_class->destroy)
(*gal_view_collection_parent_class->destroy)(object);
@@ -221,6 +233,8 @@ gal_view_collection_init (GalViewCollection *collection)
collection->loaded = FALSE;
collection->default_view = NULL;
collection->default_view_built_in = TRUE;
+
+ collection->title = NULL;
}
/**
@@ -263,6 +277,14 @@ gal_view_collection_new (void)
return gtk_type_new(gal_view_collection_get_type());
}
+void
+gal_view_collection_set_title (GalViewCollection *collection,
+ const char *title)
+{
+ g_free (collection->title);
+ collection->title = g_strdup (title);
+}
+
/**
* gal_view_collection_set_storage_directories
* @collection: The view collection to initialize
diff --git a/widgets/menus/gal-view-collection.h b/widgets/menus/gal-view-collection.h
index 89501cda4c..68e7cae4b7 100644
--- a/widgets/menus/gal-view-collection.h
+++ b/widgets/menus/gal-view-collection.h
@@ -57,6 +57,8 @@ typedef struct {
char *local_dir;
char *default_view;
+
+ char *title;
} GalViewCollection;
typedef struct {
@@ -87,7 +89,9 @@ struct GalViewCollectionItem {
GtkType gal_view_collection_get_type (void);
GalViewCollection *gal_view_collection_new (void);
-/* Set up the view collection. Call these three functions before ever doing load or save and never call them again. */
+void gal_view_collection_set_title (GalViewCollection *collection,
+ const char *title);
+/* Set up the view collection. Call these two functions before ever doing load or save and never call them again. */
void gal_view_collection_set_storage_directories (GalViewCollection *collection,
const char *system_dir,
const char *local_dir);