on master help sign in
unity8/plugins/Wizard/LocalePlugin.h
58 lines 1.5 kB history raw
1/*
2 * Copyright (C) 2015 Canonical Ltd.
3 *
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License version 3, as published
6 * by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranties of
10 * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11 * PURPOSE. See the GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17#ifndef LOCALE_PLUGIN_H
18#define LOCALE_PLUGIN_H
20#include <QObject>
21#include <QString>
22#include <QJsonObject>
23#include <QtQml>
25class LocaleAttached: public QObject
27 Q_OBJECT
28protected:
29 explicit LocaleAttached(QObject *parent = 0);
31public:
32 Q_INVOKABLE QString mccToCountryCode(int mcc) const;
34 friend class LocalePlugin;
35};
37/**
38 * A simplified wrapper around QLocale.
39 *
40 * The wrapper is implemented as an attached property, which makes it possible
41 * to use it as if its methods were static:
42 *
43 * @code
44 * var langs = LocalePlugin.languages();
45 * @endcode
46 */
47class LocalePlugin: public QObject
49 Q_OBJECT
50public:
51 explicit LocalePlugin(QObject *parent = 0);
53 static LocaleAttached* qmlAttachedProperties(QObject *parent);
54};
56QML_DECLARE_TYPEINFO(LocalePlugin, QML_HAS_ATTACHED_PROPERTIES)
58#endif // LOCALE_PLUGIN_H