import be.nikiroo.fanfix.library.CacheLibrary;
import be.nikiroo.fanfix.reader.BasicReader;
import be.nikiroo.fanfix.reader.Reader;
+import be.nikiroo.fanfix.searchable.BasicSearchable;
+import be.nikiroo.fanfix.searchable.SearchableTag;
import be.nikiroo.fanfix.supported.SupportType;
import be.nikiroo.utils.Progress;
import be.nikiroo.utils.Version;
}
}
+ @Override
+ public void search(boolean sync) throws IOException {
+ GuiReaderSearch search = new GuiReaderSearch(this);
+ if (sync) {
+ sync(search);
+ } else {
+ search.setVisible(true);
+ }
+ }
+
@Override
public void search(SupportType searchOn, String keywords, int page,
int item, boolean sync) {
- // TODO
+ GuiReaderSearch search = new GuiReaderSearch(this);
+ search.search(searchOn, keywords, page, item);
if (sync) {
- throw new java.lang.IllegalStateException("Not implemented yet.");
+ sync(search);
+ } else {
+ search.setVisible(true);
}
}
@Override
- public void searchTag(SupportType searchOn, int page, int item,
- boolean sync, Integer... tags) {
- // TODO
+ public void searchTag(final SupportType searchOn, final int page,
+ final int item, final boolean sync, final Integer... tags) {
+
+ final GuiReaderSearch search = new GuiReaderSearch(GuiReader.this);
+ final BasicSearchable searchable = BasicSearchable
+ .getSearchable(searchOn);
+
+ Runnable action = new Runnable() {
+ @Override
+ public void run() {
+ SearchableTag tag = null;
+ try {
+ tag = searchable.getTag(tags);
+ if (tag != null) {
+ searchable.fillTag(tag);
+ }
+ } catch (IOException e) {
+ Instance.getTraceHandler().error(e);
+ }
+
+ search.searchTag(searchOn, page, item, tag);
+
+ if (sync) {
+ sync(search);
+ } else {
+ search.setVisible(true);
+ }
+ }
+ };
+
if (sync) {
- throw new java.lang.IllegalStateException("Not implemented yet.");
+ action.run();
+ } else {
+ new Thread(action).start();
}
}