aboutsummaryrefslogtreecommitdiff
path: root/autotests/helper.h
diff options
context:
space:
mode:
authorMartin Gräßlin <mgraesslin@kde.org>2014-06-05 14:05:44 +0200
committerMartin Gräßlin <mgraesslin@kde.org>2014-06-12 07:06:07 +0200
commit988f09bb051dca0437ecec431ee44ed5b4a560d8 (patch)
treee86c5d2303b0fc1ee4c68ac3dd59ba326c464af1 /autotests/helper.h
parent0ed55dfa5d25bdcbef24f1b06be34467b620ae99 (diff)
downloadkconfig-988f09bb051dca0437ecec431ee44ed5b4a560d8.tar.gz
kconfig-988f09bb051dca0437ecec431ee44ed5b4a560d8.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.h43
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