update to more upstream-y jexer lib, fix library
[fanfix.git] / src / be / nikiroo / fanfix / reader / tui / TuiReaderStoryWindow.java
index ead70d4b0a116e58f6fdeb68ee4aae137e352004..01db6e2d7b3309043055698779a765d2b4b74945 100644 (file)
@@ -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;
@@ -160,11 +162,17 @@ class TuiReaderStoryWindow extends TWindow {
                        builder.append("\n\n");
                        if (chap != null) {
                                for (Paragraph para : chap) {
-                                       builder.append(para.getContent()).append("\n\n");
+                                       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();
                }
        }