summaryrefslogtreecommitdiff
path: root/capplets/appearance
diff options
context:
space:
mode:
Diffstat (limited to 'capplets/appearance')
-rw-r--r--capplets/appearance/appearance-style.c4
-rw-r--r--capplets/appearance/mate-wp-item.c21
-rw-r--r--capplets/appearance/mate-wp-item.h3
-rw-r--r--capplets/appearance/mate-wp-xml.c16
4 files changed, 37 insertions, 7 deletions
diff --git a/capplets/appearance/appearance-style.c b/capplets/appearance/appearance-style.c
index 5ebd9523..ec9f916a 100644
--- a/capplets/appearance/appearance-style.c
+++ b/capplets/appearance/appearance-style.c
@@ -982,7 +982,7 @@ prepare_list (AppearanceData *data, GtkWidget *list, ThemeType type, GCallback c
/* select in treeview the theme set in gsettings */
GtkTreeModel *treemodel;
- treemodel = gtk_tree_view_get_model (list);
+ treemodel = gtk_tree_view_get_model (GTK_TREE_VIEW (list));
gchar *theme = g_settings_get_string (settings, key);
gchar *path = find_string_in_model (treemodel, theme, COL_NAME);
if (path)
@@ -990,7 +990,7 @@ prepare_list (AppearanceData *data, GtkWidget *list, ThemeType type, GCallback c
GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (list));
GtkTreePath *treepath = gtk_tree_path_new_from_string (path);
gtk_tree_selection_select_path (selection, treepath);
- gtk_tree_view_scroll_to_cell (list, treepath, NULL, FALSE, 0, 0);
+ gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (list), treepath, NULL, FALSE, 0, 0);
gtk_tree_path_free (treepath);
g_free (path);
}
diff --git a/capplets/appearance/mate-wp-item.c b/capplets/appearance/mate-wp-item.c
index d11fa896..96e7d67a 100644
--- a/capplets/appearance/mate-wp-item.c
+++ b/capplets/appearance/mate-wp-item.c
@@ -279,10 +279,16 @@ void mate_wp_item_update_description (MateWPItem * item) {
const gchar *description;
gchar *size;
gchar *dirname = g_path_get_dirname (item->filename);
+ gchar *artist;
description = NULL;
size = NULL;
+ if (!item->artist || item->artist[0] == 0 || !g_strcmp0(item->artist, "(none)"))
+ artist = g_strdup (_("unknown"));
+ else
+ artist = g_strdup (item->artist);
+
if (strcmp (item->fileinfo->mime_type, "application/xml") == 0)
{
if (mate_bg_changes_with_time (item->bg))
@@ -308,28 +314,35 @@ void mate_wp_item_update_description (MateWPItem * item) {
/* translators: <b>wallpaper name</b>
* mime type, size
* Folder: /path/to/file
+ * Artist: wallpaper author
*/
item->description = g_markup_printf_escaped (_("<b>%s</b>\n"
"%s, %s\n"
- "Folder: %s"),
+ "Folder: %s\n"
+ "Artist: %s"),
item->name,
description,
size,
- dirname);
+ dirname,
+ artist);
} else {
/* translators: <b>wallpaper name</b>
* Image missing
* Folder: /path/to/file
+ * Artist: wallpaper author
*/
item->description = g_markup_printf_escaped (_("<b>%s</b>\n"
"%s\n"
- "Folder: %s"),
+ "Folder: %s\n"
+ "Artist: %s"),
item->name,
_("Image missing"),
- dirname);
+ dirname,
+ artist);
}
g_free (size);
g_free (dirname);
+ g_free (artist);
}
}
diff --git a/capplets/appearance/mate-wp-item.h b/capplets/appearance/mate-wp-item.h
index a6e13f24..5e336d53 100644
--- a/capplets/appearance/mate-wp-item.h
+++ b/capplets/appearance/mate-wp-item.h
@@ -53,6 +53,9 @@ struct _MateWPItem {
/* Did the user remove us? */
gboolean deleted;
+ /* Wallpaper author, if present */
+ gchar *artist;
+
/* Width and Height of the original image */
gint width;
gint height;
diff --git a/capplets/appearance/mate-wp-xml.c b/capplets/appearance/mate-wp-xml.c
index d6b0c71d..11e19235 100644
--- a/capplets/appearance/mate-wp-xml.c
+++ b/capplets/appearance/mate-wp-xml.c
@@ -145,7 +145,7 @@ static void mate_wp_xml_load_xml(AppearanceData* data, const char* filename)
{
MateWPItem * wp;
char *pcolor = NULL, *scolor = NULL;
- gboolean have_scale = FALSE, have_shade = FALSE;
+ gboolean have_scale = FALSE, have_shade = FALSE, have_artist = FALSE;
wp = g_new0(MateWPItem, 1);
@@ -242,6 +242,14 @@ static void mate_wp_xml_load_xml(AppearanceData* data, const char* filename)
scolor = g_strdup(g_strstrip ((char *)wpa->last->content));
}
}
+ else if (!strcmp ((char*) wpa->name, "artist"))
+ {
+ if (wpa->last != NULL)
+ {
+ wp->artist = g_strdup (g_strstrip ((char *)wpa->last->content));
+ have_artist = TRUE;
+ }
+ }
else if (!strcmp ((char*) wpa->name, "text"))
{
/* Do nothing here, libxml2 is being weird */
@@ -283,6 +291,11 @@ static void mate_wp_xml_load_xml(AppearanceData* data, const char* filename)
scolor = g_settings_get_string (data->wp_settings, WP_SCOLOR_KEY);
}
+ if (!have_artist)
+ {
+ wp->artist = g_strdup ("(none)");
+ }
+
gdk_color_parse(pcolor, &color1);
gdk_color_parse(scolor, &color2);
g_free(pcolor);
@@ -541,6 +554,7 @@ void mate_wp_xml_save_list(AppearanceData* data)
xmlNewTextChild(wallpaper, NULL, (xmlChar*) "shade_type", (xmlChar*) shade);
xmlNewTextChild(wallpaper, NULL, (xmlChar*) "pcolor", (xmlChar*) pcolor);
xmlNewTextChild(wallpaper, NULL, (xmlChar*) "scolor", (xmlChar*) scolor);
+ xmlNewTextChild(wallpaper, NULL, (xmlChar*) "artist", (xmlChar*) wpitem->artist);
g_free(pcolor);
g_free(scolor);