On Thu, 2010-09-16 at 11:50 +0200, Martin Sourada wrote: > Hi, > > we, at the design team, are searching for a way to add attribution to > wallpapers. We'd like to display it in the tooltip that appears in when > you hoover over an wallpaper in backgrounds chooser in a similar format > that KDE does it, e.g. > > <b><wallpaper name></b> > Author: <author name> > <basic image info> > Folder: <path to where the image is> > > As you see, it only adds the 'Author:' line to what already is there. Is > there some way to do it currently, or would we need to write a patch to > background chooser? > > Plus, is there any place where I can get the DTD file that's used as > DOCTYPE in all XMLs in /usr/share/gnome-background-properties: > <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd"> > > I cannot find it anywhere (hence the reason why I ask if there already > IS a way)... Just FYI, I attach a (quick) patch that does this. Martin
diff -up gnome-control-center-2.31.91/capplets/appearance/gnome-wp-item.c.attribution gnome-control-center-2.31.91/capplets/appearance/gnome-wp-item.c --- gnome-control-center-2.31.91/capplets/appearance/gnome-wp-item.c.attribution 2010-03-29 16:22:56.000000000 +0200 +++ gnome-control-center-2.31.91/capplets/appearance/gnome-wp-item.c 2010-09-23 13:26:05.000000000 +0200 @@ -278,27 +278,51 @@ void gnome_wp_item_update_description (G if (description && size) { /* translators: <b>wallpaper name</b> + * Author: author * mime type, size * Folder: /path/to/file */ - item->description = g_markup_printf_escaped (_("<b>%s</b>\n" - "%s, %s\n" - "Folder: %s"), - item->name, - description, - size, - dirname); + if (item->author) + item->description = g_markup_printf_escaped (_("<b>%s</b>\n" + "Author: %s\n" + "%s, %s\n" + "Folder: %s"), + item->name, + item->author, + description, + size, + dirname); + else + item->description = g_markup_printf_escaped (_("<b>%s</b>\n" + "%s, %s\n" + "Folder: %s"), + item->name, + description, + size, + dirname); + } else { /* translators: <b>wallpaper name</b> + * Author: author * Image missing * Folder: /path/to/file */ - item->description = g_markup_printf_escaped (_("<b>%s</b>\n" - "%s\n" - "Folder: %s"), - item->name, - _("Image missing"), - dirname); + if (item->author) + item->description = g_markup_printf_escaped (_("<b>%s</b>\n" + "Author: %s\n" + "%s\n" + "Folder: %s"), + item->name, + item->author, + _("Image missing"), + dirname); + else + item->description = g_markup_printf_escaped (_("<b>%s</b>\n" + "%s\n" + "Folder: %s"), + item->name, + _("Image missing"), + dirname); } g_free (size); diff -up gnome-control-center-2.31.91/capplets/appearance/gnome-wp-item.h.attribution gnome-control-center-2.31.91/capplets/appearance/gnome-wp-item.h --- gnome-control-center-2.31.91/capplets/appearance/gnome-wp-item.h.attribution 2010-01-26 09:46:31.000000000 +0100 +++ gnome-control-center-2.31.91/capplets/appearance/gnome-wp-item.h 2010-09-23 13:20:15.000000000 +0200 @@ -43,6 +43,7 @@ struct _GnomeWPItem { GnomeBG *bg; gchar * name; + gchar * author; gchar * filename; gchar * description; GnomeBGPlacement options; diff -up gnome-control-center-2.31.91/capplets/appearance/gnome-wp-xml.c.attribution gnome-control-center-2.31.91/capplets/appearance/gnome-wp-xml.c --- gnome-control-center-2.31.91/capplets/appearance/gnome-wp-xml.c.attribution 2009-09-07 13:19:06.000000000 +0200 +++ gnome-control-center-2.31.91/capplets/appearance/gnome-wp-xml.c 2010-09-23 13:20:55.000000000 +0200 @@ -163,6 +163,26 @@ static void gnome_wp_xml_load_xml (Appea } else { break; } + } else if (!strcmp ((gchar *)wpa->name, "author")) { + if (wpa->last != NULL && wpa->last->content != NULL) { + nodelang = xmlNodeGetLang (wpa->last); + + if (wp->author == NULL && nodelang == NULL) { + wp->author = g_strdup (g_strstrip ((gchar *)wpa->last->content)); + } else { + for (i = 0; syslangs[i] != NULL; i++) { + if (!strcmp (syslangs[i], (gchar *)nodelang)) { + g_free (wp->author); + wp->author = g_strdup (g_strstrip ((gchar *)wpa->last->content)); + break; + } + } + } + + xmlFree (nodelang); + } else { + break; + } } else if (!strcmp ((gchar *)wpa->name, "options")) { if (wpa->last != NULL) { wp->options = wp_item_string_to_option (g_strstrip ((gchar *)wpa->last->content));
Attachment:
signature.asc
Description: This is a digitally signed message part
-- desktop mailing list desktop@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/desktop