+ showMain(null, source, false);
+ }
+
+ private void showMain(MetaData meta, String source, boolean useMeta)
+ throws IOException {
+ // TODO: thread-safety
+ this.meta = meta;
+ this.source = source;
+ this.useMeta = useMeta;
+
+ if (main != null && main.isVisible()) {
+ main.activate();
+ } else {
+ if (main != null) {
+ main.close();
+ }
+ main = new TuiReaderMainWindow(this);
+ if (useMeta) {
+ main.setMeta(meta);
+ if (meta != null) {
+ read();
+ }
+ } else {
+ main.setSource(source);
+ }
+ }