From 988f09bb051dca0437ecec431ee44ed5b4a560d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Thu, 5 Jun 2014 14:05:44 +0200 Subject: Fix locale-aware reading in KDesktopFile The underlying KConfig used QLocale::name() for getting the locale aware part. But this returns "de_DE" while the desktop files store "de". In addition it constructs a QLocale object instead of using the system locale. This has the advantage that the usage of QLocale::setDafault() gets honored by KConfig. REVIEW: 118564 --- autotests/helper.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 autotests/helper.h (limited to 'autotests/helper.h') diff --git a/autotests/helper.h b/autotests/helper.h new file mode 100644 index 00000000..83f1a8bc --- /dev/null +++ b/autotests/helper.h @@ -0,0 +1,43 @@ +/* + * Copyright 2014 Martin Gräßlin + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) version 3, or any + * later version accepted by the membership of KDE e.V. (or its + * successor approved by the membership of KDE e.V.), which shall + * act as a proxy defined in Section 6 of version 3 of the license. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . +*/ +#ifndef KCONFIG_AUTOTESTS_HELPER_H +#define KCONFIG_AUTOTESTS_HELPER_H + +#include + +/** + * @brief Helper to store the current default QLocale and resetting to it in the dtor. + **/ +class DefaultLocale +{ +public: + DefaultLocale() + : m_defaultLocale() + { + } + ~DefaultLocale() + { + QLocale::setDefault(m_defaultLocale); + } +private: + QLocale m_defaultLocale; +}; + +#endif -- cgit v1.2.1