X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2Fui%2FGuiReaderBookInfo.java;h=3c5cc8a22ea20daec39f79452a357702c8c9057b;hb=741e846789c07ef6ddbfb0e9de1c7f4664d41ad5;hp=23d4c3160169e0244a1070720d376fc0aba06ab6;hpb=5bc9573be46f09ac92207e104915bd5babbd6d63;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/reader/ui/GuiReaderBookInfo.java b/src/be/nikiroo/fanfix/reader/ui/GuiReaderBookInfo.java index 23d4c31..3c5cc8a 100644 --- a/src/be/nikiroo/fanfix/reader/ui/GuiReaderBookInfo.java +++ b/src/be/nikiroo/fanfix/reader/ui/GuiReaderBookInfo.java @@ -5,6 +5,7 @@ import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.fanfix.data.Story; import be.nikiroo.fanfix.library.BasicLibrary; import be.nikiroo.utils.Image; +import be.nikiroo.utils.StringUtils; /** * Some meta information related to a "book" (which can either be a @@ -126,7 +127,15 @@ public class GuiReaderBookInfo { public Image getBaseImage(BasicLibrary lib) { switch (type) { case STORY: - return lib.getCover(meta.getLuid()); + if (meta.getCover() != null) { + return meta.getCover(); + } + + if (meta.getLuid() != null) { + return lib.getCover(meta.getLuid()); + } + + return null; case SOURCE: return lib.getSourceCover(value); case AUTHOR: @@ -149,12 +158,15 @@ public class GuiReaderBookInfo { if (uid == null || uid.trim().isEmpty()) { uid = meta.getLuid(); } + if (uid == null || uid.trim().isEmpty()) { + uid = meta.getUrl(); + } GuiReaderBookInfo info = new GuiReaderBookInfo(Type.STORY, uid, meta.getTitle()); info.meta = meta; - info.count = formatNumber(meta.getWords()); + info.count = StringUtils.formatNumber(meta.getWords()); if (!info.count.isEmpty()) { info.count = GuiReader.trans( meta.isImageDocument() ? StringIdGui.BOOK_COUNT_IMAGES @@ -179,7 +191,8 @@ public class GuiReaderBookInfo { GuiReaderBookInfo info = new GuiReaderBookInfo(Type.SOURCE, "source_" + source, source); - info.count = formatNumber(lib.getListBySource(source).size()); + info.count = StringUtils.formatNumber(lib.getListBySource(source) + .size()); if (!info.count.isEmpty()) { info.count = GuiReader.trans(StringIdGui.BOOK_COUNT_STORIES, info.count); @@ -203,7 +216,8 @@ public class GuiReaderBookInfo { GuiReaderBookInfo info = new GuiReaderBookInfo(Type.AUTHOR, "author_" + author, author); - info.count = formatNumber(lib.getListByAuthor(author).size()); + info.count = StringUtils.formatNumber(lib.getListByAuthor(author) + .size()); if (!info.count.isEmpty()) { info.count = GuiReader.trans(StringIdGui.BOOK_COUNT_STORIES, info.count); @@ -211,26 +225,4 @@ public class GuiReaderBookInfo { return info; } - - /** - * Format a number for display (use the "k" notation if higher or equal to - * 4000). - * - * @param number - * the number to parse - * - * @return the displayable version of the number - */ - static private String formatNumber(long number) { - String displayNumber; - if (number >= 4000) { - displayNumber = "" + (number / 1000) + "k"; - } else if (number > 0) { - displayNumber = "" + number; - } else { - displayNumber = ""; - } - - return displayNumber; - } }