+ private void addSearch() {
+ TLabel lblSearch = addLabel("Search: ", 0, 0);
+
+ TField search = new TField(this, 0, 0, 1, true) {
+ @Override
+ public void onKeypress(TKeypressEvent keypress) {
+ super.onKeypress(keypress);
+ TKeypress key = keypress.getKey();
+ if (key.isFnKey() && key.getKeyCode() == TKeypress.ENTER) {
+ TuiReaderMainWindow.this.filter = getText();
+ TuiReaderMainWindow.this.refreshStories();
+ }
+ }
+ };
+
+ TSizeConstraint.setSize(sizeConstraints, lblSearch, 5, 1, null, null);
+ TSizeConstraint.setSize(sizeConstraints, search, 15, 1, -5, null);
+ }
+
+ private void addList() {
+ list = addList(listItems, 0, 0, 10, 10, new TAction() {
+ @Override
+ public void DO() {
+ MetaData meta = getSelectedMeta();
+ if (meta != null) {
+ readStory(meta);
+ }
+ }
+ });
+
+ TSizeConstraint.setSize(sizeConstraints, list, 0, 7, 0, 0);
+ }
+
+ private void addSelect() {
+ // TODO: i18n
+ final List<String> selects = new ArrayList<String>();
+ selects.add("(show all)");
+ selects.add("Sources");
+ selects.add("Author");
+
+ final List<String> selectTargets = new ArrayList<String>();
+ selectTargets.add("");
+
+ TLabel lblSelect = addLabel("Select: ", 0, 0);
+
+ TAction onSelect = new TAction() {
+ @Override
+ public void DO() {
+ String smode = selectBox.getText();
+ boolean showTarget;
+ if (smode == null || smode.equals("(show all)")) {
+ showTarget = false;
+ } else if (smode.equals("Sources")) {
+ selectTargets.clear();
+ selectTargets.add("(show all)");
+ for (String source : reader.getLibrary().getSources()) {
+ selectTargets.add(source);
+ }
+ showTarget = true;
+ } else {
+ selectTargets.clear();
+ selectTargets.add("(show all)");
+ for (String author : reader.getLibrary().getAuthors()) {
+ selectTargets.add(author);
+ }
+
+ showTarget = true;
+ }
+
+ selectTargetBox.setVisible(showTarget);
+ selectTargetBox.setEnabled(showTarget);
+ if (showTarget) {
+ selectTargetBox.reflowData();
+ }
+
+ selectTargetBox.setText(selectTargets.get(0));
+ if (showTarget) {
+ TuiReaderMainWindow.this.activate(selectTargetBox);
+ } else {
+ TuiReaderMainWindow.this.activate(list);
+ }
+ }
+ };
+
+ selectBox = addComboBox(0, 0, 10, selects, 0, -1, onSelect);
+
+ selectTargetBox = addComboBox(0, 0, 0, selectTargets, 0, -1,
+ new TAction() {
+ @Override
+ public void DO() {
+ if (selectTargetBox.getText().equals(
+ selectTargets.get(0))) {
+ setMode(mode, null);
+ } else {
+ setMode(mode, selectTargetBox.getText());
+ }
+ }
+ });
+
+ // Set defaults
+ onSelect.DO();
+
+ TSizeConstraint.setSize(sizeConstraints, lblSelect, 5, 3, null, null);
+ TSizeConstraint.setSize(sizeConstraints, selectBox, 15, 3, -5, null);
+ TSizeConstraint.setSize(sizeConstraints, selectTargetBox, 15, 4, -5,
+ null);
+ }
+
+ @Override
+ public void onResize(TResizeEvent resize) {
+ super.onResize(resize);
+ TSizeConstraint.resize(sizeConstraints);
+ }
+