X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix_swing%2Fgui%2FBrowserPanel.java;h=9a6ee1a8a35167f6eba8ae9f5b47de8c9c6cf20a;hb=76b3e6cfa8728ce526988da373819f810a8e965e;hp=47e55e422c9a2589188dd117dbdfdb15beafc3c4;hpb=3cdf3fd8a60d22a592e1cd0634cb108faa1f5f9f;p=fanfix.git diff --git a/src/be/nikiroo/fanfix_swing/gui/BrowserPanel.java b/src/be/nikiroo/fanfix_swing/gui/BrowserPanel.java index 47e55e4..9a6ee1a 100644 --- a/src/be/nikiroo/fanfix_swing/gui/BrowserPanel.java +++ b/src/be/nikiroo/fanfix_swing/gui/BrowserPanel.java @@ -1,12 +1,14 @@ package be.nikiroo.fanfix_swing.gui; import java.awt.BorderLayout; +import java.awt.Component; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.List; import javax.swing.JButton; +import javax.swing.JComponent; import javax.swing.JPanel; import javax.swing.JTabbedPane; import javax.swing.event.ChangeEvent; @@ -144,21 +146,24 @@ public class BrowserPanel extends JPanel { * @return the {@link BookInfo} to highlight, can be NULL */ public BookInfo getHighlight() { - BasicLibrary lib = Instance.getInstance().getLibrary(); - if (tabs.getSelectedComponent() == sourceTab) { - List sel = sourceTab.getSelectedElements(); - if (!sel.isEmpty()) { - return BookInfo.fromSource(lib, sel.get(0)); + String selected1 = null; + Component selectedTab = tabs.getSelectedComponent(); + if (selectedTab instanceof BasicTab) { + @SuppressWarnings({ "unchecked", "rawtypes" }) + List selectedAll = ((BasicTab) selectedTab).getSelectedElements(); + if (!selectedAll.isEmpty()) { + selected1 = selectedAll.get(0); } - } else if (tabs.getSelectedComponent() == authorTab) { - List sel = authorTab.getSelectedElements(); - if (!sel.isEmpty()) { - return BookInfo.fromAuthor(lib, sel.get(0)); - } - } else if (tabs.getSelectedComponent() == tagsTab) { - List sel = tagsTab.getSelectedElements(); - if (!sel.isEmpty()) { - return BookInfo.fromTag(lib, sel.get(0)); + } + + if (selected1 != null) { + BasicLibrary lib = Instance.getInstance().getLibrary(); + if (tabs.getSelectedComponent() == sourceTab) { + return BookInfo.fromSource(lib, selected1); + } else if (tabs.getSelectedComponent() == authorTab) { + return BookInfo.fromAuthor(lib, selected1); + } else if (tabs.getSelectedComponent() == tagsTab) { + return BookInfo.fromTag(lib, selected1); } } @@ -192,6 +197,15 @@ public class BrowserPanel extends JPanel { return tagsTab.getSelectedElements(); } + /** + * Reload all the data from the 3 tabs. + */ + public void reloadData() { + sourceTab.reloadData(); + authorTab.reloadData(); + tagsTab.reloadData(); + } + /** * Adds the specified action listener to receive action events from this * {@link SearchBar}.