diff options
author | Martin Gräßlin <mgraesslin@kde.org> | 2014-06-05 14:05:44 +0200 |
---|---|---|
committer | Thomas Braxton <kde.braxton@gmail.com> | 2014-06-12 17:48:21 -0500 |
commit | 69c203156d21385a8c263096cb35600e85a5c604 (patch) | |
tree | 38a69b65bea0a85ef43df011194ce4e0742aec55 /autotests/helper.h | |
parent | ac6703215ba5e152379173ba503f5ba3bd7e8a85 (diff) | |
download | kconfig-69c203156d21385a8c263096cb35600e85a5c604.tar.gz kconfig-69c203156d21385a8c263096cb35600e85a5c604.tar.bz2 |
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
Diffstat (limited to 'autotests/helper.h')
-rw-r--r-- | autotests/helper.h | 43 |
1 files changed, 43 insertions, 0 deletions
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 <mgraesslin@kde.org> + * + * 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 <http://www.gnu.org/licenses/>. +*/ +#ifndef KCONFIG_AUTOTESTS_HELPER_H +#define KCONFIG_AUTOTESTS_HELPER_H + +#include <QLocale> + +/** + * @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 |