X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2FLocalReaderBook.java;h=c716bd3aa47d75f3d3171aaf3d07f261c154bbad;hb=10d558d2429c984327f9e5a16933fefe5cc37314;hp=e7bea6aa5c80736661cc7a852000c57743030b8a;hpb=92fb0719f84f5b6734b51e528332546d78e9ccec;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/reader/LocalReaderBook.java b/src/be/nikiroo/fanfix/reader/LocalReaderBook.java index e7bea6a..c716bd3 100644 --- a/src/be/nikiroo/fanfix/reader/LocalReaderBook.java +++ b/src/be/nikiroo/fanfix/reader/LocalReaderBook.java @@ -59,17 +59,22 @@ class LocalReaderBook extends JPanel { private static final int TEXT_WIDTH = COVER_WIDTH + 40; private static final int TEXT_HEIGHT = 50; private static final String AUTHOR_COLOR = "#888888"; - private static final long serialVersionUID = 1L; + private JLabel icon; - private JLabel tt; + private JLabel title; private boolean selected; private boolean hovered; private Date lastClick; private long doubleClickDelay = 200; // in ms private List listeners; + private String luid; + private boolean cached; + + public LocalReaderBook(MetaData meta, boolean cached) { + this.luid = meta.getLuid(); + this.cached = cached; - public LocalReaderBook(MetaData meta) { if (meta.getCover() != null) { BufferedImage resizedImage = new BufferedImage(SPINE_WIDTH + COVER_WIDTH, SPINE_HEIGHT + COVER_HEIGHT + HOFFSET, @@ -91,7 +96,7 @@ class LocalReaderBook extends JPanel { if (optAuthor != null && !optAuthor.isEmpty()) { optAuthor = "(" + optAuthor + ")"; } - tt = new JLabel( + title = new JLabel( String.format( "" + "" @@ -102,7 +107,7 @@ class LocalReaderBook extends JPanel { this.setLayout(new BorderLayout(10, 10)); this.add(icon, BorderLayout.CENTER); - this.add(tt, BorderLayout.SOUTH); + this.add(title, BorderLayout.SOUTH); setupListeners(); setSelected(false); @@ -151,14 +156,16 @@ class LocalReaderBook extends JPanel { } public void mouseClicked(MouseEvent e) { - Date now = new Date(); - if (lastClick != null - && now.getTime() - lastClick.getTime() < doubleClickDelay) { - click(true); - } else { - click(false); + if (isEnabled()) { + Date now = new Date(); + if (lastClick != null + && now.getTime() - lastClick.getTime() < doubleClickDelay) { + click(true); + } else { + click(false); + } + lastClick = now; } - lastClick = now; } }); } @@ -177,6 +184,29 @@ class LocalReaderBook extends JPanel { listeners.add(listener); } + public String getLuid() { + return luid; + } + + /** + * This boos is cached into the {@link LocalReader} library. + * + * @return the cached + */ + public boolean isCached() { + return cached; + } + + /** + * This boos is cached into the {@link LocalReader} library. + * + * @param cached + * the cached to set + */ + public void setCached(boolean cached) { + this.cached = cached; + } + @Override public void paint(Graphics g) { super.paint(g); @@ -199,7 +229,8 @@ class LocalReaderBook extends JPanel { g.fillPolygon(new Polygon(xs, ys, xs.length)); Color color = new Color(255, 255, 255, 0); - if (selected && !hovered) { + if (!isEnabled()) { + } else if (selected && !hovered) { color = new Color(80, 80, 100, 40); } else if (!selected && hovered) { color = new Color(230, 230, 255, 100); @@ -208,6 +239,11 @@ class LocalReaderBook extends JPanel { } Rectangle clip = g.getClipBounds(); + if (cached) { + g.setColor(Color.green); + g.fillOval(clip.x + clip.width - 30, 10, 20, 20); + } + g.setColor(color); g.fillRect(clip.x, clip.y, clip.width, clip.height); }