summaryrefslogtreecommitdiff
path: root/capplets
diff options
context:
space:
mode:
authorAndrew Sobala <aes@gnome.org>2003-03-27 20:51:43 +0000
committerAndrew Sobala <aes@src.gnome.org>2003-03-27 20:51:43 +0000
commit44966951d18779e3769b577e0d86e125d3f2a7c1 (patch)
tree408818b3e8dd1722fbc4f8fd6dee121ea1fbb5a5 /capplets
parentfca5c0b43bc464d300735e95c5329bcccb52e0af (diff)
downloadgnome-control-center-44966951d18779e3769b577e0d86e125d3f2a7c1.tar.gz
s/read_meta_theme/gnome_theme_read_meta_theme/; enable the reading of
2003-03-27 Andrew Sobala <aes@gnome.org> * gnome-theme-info.c: (gnome_theme_read_meta_theme), (update_common_theme_dir_index): s/read_meta_theme/gnome_theme_read_meta_theme/; enable the reading of themes that just use [X-GNOME-Metatheme] without pretending to be a .desktop file * gnome-theme-info.h: exposed gnome_theme_read_meta_theme
Diffstat (limited to 'capplets')
-rw-r--r--capplets/common/ChangeLog9
-rw-r--r--capplets/common/gnome-theme-info.c33
-rw-r--r--capplets/common/gnome-theme-info.h3
3 files changed, 32 insertions, 13 deletions
diff --git a/capplets/common/ChangeLog b/capplets/common/ChangeLog
index 17b243bd2..4e37485b1 100644
--- a/capplets/common/ChangeLog
+++ b/capplets/common/ChangeLog
@@ -1,3 +1,12 @@
+2003-03-27 Andrew Sobala <aes@gnome.org>
+
+ * gnome-theme-info.c: (gnome_theme_read_meta_theme),
+ (update_common_theme_dir_index):
+ s/read_meta_theme/gnome_theme_read_meta_theme/; enable the reading of
+ themes that just use [X-GNOME-Metatheme] without pretending to be a
+ .desktop file
+ * gnome-theme-info.h: exposed gnome_theme_read_meta_theme
+
Tue Feb 4 17:09:18 2003 Jonathan Blandford <jrb@redhat.com>
* Release 2.2.0.1
diff --git a/capplets/common/gnome-theme-info.c b/capplets/common/gnome-theme-info.c
index 0e3d518ad..aa57b85c0 100644
--- a/capplets/common/gnome-theme-info.c
+++ b/capplets/common/gnome-theme-info.c
@@ -7,6 +7,8 @@
#include <libgnome/gnome-desktop-item.h>
#include "gnome-theme-info.h"
+#define THEME_NAME "X-GNOME-Metatheme/Name"
+#define THEME_COMMENT "X-GNOME-Metatheme/Comment"
#define GTK_THEME_KEY "X-GNOME-Metatheme/GtkTheme"
#define METACITY_THEME_KEY "X-GNOME-Metatheme/MetacityTheme"
#define SAWFISH_THEME_KEY "X-GNOME-Metatheme/SawfishTheme"
@@ -87,7 +89,7 @@ static void remove_data_from_hash_by_name (GHashTable
static gpointer get_data_from_hash_by_name (GHashTable *hash_table,
const gchar *name,
gint priority);
-static GnomeThemeMetaInfo *read_meta_theme (GnomeVFSURI *meta_theme_uri);
+
static GnomeThemeIconInfo *read_icon_theme (GnomeVFSURI *icon_theme_uri);
static void handle_change_signal (GnomeThemeType type,
gpointer theme,
@@ -294,8 +296,8 @@ get_data_from_hash_by_name (GHashTable *hash_table,
return NULL;
}
-static GnomeThemeMetaInfo *
-read_meta_theme (GnomeVFSURI *meta_theme_uri)
+GnomeThemeMetaInfo *
+gnome_theme_read_meta_theme (GnomeVFSURI *meta_theme_uri)
{
GnomeThemeMetaInfo *meta_theme_info;
GnomeVFSURI *common_theme_dir_uri;
@@ -316,16 +318,23 @@ read_meta_theme (GnomeVFSURI *meta_theme_uri)
meta_theme_info->path = meta_theme_file;
meta_theme_info->name = gnome_vfs_uri_extract_short_name (common_theme_dir_uri);
gnome_vfs_uri_unref (common_theme_dir_uri);
-
- str = gnome_desktop_item_get_localestring (meta_theme_ditem, GNOME_DESKTOP_ITEM_NAME);
- if (str == NULL)
- {
- gnome_theme_meta_info_free (meta_theme_info);
- return NULL;
- }
+ str = gnome_desktop_item_get_localestring (meta_theme_ditem, THEME_NAME);
+
+ if (!str)
+ {
+ str = gnome_desktop_item_get_localestring (meta_theme_ditem, GNOME_DESKTOP_ITEM_NAME);
+ if (!str) /* shouldn't reach */
+ {
+ gnome_theme_meta_info_free (meta_theme_info);
+ return NULL;
+ }
+ }
+
meta_theme_info->readable_name = g_strdup (str);
- str = gnome_desktop_item_get_localestring (meta_theme_ditem, GNOME_DESKTOP_ITEM_COMMENT);
+ str = gnome_desktop_item_get_localestring (meta_theme_ditem, THEME_COMMENT);
+ if (str == NULL)
+ str = gnome_desktop_item_get_localestring (meta_theme_ditem, GNOME_DESKTOP_ITEM_COMMENT);
if (str != NULL)
meta_theme_info->comment = g_strdup (str);
@@ -641,7 +650,7 @@ update_common_theme_dir_index (GnomeVFSURI *theme_index_uri,
}
else
{
- theme_info = read_meta_theme (theme_index_uri);
+ theme_info = gnome_theme_read_meta_theme (theme_index_uri);
if (theme_info)
{
((GnomeThemeMetaInfo *) theme_info)->priority = priority;
diff --git a/capplets/common/gnome-theme-info.h b/capplets/common/gnome-theme-info.h
index d0228e36b..c9e20ecf6 100644
--- a/capplets/common/gnome-theme-info.h
+++ b/capplets/common/gnome-theme-info.h
@@ -27,6 +27,7 @@
#define GNOME_THEME_INFO_H
#include <glib.h>
+#include <libgnomevfs/gnome-vfs.h>
typedef enum {
@@ -117,7 +118,7 @@ GnomeThemeMetaInfo *gnome_theme_meta_info_find_by_uri (const char *
GList *gnome_theme_meta_info_find_all (void);
gint gnome_theme_meta_info_compare (GnomeThemeMetaInfo *a,
GnomeThemeMetaInfo *b);
-
+GnomeThemeMetaInfo *gnome_theme_read_meta_theme (GnomeVFSURI *meta_theme_uri);
/* Other */
void gnome_theme_init (gboolean *monitor_not_added);