From 724acba1d825fae2bab90b9a49102c2d0889b62a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 14 Sep 2010 20:35:51 -0600 Subject: [PATCH] Tweaks to jacket page and new ratings icon --- imgsrc/rating.svg | 589 ++++++++++++++++++++ resources/images/rating.png | Bin 0 -> 10827 bytes resources/images/star.png | Bin 1737 -> 0 bytes src/calibre/ebooks/oeb/transforms/jacket.py | 49 +- src/calibre/gui2/tag_view.py | 2 +- 5 files changed, 609 insertions(+), 31 deletions(-) create mode 100644 imgsrc/rating.svg create mode 100644 resources/images/rating.png delete mode 100644 resources/images/star.png diff --git a/imgsrc/rating.svg b/imgsrc/rating.svg new file mode 100644 index 0000000000..d289c71b99 --- /dev/null +++ b/imgsrc/rating.svg @@ -0,0 +1,589 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/images/rating.png b/resources/images/rating.png new file mode 100644 index 0000000000000000000000000000000000000000..81eba505b98a64f8447aa7e7e88975d612518c3a GIT binary patch literal 10827 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'% - href, int(num))) - else: - ans = u' '.join(u'\u2605') + ans = u'\u2605' * int(num) return ans -def render_jacket(mi, output_profile, star_href=None, +def render_jacket(mi, output_profile, alt_title=_('Unknown'), alt_tags=[], alt_comments=''): css = P('jacket/stylesheet.css', data=True).decode('utf-8') @@ -139,7 +129,7 @@ def render_jacket(mi, output_profile, star_href=None, except: pubdate = '' - rating = get_rating(mi.rating, star_href) + rating = get_rating(mi.rating) tags = mi.tags if mi.tags else alt_tags if tags: @@ -153,8 +143,6 @@ def render_jacket(mi, output_profile, star_href=None, if comments: comments = comments_to_html(comments) - footer = 'BOOK JACKET GENERATED BY %s %s' % (__appname__.upper(),__version__) - def generate_html(comments): args = dict(xmlns=XHTML_NS, title_str=title_str, @@ -165,7 +153,8 @@ def render_jacket(mi, output_profile, star_href=None, rating_label=_('Rating'), rating=rating, tags_label=_('Tags'), tags=tags, comments=comments, - footer = footer) + footer='' + ) generated_html = P('jacket/template.xhtml', data=True).decode('utf-8').format(**args) diff --git a/src/calibre/gui2/tag_view.py b/src/calibre/gui2/tag_view.py index 519d533ff6..6c50a71b92 100644 --- a/src/calibre/gui2/tag_view.py +++ b/src/calibre/gui2/tag_view.py @@ -376,7 +376,7 @@ class TagsModel(QAbstractItemModel): # {{{ 'series' : QIcon(I('series.png')), 'formats' : QIcon(I('book.png')), 'publisher' : QIcon(I('publisher.png')), - 'rating' : QIcon(I('star.png')), + 'rating' : QIcon(I('rating.png')), 'news' : QIcon(I('news.png')), 'tags' : QIcon(I('tags.png')), ':custom' : QIcon(I('column.png')),