X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2Ftui%2FTuiReaderMainWindow.java;h=cbca857d01fc79770bfb04de9b35b96f1b224878;hp=76c05d0cff6a4f72c3c5bfbd68daf5727c2f1bd9;hb=0bcb5c7ff5300deb01c5136cf0d26d65d9455100;hpb=8f34a7954f96acdd5d7be5ed6f08fea2713f7d75 diff --git a/src/be/nikiroo/fanfix/reader/tui/TuiReaderMainWindow.java b/src/be/nikiroo/fanfix/reader/tui/TuiReaderMainWindow.java index 76c05d0..cbca857 100644 --- a/src/be/nikiroo/fanfix/reader/tui/TuiReaderMainWindow.java +++ b/src/be/nikiroo/fanfix/reader/tui/TuiReaderMainWindow.java @@ -23,6 +23,7 @@ import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.fanfix.library.BasicLibrary; import be.nikiroo.fanfix.output.BasicOutput.OutputType; import be.nikiroo.fanfix.reader.Reader; +import be.nikiroo.jexer.TSizeConstraint; /** * The library window, that will list all the (filtered) stories available in @@ -50,7 +51,7 @@ class TuiReaderMainWindow extends TWindow { private List sizeConstraints = new ArrayList(); - // TODO: because no way to find out the current index!! + // The 2 comboboxes used to select by source/author private TComboBox selectTargetBox; private TComboBox selectBox; @@ -72,7 +73,7 @@ class TuiReaderMainWindow extends TWindow { addList(); addSearch(); - addSelect(); // last so we can see the drop down over the list + addSelect(); TStatusBar statusBar = reader.setStatusBar(this, "Library"); statusBar.addShortcutKeypress(TKeypress.kbCtrlF, CMD_SEARCH, "Search"); @@ -153,13 +154,10 @@ class TuiReaderMainWindow extends TWindow { @Override public void DO() { String smode = selectBox.getText(); - Mode mode; boolean showTarget; if (smode == null || smode.equals("(show all)")) { - mode = null; showTarget = false; } else if (smode.equals("Sources")) { - mode = Mode.SOURCE; selectTargets.clear(); selectTargets.add("(show all)"); for (String source : reader.getLibrary().getSources()) { @@ -167,7 +165,6 @@ class TuiReaderMainWindow extends TWindow { } showTarget = true; } else { - mode = Mode.AUTHOR; selectTargets.clear(); selectTargets.add("(show all)"); for (String author : reader.getLibrary().getAuthors()) { @@ -184,7 +181,11 @@ class TuiReaderMainWindow extends TWindow { } selectTargetBox.setText(selectTargets.get(0)); - setMode(mode, null); + if (showTarget) { + TuiReaderMainWindow.this.activate(selectTargetBox); + } else { + TuiReaderMainWindow.this.activate(list); + } } }; @@ -194,8 +195,8 @@ class TuiReaderMainWindow extends TWindow { new TAction() { @Override public void DO() { - // TODO: detect (show all) - if (selectTargetBox.getText().equals("(show all)")) { + if (selectTargetBox.getText().equals( + selectTargets.get(0))) { setMode(mode, null); } else { setMode(mode, selectTargetBox.getText()); @@ -282,6 +283,9 @@ class TuiReaderMainWindow extends TWindow { } list.setList(listItems); + if (listItems.size() > 0) { + list.setSelectedIndex(0); + } } public MetaData getSelectedMeta() {