X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2Fui%2FGuiReaderPropertiesFrame.java;h=deddc3cd84dbbd10b0355853487247bf46ef7e61;hb=5beb7cdca74ad803e6863af8e73dcd97106eef44;hp=975136fdf537eefb17554fd3031a348f225a6d0f;hpb=79a9950614d3bea63b0daafb7b7365f6ae3cbeb9;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/reader/ui/GuiReaderPropertiesFrame.java b/src/be/nikiroo/fanfix/reader/ui/GuiReaderPropertiesFrame.java index 975136f..deddc3c 100644 --- a/src/be/nikiroo/fanfix/reader/ui/GuiReaderPropertiesFrame.java +++ b/src/be/nikiroo/fanfix/reader/ui/GuiReaderPropertiesFrame.java @@ -1,23 +1,12 @@ package be.nikiroo.fanfix.reader.ui; import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Font; -import java.util.List; -import java.util.Map.Entry; -import javax.swing.BorderFactory; -import javax.swing.BoxLayout; -import javax.swing.ImageIcon; import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTextArea; import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.fanfix.data.Story; -import be.nikiroo.fanfix.reader.BasicReader; -import be.nikiroo.fanfix.reader.Reader; +import be.nikiroo.fanfix.library.BasicLibrary; /** * A frame displaying properties and other information of a {@link Story}. @@ -30,71 +19,20 @@ public class GuiReaderPropertiesFrame extends JFrame { /** * Create a new {@link GuiReaderPropertiesFrame}. * - * @param reader - * the linked reader + * @param ib + * the library to use for the cover image * @param meta * the meta to describe */ - public GuiReaderPropertiesFrame(Reader reader, GuiReaderBookInfo info) { - MetaData meta = info.getMeta(); - - // Borders - int top = 20; - int space = 10; - - // Image - ImageIcon img = GuiReaderCoverImager.generateCoverIcon( - reader.getLibrary(), info); - - // frame + public GuiReaderPropertiesFrame(BasicLibrary lib, MetaData meta) { setTitle(meta.getLuid() + ": " + meta.getTitle()); - setSize(800, img.getIconHeight() + 2 * top); - setLayout(new BorderLayout()); - - // Main panel - JPanel mainPanel = new JPanel(new BorderLayout()); - JPanel mainPanelKeys = new JPanel(); - mainPanelKeys.setLayout(new BoxLayout(mainPanelKeys, BoxLayout.Y_AXIS)); - JPanel mainPanelValues = new JPanel(); - mainPanelValues.setLayout(new BoxLayout(mainPanelValues, - BoxLayout.Y_AXIS)); - - mainPanel.add(mainPanelKeys, BorderLayout.WEST); - mainPanel.add(mainPanelValues, BorderLayout.CENTER); + GuiReaderPropertiesPane desc = new GuiReaderPropertiesPane(lib, meta); + setSize(800, + (int) desc.getPreferredSize().getHeight() + 2 + * desc.getBorderThickness()); - List> desc = BasicReader.getMetaDesc(meta); - - Color trans = new Color(0, 0, 0, 1); - for (Entry descLine : desc) { - JTextArea key = new JTextArea(descLine.getKey()); - key.setFont(new Font(key.getFont().getFontName(), Font.BOLD, key - .getFont().getSize())); - key.setEditable(false); - key.setLineWrap(false); - key.setBackground(trans); - mainPanelKeys.add(key); - - JTextArea value = new JTextArea(descLine.getValue()); - value.setEditable(false); - value.setLineWrap(false); - value.setBackground(trans); - mainPanelValues.add(value); - } - - // Image - JLabel imgLabel = new JLabel(img); - imgLabel.setVerticalAlignment(JLabel.TOP); - - // Borders - mainPanelKeys.setBorder(BorderFactory.createEmptyBorder(top, space, 0, - 0)); - mainPanelValues.setBorder(BorderFactory.createEmptyBorder(top, space, - 0, 0)); - imgLabel.setBorder(BorderFactory.createEmptyBorder(0, space, 0, 0)); - - // Add all - add(imgLabel, BorderLayout.WEST); - add(mainPanel, BorderLayout.CENTER); + setLayout(new BorderLayout()); + add(desc, BorderLayout.NORTH); } }