Always use same default tabheader height (#9319)
authorPaul Ouellette <oue.paul18@gmail.com>
Sat, 9 May 2020 15:14:29 +0000 (11:14 -0400)
committerGitHub <noreply@github.com>
Sat, 9 May 2020 15:14:29 +0000 (17:14 +0200)
Previously the default tabheader height was different when using
real coordinates. This resulted in the height of tabs changing when
switching tabs in sfinv if some tabs used real coordinates.

src/gui/guiFormSpecMenu.cpp

index 72095a86ecdac1e68ca0e3eff8b25aa3fb5ca292..49133f1cb4dd9148ddee9a696a2cfffd0be4311b 100644 (file)
@@ -2027,7 +2027,7 @@ void GUIFormSpecMenu::parseTabHeader(parserData* data, const std::string &elemen
                // Width is not here because tabs are the width of the text, and
                // there's no reason to change that.
                unsigned int i = 0;
-               std::vector<std::string> v_geom = {"1", "0.75"}; // Dummy width and default height
+               std::vector<std::string> v_geom = {"1", "1"}; // Dummy width and height
                bool auto_width = true;
                if (parts.size() == 7) {
                        i++;
@@ -2071,6 +2071,9 @@ void GUIFormSpecMenu::parseTabHeader(parserData* data, const std::string &elemen
                        pos = getRealCoordinateBasePos(v_pos);
 
                        geom = getRealCoordinateGeometry(v_geom);
+                       // Set default height
+                       if (parts.size() <= 6)
+                               geom.Y = m_btn_height * 2;
                        pos.Y -= geom.Y; // TabHeader base pos is the bottom, not the top.
                        if (auto_width)
                                geom.X = DesiredRect.getWidth(); // Set automatic width