Merge branch 'subtree'
[fanfix.git] / src / jexer / TImageWindow.java
index d38cd253bcd80ec0cead90fea514924c32eb0324..15db1da3dd4f61fa3e387c314bc4291e38a8ec47 100644 (file)
@@ -31,6 +31,7 @@ package jexer;
 import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
+import java.util.ResourceBundle;
 import javax.imageio.ImageIO;
 
 import jexer.event.TKeypressEvent;
@@ -43,6 +44,11 @@ import static jexer.TKeypress.*;
  */
 public class TImageWindow extends TScrollableWindow {
 
+    /**
+     * Translated strings.
+     */
+    private static final ResourceBundle i18n = ResourceBundle.getBundle(TImageWindow.class.getName());
+
     // ------------------------------------------------------------------------
     // Constants --------------------------------------------------------------
     // ------------------------------------------------------------------------
@@ -76,7 +82,7 @@ public class TImageWindow extends TScrollableWindow {
         final File file) throws IOException {
 
         this(parent, file, 0, 0, parent.getScreen().getWidth(),
-            parent.getScreen().getHeight() - 2);
+            parent.getDesktopBottom() - parent.getDesktopTop());
     }
 
     /**
@@ -98,8 +104,8 @@ public class TImageWindow extends TScrollableWindow {
 
         BufferedImage image = ImageIO.read(file);
 
-        imageField = new TImage(this, 0, 0, getWidth() - 2, getHeight() - 2,
-            image, 0, 0, null);
+        imageField = addImage(0, 0, getWidth() - 2, getHeight() - 2,
+            image, 0, 0);
         setTitle(file.getName());
 
         setupAfterImage();
@@ -118,12 +124,17 @@ public class TImageWindow extends TScrollableWindow {
             setWidth(imageField.getColumns() + 2);
         }
 
-        hScroller = new THScroller(this, 17, getHeight() - 2, getWidth() - 20);
+        hScroller = new THScroller(this,
+            Math.min(Math.max(0, getWidth() - 17), 17),
+            getHeight() - 2,
+            getWidth() - Math.min(Math.max(0, getWidth() - 17), 17) - 3);
         vScroller = new TVScroller(this, getWidth() - 2, 0, getHeight() - 2);
         setTopValue(0);
         setBottomValue(imageField.getRows() - imageField.getHeight());
         setLeftValue(0);
         setRightValue(imageField.getColumns() - imageField.getWidth());
+
+        statusBar = newStatusBar(i18n.getString("statusBar"));
     }
 
     // ------------------------------------------------------------------------