/* * Copyright (C) 2013 - 2017 Jolla Ltd. * Copyright (C) 2019 - 2020 Open Mobile Platform LLC. * * You may use this file under the terms of the BSD license as follows: * * "Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * Neither the name of Nemo Mobile nor the names of its contributors * may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." */ #include #include #include #include #include #include #include "languagemodel.h" #include "datetimesettings.h" #include "profilecontrol.h" #include "alarmtonemodel.h" #include "displaysettings.h" #include "aboutsettings.h" #include "developermodesettings.h" #include "batterystatus.h" #include "partitionmodel.h" #include "certificatemodel.h" #include "locationsettings.h" #include "deviceinfo.h" #include "nfcsettings.h" #include "userinfo.h" #include "usermodel.h" #include "permissionsmodel.h" class AppTranslator: public QTranslator { Q_OBJECT public: AppTranslator(QObject *parent) : QTranslator(parent) { qApp->installTranslator(this); } virtual ~AppTranslator() { qApp->removeTranslator(this); } }; class SystemSettingsPlugin : public QQmlExtensionPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.nemomobile.systemsettings") public: void initializeEngine(QQmlEngine *engine, const char *uri) { Q_ASSERT(QLatin1String(uri) == QLatin1String("org.nemomobile.systemsettings")); AppTranslator *engineeringEnglish = new AppTranslator(engine); engineeringEnglish->load("qml_plugin_systemsettings_eng_en", "/usr/share/translations"); AppTranslator *translator = new AppTranslator(engine); translator->load(QLocale(), "qml_plugin_systemsettings", "-", "/usr/share/translations"); } void registerTypes(const char *uri) { Q_ASSERT(QLatin1String(uri) == QLatin1String("org.nemomobile.systemsettings")); qmlRegisterType(uri, 1, 0, "LanguageModel"); qmlRegisterType(uri, 1, 0, "DateTimeSettings"); qmlRegisterType(uri, 1, 0, "ProfileControl"); qmlRegisterType(uri, 1, 0, "AlarmToneModel"); qmlRegisterType(uri, 1, 0, "DisplaySettings"); qmlRegisterType(uri, 1, 0, "USBSettings"); qmlRegisterType(uri, 1, 0, "AboutSettings"); qmlRegisterType(uri, 1, 0, "PartitionModel"); qRegisterMetaType("Partition"); qmlRegisterType(uri, 1, 0, "DeveloperModeSettings"); qmlRegisterType(uri, 1, 0, "CertificateModel"); qRegisterMetaType("DeveloperModeSettings::Status"); qmlRegisterType(uri, 1, 0, "BatteryStatus"); qmlRegisterType(uri, 1, 0, "LocationSettings"); qmlRegisterType(uri, 1, 0, "DeviceInfo"); qmlRegisterType(uri, 1, 0, "NfcSettings"); qmlRegisterType(uri, 1, 0, "UserInfo"); qmlRegisterType(uri, 1, 0, "UserModel"); qmlRegisterType(uri, 1, 0, "PermissionsModel"); } }; #include "plugin.moc"