diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/minimap.cpp | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/src/gui/minimap.cpp b/src/gui/minimap.cpp index e52a20ac..7802b583 100644 --- a/src/gui/minimap.cpp +++ b/src/gui/minimap.cpp @@ -33,14 +33,16 @@ #include "../utils/gettext.h" -bool Minimap::mShow = config.getValue("MinimapVisible", true); +bool Minimap::mShow = true; Minimap::Minimap(): - Window(_("Map")), + Window(_("MiniMap")), mMapImage(NULL), mProportion(0.5) { setWindowName(_("MiniMap")); + mShow = config.getValue(getWindowName() + "Visible", true); + setDefaultSize(5, 25, 100, 100); setResizable(true); } @@ -59,8 +61,8 @@ void Minimap::setMapImage(Image *img) if (mMapImage) { - const int offsetX = getPadding() + 4; - const int offsetY = getTitleBarHeight() + 4; + const int offsetX = 2 * getPadding(); + const int offsetY = getTitleBarHeight() + getPadding(); const int titleWidth = getFont()->getWidth(getCaption()) + 15; const int mapWidth = mMapImage->getWidth() < 100 ? mMapImage->getWidth() + offsetX : 100; @@ -73,10 +75,18 @@ void Minimap::setMapImage(Image *img) setMaxHeight(mMapImage->getHeight() + offsetY); mMapImage->setAlpha(config.getValue("guialpha", 0.8)); - setDefaultSize(offsetX, offsetY, getMinWidth() > getWidth() ? - getMinWidth() : getWidth(), - getMaxHeight() < getHeight() ? - getMaxHeight() : getHeight()); + + // Set content size to be within the minimum and maximum boundaries + setWidth(getMinWidth() < getWidth() ? getWidth() : getMinWidth()); + if (getMaxWidth() > getWidth()) + setWidth(getMaxWidth()); + setHeight(getMinHeight() < getHeight() ? getHeight() : getMinHeight()); + if (getMaxHeight() > getHeight()) + setHeight(getMaxHeight()); + + setDefaultSize(getX(), getY(), getWidth(), getHeight()); + resetToDefaultSize(); + loadWindowState(); setVisible(mShow); } @@ -89,7 +99,7 @@ void Minimap::setMapImage(Image *img) void Minimap::toggle() { mShow = !mShow; - config.setValue("MinimapVisible", mShow); + config.setValue(getWindowName() + "Visible", mShow); } void Minimap::draw(gcn::Graphics *graphics) |