diff --git a/map/ruler.cpp b/map/ruler.cpp index 74aa46cb0d..e56172a07d 100644 --- a/map/ruler.cpp +++ b/map/ruler.cpp @@ -78,7 +78,10 @@ Ruler::Ruler(Params const & p) : base_t(p), m_boundRects(1) { Settings::Units units; - Settings::Get("Units", units); + units = Settings::Metric; + + VERIFY(Settings::Get("Units", units), ()); + switch (units) { case Settings::Foot: diff --git a/qt/main.cpp b/qt/main.cpp index cac41f46be..a0726c25d4 100644 --- a/qt/main.cpp +++ b/qt/main.cpp @@ -14,6 +14,7 @@ #include "../std/cstdio.hpp" #include +#include //#ifdef OMIM_OS_WINDOWS // #include <../src/gui/image/qimageiohandler.h> @@ -85,6 +86,21 @@ int main(int argc, char *argv[]) (void)GetPlatform(); + // checking default measurement system. + + Settings::Units u; + + if (!Settings::Get("Units", u)) + { + // set default measurement from system locale + if (QLocale::system().measurementSystem() == QLocale::MetricSystem) + u = Settings::Metric; + else + u = Settings::Foot; + } + + Settings::Set("Units", u); + // display EULA if needed bool eulaAccepted = false; if (!Settings::Get(SETTING_EULA_ACCEPTED, eulaAccepted) || !eulaAccepted)