X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2Ftui%2FTuiReaderStoryWindow.java;h=01db6e2d7b3309043055698779a765d2b4b74945;hb=4f66bfa85209c2c1683f938df9b43fa2924b351e;hp=e4587e755917c0b2489fa1a32ce34dc1debb90db;hpb=16a81ef7656c5c692fb831927e75edde25dd77a0;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/reader/tui/TuiReaderStoryWindow.java b/src/be/nikiroo/fanfix/reader/tui/TuiReaderStoryWindow.java index e4587e7..01db6e2 100644 --- a/src/be/nikiroo/fanfix/reader/tui/TuiReaderStoryWindow.java +++ b/src/be/nikiroo/fanfix/reader/tui/TuiReaderStoryWindow.java @@ -12,9 +12,11 @@ import jexer.TLabel; import jexer.TText; import jexer.TWindow; import jexer.event.TResizeEvent; +import jexer.event.TResizeEvent.Type; import be.nikiroo.fanfix.data.Chapter; import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.fanfix.data.Paragraph; +import be.nikiroo.fanfix.data.Paragraph.ParagraphType; import be.nikiroo.fanfix.data.Story; import be.nikiroo.fanfix.library.BasicLibrary; @@ -89,10 +91,10 @@ class TuiReaderStoryWindow extends TWindow { public void onResize(TResizeEvent resize) { super.onResize(resize); - // Resize the text field - textField.setWidth(resize.getWidth() - 2); - textField.setHeight(resize.getHeight() - 2); - textField.reflow(); + // Resize the text field TODO: why setW/setH/reflow not enough for the + // scrollbars? + textField.onResize(new TResizeEvent(Type.WIDGET, resize.getWidth() - 2, + resize.getHeight() - 2)); // -3 because 0-based and 2 for borders int row = getHeight() - 3; @@ -133,7 +135,10 @@ class TuiReaderStoryWindow extends TWindow { String name; if (chapter == 0) { chap = getStory().getMeta().getResume(); - name = String.format(" %s", chap.getName()); + if (chap != null) + name = String.format(" %s", chap.getName()); + else + name = "[No RESUME]"; } else { chap = getStory().getChapters().get(chapter - 1); name = String @@ -148,17 +153,26 @@ class TuiReaderStoryWindow extends TWindow { StringBuilder builder = new StringBuilder(); // TODO: i18n - String c = String.format("Chapter %d: %s", chapter, chap.getName()); + String c = String.format("Chapter %d: %s", chapter, + chap == null ? "[No RESUME]" : chap.getName()); builder.append(c).append("\n"); for (int i = 0; i < c.length(); i++) { builder.append("═"); } builder.append("\n\n"); - for (Paragraph para : chap) { - builder.append(para.getContent()).append("\n\n"); + if (chap != null) { + for (Paragraph para : chap) { + if (para.getType() == ParagraphType.BREAK) { + builder.append("\n"); + } + builder.append(para.getContent()).append("\n"); + if (para.getType() == ParagraphType.BREAK) { + builder.append("\n"); + } + } } textField.setText(builder.toString()); - textField.reflow(); + textField.reflowData(); textField.toTop(); } }