diff -Nru ukui-control-center-4.10.0.0/debian/changelog ukui-control-center-4.10.0.0/debian/changelog --- ukui-control-center-4.10.0.0/debian/changelog 2025-02-27 10:16:00.000000000 +0800 +++ ukui-control-center-4.10.0.0/debian/changelog 2025-03-12 19:30:45.000000000 +0800 @@ -1,3 +1,22 @@ +ukui-control-center (4.10.0.0-ok59) nile; urgency=medium + + * BUG:无 + * 需求号: 无 + * 其他改动说明:更改changelog,重新传包 + * 其他改动影响域:无 + + -- zhoubin <zhoubin@kylinos.cn> Wed, 12 Mar 2025 19:30:45 +0800 + +ukui-control-center (4.10.0.0-ok58) nile; urgency=medium + + * BUG:#I8YUTX 【用户手册】【关于】英文下关于模块配图与实际不符 + * BUG:#IA46CK 【次要】【主题】英文模式下,控制面板主题页部分字母大小写混乱 + * 需求号: 无 + * 其他改动说明:更改changelog,重新传包 + * 其他改动影响域:无 + + -- zhoubin <zhoubin@kylinos.cn> Mon, 03 Mar 2025 19:57:25 +0800 + ukui-control-center (4.10.0.0-ok57) nile; urgency=medium * BUG:无 Binary files /tmp/tmps6beohqk/Ndb0_zYbAq/ukui-control-center-4.10.0.0/debian/patches/0141-chore-changelog-update-changelog.patch and /tmp/tmps6beohqk/hVcYBZU3H7/ukui-control-center-4.10.0.0/debian/patches/0141-chore-changelog-update-changelog.patch differ Binary files /tmp/tmps6beohqk/Ndb0_zYbAq/ukui-control-center-4.10.0.0/debian/patches/0142-177-fix-debug-add-debug.patch and /tmp/tmps6beohqk/hVcYBZU3H7/ukui-control-center-4.10.0.0/debian/patches/0142-177-fix-debug-add-debug.patch differ diff -Nru ukui-control-center-4.10.0.0/debian/patches/0143-181-fix-ukui-control-center-delete-protocol.patch ukui-control-center-4.10.0.0/debian/patches/0143-181-fix-ukui-control-center-delete-protocol.patch --- ukui-control-center-4.10.0.0/debian/patches/0143-181-fix-ukui-control-center-delete-protocol.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-control-center-4.10.0.0/debian/patches/0143-181-fix-ukui-control-center-delete-protocol.patch 2025-03-12 19:30:45.000000000 +0800 @@ -0,0 +1,381 @@ +From: nil <zhoubin@kylinos.cn> +Date: Wed, 5 Mar 2025 12:11:35 +0000 +Subject: =?utf-8?q?!181_fix=28ukui-control-center=29=3A_delete_protocol_Mer?= + =?utf-8?q?ge_pull_request_!181_from_=E8=8B=8F=E5=97=A3=E5=85=B8/nile-0122?= + +--- + plugins/personalized/screenlock/screenlock.cpp | 84 +++++++++++++++-- + plugins/personalized/screenlock/screenlock.h | 9 ++ + plugins/personalized/wallpaper/wallpaper.cpp | 122 ++++++++++++++----------- + plugins/personalized/wallpaper/wallpaper.h | 10 +- + shell/shell.pro | 1 - + 5 files changed, 163 insertions(+), 63 deletions(-) + +diff --git a/plugins/personalized/screenlock/screenlock.cpp b/plugins/personalized/screenlock/screenlock.cpp +index bf939ef..ae5e424 100644 +--- a/plugins/personalized/screenlock/screenlock.cpp ++++ b/plugins/personalized/screenlock/screenlock.cpp +@@ -26,11 +26,28 @@ using namespace ukcc; + #include <QDesktopServices> + #include <QProcess> + #include <QFileSystemWatcher> ++#include <QStandardPaths> ++#include <QtConcurrent/QtConcurrent> ++ ++#define LOCAL_USR_PATH QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) ++#define LOCAL_APP_PATH QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)\ ++ %QStringLiteral("/ukui-control-center/") ++#define LOCAL_WALLPAPER_PATH QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)\ ++ %QStringLiteral("/ukui-control-center/wallpaperData/") ++#define LOCAL_WALLPAPER_HASH_PATH QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)\ ++ %QStringLiteral("/ukui-control-center/wallpaperData/HASH") + + Screenlock::Screenlock() : mFirstLoad(true) + { + pluginName = tr("Screenlock"); + pluginType = PERSONALIZED; ++ screenlockInterface = new QDBusInterface("org.ukui.ukcc.session", ++ "/Screenlock", ++ "org.ukui.ukcc.session.Screenlock", ++ QDBusConnection::sessionBus(), this); ++ m_previewPictures = screenlockInterface->property("previewWallpapers").toStringList(); ++ m_sourcePictures = screenlockInterface->property("sourceWallpapers").toStringList(); ++ m_picInfoList.clear(); + } + + Screenlock::~Screenlock() +@@ -53,10 +70,6 @@ QWidget *Screenlock::pluginUi() + if (mFirstLoad) { + mFirstLoad = false; + screenlockui = new ScreenlockUi(); +- screenlockInterface = new QDBusInterface("org.ukui.ukcc.session", +- "/Screenlock", +- "org.ukui.ukcc.session.Screenlock", +- QDBusConnection::sessionBus(), this); + if (screenlockInterface->isValid()) { // 判断服务是否存在 + QDBusMessage message = screenlockInterface->call("ping"); // 判断dbus路径是否存在 + if (message.type() == QDBusMessage::ErrorMessage && message.errorMessage().contains("No such object path", Qt::CaseInsensitive)) { +@@ -114,11 +127,68 @@ void Screenlock::dataChanged(const QString &key) + toChangeKey = ""; + } + ++void Screenlock::convertPixmapSlot(const QString &filename, int num) { ++ QPixmap qPixmap = QPixmap(filename); ++ if (qPixmap.isNull()){ ++ QFile file(filename); ++ qint64 fileSize = file.size(); ++ if (fileSize <= 100000000 && file.open(QIODevice::ReadOnly)){ ++ qPixmap.loadFromData(file.readAll()); ++ file.close(); ++ } ++ } ++ QSize IMAGE_SIZE(166, 110); ++ QPixmap pixmap = qPixmap.scaled(IMAGE_SIZE); ++ QString tmpFile = filename; ++ tmpFile.replace("/", "-"); ++ QFile wallpaperFile; ++ wallpaperFile.setFileName(LOCAL_WALLPAPER_PATH + QString::number(num) + tmpFile); ++ QFileInfo fileinfo = QFileInfo(tmpFile); ++ pixmap.save(&wallpaperFile, fileinfo.suffix().toUtf8().data()); ++} ++ ++void Screenlock::loadPictureInfo() { ++ if (m_previewPictures.size() != m_sourcePictures.size()) { ++ qWarning() << "picturePathList.size():" << m_previewPictures.size() << " != sourcePathList.size():" << m_sourcePictures.size(); ++ return; ++ } ++ ++ QDir dir(LOCAL_WALLPAPER_PATH); ++ QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs); ++ qDebug() << Q_FUNC_INFO << "fileInfoList size" << fileInfoList.size() << "m_sourcePictures size" << m_sourcePictures.size(); ++ if ((fileInfoList.size() - 1) == m_sourcePictures.size()) { ++ qDebug() << Q_FUNC_INFO << "equal file num, skip load"; ++ m_picInfoList.clear(); ++ for (int i = 0; i < m_previewPictures.size(); ++i) { ++ m_picInfoList.append(m_previewPictures.at(i)); ++ } ++ return; ++ } ++ int num = 0; ++ for (QString filename : m_sourcePictures) { ++ m_watcher.setFuture(QtConcurrent::run([=, filename, num]() { ++ convertPixmapSlot(filename, num); ++ })); ++ num++; ++ } ++} ++ ++void Screenlock::loadPictureInfoSlot() { ++ screenlockui->setPictures(m_previewPictures, m_sourcePictures); ++} ++ + void Screenlock::initContent() + { +- QStringList previewPictures = screenlockInterface->property("previewWallpapers").toStringList(); +- QStringList sourcePictures = screenlockInterface->property("sourceWallpapers").toStringList(); +- screenlockui->setPictures(previewPictures, sourcePictures); ++ loadPictureInfo(); ++ if (!m_picInfoList.empty()) { ++ loadPictureInfoSlot(); ++ } else { ++ QObject::connect(&m_watcher, &QFutureWatcher<void>::finished, [=]() { ++ QTimer::singleShot(300, [=]() { ++ loadPictureInfoSlot(); ++ }); ++ }); ++ } + initWallpaper(); + initShowOnLogin(); + } +diff --git a/plugins/personalized/screenlock/screenlock.h b/plugins/personalized/screenlock/screenlock.h +index 890683f..d078355 100644 +--- a/plugins/personalized/screenlock/screenlock.h ++++ b/plugins/personalized/screenlock/screenlock.h +@@ -25,6 +25,7 @@ + #include "screenlockui.h" + #include <QObject> + #include <QtPlugin> ++#include <QFutureWatcher> + + #ifdef signals + #undef signals +@@ -63,6 +64,10 @@ public: + void initWallpaper(); + void connectUiSignals(); + void showLocalWpDialog(); ++ void loadPictureInfo(); ++ void convertPixmapSlot(const QString &filename, int num); ++ void picUnitClickSlot(PictureUnit* picUnit, QString fn); ++ void loadPictureInfoSlot(); + + public Q_SLOTS: + void dataChanged(const QString &key); +@@ -75,6 +80,10 @@ private: + ScreenlockUi *screenlockui = nullptr; + QDBusInterface *screenlockInterface = nullptr; + bool bIsCloudService = false; ++ QList<QString> m_picInfoList; ++ QFutureWatcher<void> m_watcher; ++ QStringList m_previewPictures; ++ QStringList m_sourcePictures; + }; + + #endif // SCREENLOCK_H +diff --git a/plugins/personalized/wallpaper/wallpaper.cpp b/plugins/personalized/wallpaper/wallpaper.cpp +index 473b111..0e522cc 100644 +--- a/plugins/personalized/wallpaper/wallpaper.cpp ++++ b/plugins/personalized/wallpaper/wallpaper.cpp +@@ -32,7 +32,7 @@ + #include <QtXml> + #include <QThread> + #include <kysdk/applications/accessinfohelper.h> +- ++#include <QFutureWatcher> + + #define LOCAL_USR_PATH QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + #define LOCAL_APP_PATH QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)\ +@@ -47,7 +47,17 @@ Wallpaper::Wallpaper() + { + pluginName = tr("Background"); + pluginType = PERSONALIZED; +- picInfoList.clear(); ++ wallpaperInterface = new QDBusInterface("org.ukui.ukcc.session", ++ "/Wallpaper", ++ "org.ukui.ukcc.session.Wallpaper", ++ QDBusConnection::sessionBus(), this); ++ if (!wallpaperInterface->isValid()) { ++ qCritical() << "org.ukui.ukcc.session.Wallpaper DBus error:" << wallpaperInterface->lastError(); ++ return; ++ } ++ m_previewPictures = wallpaperInterface->property("previewWallpapers").toStringList(); ++ m_sourcePictures = wallpaperInterface->property("sourceWallpapers").toStringList(); ++ m_picInfoList.clear(); + } + + Wallpaper::~Wallpaper() +@@ -67,72 +77,53 @@ int Wallpaper::pluginTypes() { + } + + void Wallpaper::loadPictureInfo() { +- wallpaperInterface = new QDBusInterface("org.ukui.ukcc.session", +- "/Wallpaper", +- "org.ukui.ukcc.session.Wallpaper", +- QDBusConnection::sessionBus(), this); +- if (!wallpaperInterface->isValid()) { +- qCritical() << "org.ukui.ukcc.session.Wallpaper DBus error:" << wallpaperInterface->lastError(); ++ if (m_previewPictures.size() != m_sourcePictures.size()) { ++ qWarning() << "picturePathList.size():" << m_previewPictures.size() << " != sourcePathList.size():" << m_sourcePictures.size(); + return; + } +- QStringList previewPictures = wallpaperInterface->property("previewWallpapers").toStringList(); +- QStringList sourcePictures = wallpaperInterface->property("sourceWallpapers").toStringList(); +- if (previewPictures.size() != sourcePictures.size()) { +- qWarning() << "picturePathList.size():" << previewPictures.size() << " != sourcePathList.size():" << sourcePictures.size(); +- return; +- } +- picInfoList.clear(); + +- QSize IMAGE_SIZE(166, 110); +- int num = 0; + QDir dir(LOCAL_WALLPAPER_PATH); + QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs); +- +- qDebug() << Q_FUNC_INFO << "wallpaper path" << LOCAL_WALLPAPER_PATH << (fileInfoList.size() - 1) << sourcePictures.size(); +- if ((fileInfoList.size() - 1) == sourcePictures.size()) { ++ if ((fileInfoList.size() - 1) == m_sourcePictures.size()) { + qDebug() << Q_FUNC_INFO << "equal file num, skip load"; +- picInfoList.clear(); +- for (int i = 0; i < previewPictures.size(); ++i) { ++ m_picInfoList.clear(); ++ for (int i = 0; i < m_previewPictures.size(); ++i) { + PictureInfo* pictureInfo = new PictureInfo(); + if (pictureInfo == nullptr) + continue; +- pictureInfo->pixmap.load(previewPictures.at(i)); +- pictureInfo->fileName = sourcePictures.at(i); +- picInfoList.append(pictureInfo); ++ pictureInfo->pixmap.load(m_previewPictures.at(i)); ++ pictureInfo->fileName = m_sourcePictures.at(i); ++ m_picInfoList.append(pictureInfo); + } + return; + } +- for (QString filename : sourcePictures) { +- QPixmap qPixmap = QPixmap(filename); +- if (qPixmap.isNull()){ +- QFile file(filename); +- qint64 fileSize = file.size(); +- if (fileSize <= 100000000 && file.open(QIODevice::ReadOnly)){ +- qPixmap.loadFromData(file.readAll()); +- file.close(); +- } +- } +- if (qPixmap.isNull()) { +- qDebug() << Q_FUNC_INFO << "filename" << filename << "to pixmap is null"; +- } +- QPixmap pixmap = qPixmap.scaled(IMAGE_SIZE); +- +- QFile wallpaperFile; +- filename.replace("/", "-"); +- wallpaperFile.setFileName(LOCAL_WALLPAPER_PATH + QString::number(num) + filename); +- QFileInfo fileinfo = QFileInfo(filename); +- pixmap.save(&wallpaperFile, fileinfo.suffix().toUtf8().data()); ++ int num = 0; ++ for (QString filename : m_sourcePictures) { ++ m_watcher.setFuture(QtConcurrent::run([=, filename, num]() { ++ convertPixmapSlot(filename, num); ++ })); + num++; + } +- picInfoList.clear(); +- for (int i = 0; i < previewPictures.size(); ++i) { +- PictureInfo* pictureInfo = new PictureInfo(); +- if (pictureInfo == nullptr) +- continue; +- pictureInfo->pixmap.load(previewPictures.at(i)); +- pictureInfo->fileName = sourcePictures.at(i); +- picInfoList.append(pictureInfo); ++} ++ ++void Wallpaper::convertPixmapSlot(const QString &filename, int num) { ++ QPixmap qPixmap = QPixmap(filename); ++ if (qPixmap.isNull()){ ++ QFile file(filename); ++ qint64 fileSize = file.size(); ++ if (fileSize <= 100000000 && file.open(QIODevice::ReadOnly)){ ++ qPixmap.loadFromData(file.readAll()); ++ file.close(); ++ } + } ++ QSize IMAGE_SIZE(166, 110); ++ QPixmap pixmap = qPixmap.scaled(IMAGE_SIZE); ++ QString tmpFile = filename; ++ tmpFile.replace("/", "-"); ++ QFile wallpaperFile; ++ wallpaperFile.setFileName(LOCAL_WALLPAPER_PATH + QString::number(num) + tmpFile); ++ QFileInfo fileinfo = QFileInfo(tmpFile); ++ pixmap.save(&wallpaperFile, fileinfo.suffix().toUtf8().data()); + } + + QWidget *Wallpaper::pluginUi() { +@@ -266,9 +257,32 @@ void Wallpaper::connectUiSignals() + }); + } + ++void Wallpaper::loadPictureInfoSlot() { ++ if (m_picInfoList.empty()) { ++ for (int i = 0; i < m_previewPictures.size(); ++i) { ++ PictureInfo* pictureInfo = new PictureInfo(); ++ if (pictureInfo == nullptr) ++ continue; ++ pictureInfo->pixmap.load(m_previewPictures.at(i)); ++ pictureInfo->fileName = m_sourcePictures.at(i); ++ m_picInfoList.append(pictureInfo); ++ } ++ } ++ wallpaperUi->setPicturesFile(m_picInfoList); ++ wallpaperUi->update(); ++} ++ + void Wallpaper::initPictures() + { +- wallpaperUi->setPicturesFile(picInfoList); ++ if (!m_picInfoList.empty()) { ++ loadPictureInfoSlot(); ++ } else { ++ QObject::connect(&m_watcher, &QFutureWatcher<void>::finished, [=]() { ++ QTimer::singleShot(300, [=]() { ++ loadPictureInfoSlot(); ++ }); ++ }); ++ } + } + + void Wallpaper::showLocalWpDialog() +diff --git a/plugins/personalized/wallpaper/wallpaper.h b/plugins/personalized/wallpaper/wallpaper.h +index 042422e..1f2d81f 100644 +--- a/plugins/personalized/wallpaper/wallpaper.h ++++ b/plugins/personalized/wallpaper/wallpaper.h +@@ -27,6 +27,7 @@ using namespace ukcc; + #include <QObject> + #include <QtPlugin> + #include <QFileDialog> ++#include <QFutureWatcher> + + /* qt会将glib里的signals成员识别为宏,所以取消该宏 + * 后面如果用到signals时,使用Q_SIGNALS代替即可 +@@ -66,6 +67,9 @@ public: + void connectUiSignals(); + void showLocalWpDialog(); + void loadPictureInfo(); ++ void convertPixmapSlot(const QString &filename, int num); ++ void picUnitClickSlot(PictureUnit* picUnit, QString fn); ++ void loadPictureInfoSlot(); + + private: + bool mFirstLoad; +@@ -74,7 +78,11 @@ private: + QString toChangeKey = ""; + WallpaperUi *wallpaperUi = nullptr; + QDBusInterface *wallpaperInterface = nullptr; +- QList<PictureInfo*> picInfoList; ++ QList<PictureInfo*> m_picInfoList; ++ QFutureWatcher<void> m_watcher; ++ QStringList m_previewPictures; ++ QStringList m_sourcePictures; ++ + public Q_SLOTS: + void dataChanged(const QString &key); + }; +diff --git a/shell/shell.pro b/shell/shell.pro +index dcc1788..084dcbd 100644 +--- a/shell/shell.pro ++++ b/shell/shell.pro +@@ -93,7 +93,6 @@ INSTALLS += \ + imageformats \ + guideEN \ + modules \ +- protocol \ + search \ + ukccYaml \ + diff -Nru ukui-control-center-4.10.0.0/debian/patches/0144-182-fix-ukui-control-center-fix-display-drag.patch ukui-control-center-4.10.0.0/debian/patches/0144-182-fix-ukui-control-center-fix-display-drag.patch --- ukui-control-center-4.10.0.0/debian/patches/0144-182-fix-ukui-control-center-fix-display-drag.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-control-center-4.10.0.0/debian/patches/0144-182-fix-ukui-control-center-fix-display-drag.patch 2025-03-12 19:30:45.000000000 +0800 @@ -0,0 +1,20246 @@ +From: nil <zhoubin@kylinos.cn> +Date: Tue, 11 Mar 2025 11:55:37 +0000 +Subject: =?utf-8?q?!182_fix=28ukui-control-center=29=3A_fix_display_drag_Me?= + =?utf-8?q?rge_pull_request_!182_from_=E8=8B=8F=E5=97=A3=E5=85=B8/openkylin?= + =?utf-8?q?/nile-1210?= + +--- + data/en_US/image/20.png | Bin 164776 -> 117229 bytes + plugins/application/autoboot/autoboot.cpp | 2 +- + plugins/application/autoboot/autoboot.h | 2 +- + plugins/application/autoboot/autobootui.cpp | 19 + + plugins/application/autoboot/autobootui.h | 19 + + plugins/application/autoboot/datadefined.h | 2 +- + plugins/application/autoboot/rmenu.cpp | 19 + + plugins/application/autoboot/rmenu.h | 19 + + plugins/application/defaultapp/defaultapp.cpp | 2 +- + plugins/application/defaultapp/defaultapp.h | 2 +- + plugins/application/defaultapp/defaultappui.cpp | 19 + + plugins/application/defaultapp/defaultappui.h | 19 + + plugins/application/defaultapp/service.h | 19 + + plugins/devices/printer/printer.cpp | 2 +- + plugins/devices/printer/printer.h | 2 +- + plugins/devices/printer/printerbtn.cpp | 19 + + plugins/devices/printer/printerbtn.h | 19 + + plugins/devices/printer/usbthread.cpp | 19 + + plugins/devices/printer/usbthread.h | 19 + + plugins/devices/shortcut/addshortcutdialog.cpp | 3 +- + plugins/devices/shortcut/addshortcutdialog.h | 2 +- + plugins/devices/shortcut/clickfixlabel.cpp | 19 + + plugins/devices/shortcut/clickfixlabel.h | 19 + + plugins/devices/shortcut/doubleclicklineedit.cpp | 19 + + plugins/devices/shortcut/doubleclicklineedit.h | 19 + + plugins/devices/shortcut/realizeshortcutwheel.cpp | 2 +- + plugins/devices/shortcut/realizeshortcutwheel.h | 2 +- + plugins/devices/shortcut/shortcut.cpp | 2 +- + plugins/devices/shortcut/shortcut.h | 2 +- + plugins/devices/shortcut/shortcutline.cpp | 19 + + plugins/devices/shortcut/shortcutline.h | 19 + + plugins/devices/shortcut/shortcutui.cpp | 19 + + plugins/devices/shortcut/shortcutui.h | 19 + + plugins/devices/shortcut/type.cpp | 19 + + plugins/devices/shortcut/type.h | 19 + + plugins/personalized/fonts/fonts.cpp | 2 +- + plugins/personalized/fonts/fonts.h | 2 +- + plugins/personalized/theme/drawiconlabel.cpp | 19 + + plugins/personalized/theme/drawiconlabel.h | 19 + + .../theme/globaltheme/customglobaltheme.cpp | 19 + + .../theme/globaltheme/customglobaltheme.h | 19 + + .../personalized/theme/globaltheme/globaltheme.cpp | 19 + + .../personalized/theme/globaltheme/globaltheme.h | 19 + + .../personalized/theme/globaltheme/globaltheme_p.h | 19 + + .../theme/globaltheme/globalthemehelper.cpp | 19 + + .../theme/globaltheme/globalthemehelper.h | 19 + + .../theme/globaltheme/globalthemehelper_p.h | 19 + + plugins/personalized/theme/icontheme.cpp | 19 + + plugins/personalized/theme/icontheme.h | 19 + + plugins/personalized/theme/myslider.cpp | 19 + + plugins/personalized/theme/myslider.h | 19 + + plugins/personalized/theme/radioproxystyle.cpp | 19 + + plugins/personalized/theme/radioproxystyle.h | 19 + + plugins/personalized/theme/theme.cpp | 2 +- + plugins/personalized/theme/theme.h | 2 +- + plugins/personalized/theme/themebutton.cpp | 19 + + plugins/personalized/theme/themebutton.h | 19 + + plugins/personalized/theme/themeiconlabel.cpp | 19 + + plugins/personalized/theme/themeiconlabel.h | 19 + + plugins/personalized/theme/themewidget.cpp | 2 +- + plugins/personalized/theme/themewidget.h | 2 +- + plugins/personalized/theme/widgetgroup.cpp | 2 +- + plugins/personalized/theme/widgetgroup.h | 2 +- + plugins/personalized/wallpaper/colordialog.cpp | 2 +- + plugins/personalized/wallpaper/colordialog.h | 2 +- + plugins/personalized/wallpaper/colorpreview.cpp | 2 +- + plugins/personalized/wallpaper/colorpreview.h | 2 +- + .../personalized/wallpaper/colorsliderstyle.cpp | 19 + + plugins/personalized/wallpaper/colorsliderstyle.h | 19 + + plugins/personalized/wallpaper/colorsquare.cpp | 2 +- + plugins/personalized/wallpaper/colorsquare.h | 2 +- + .../wallpaper/component/custdomitemmodel.cpp | 2 +- + .../wallpaper/component/custdomitemmodel.h | 2 +- + plugins/personalized/wallpaper/gradientslider.cpp | 2 +- + plugins/personalized/wallpaper/gradientslider.h | 2 +- + plugins/personalized/wallpaper/pictureunit.cpp | 2 +- + plugins/personalized/wallpaper/pictureunit.h | 2 +- + plugins/personalized/wallpaper/previewlabel.cpp | 19 + + plugins/personalized/wallpaper/previewlabel.h | 19 + + plugins/personalized/wallpaper/wallpaper.cpp | 2 +- + plugins/personalized/wallpaper/wallpaper.h | 2 +- + plugins/personalized/wallpaper/wallpaperui.cpp | 19 + + plugins/personalized/wallpaper/wallpaperui.h | 19 + + plugins/plugins.pro | 2 - + plugins/system/about/HpQRCodeInterface.h | 19 + + plugins/system/about/about.cpp | 3 +- + plugins/system/about/about.h | 2 +- + plugins/system/about/aboutui.cpp | 21 +- + plugins/system/about/aboutui.h | 19 + + plugins/system/about/hostnamedialog.cpp | 19 + + plugins/system/about/hostnamedialog.h | 19 + + plugins/system/about/privacydialog.cpp | 19 + + plugins/system/about/privacydialog.h | 19 + + plugins/system/about/statusdialog.cpp | 19 + + plugins/system/about/statusdialog.h | 19 + + plugins/system/about/trialdialog.cpp | 19 + + plugins/system/about/trialdialog.h | 19 + + plugins/system/display/colorinfo.h | 19 + + plugins/system/display/controlpanel.cpp | 19 + + plugins/system/display/controlpanel.h | 19 + + plugins/system/display/display.cpp | 2 +- + plugins/system/display/display.h | 2 +- + plugins/system/display/getBrightnessThread.cpp | 19 + + plugins/system/display/getBrightnessThread.h | 19 + + plugins/system/display/outputconfig.cpp | 19 + + plugins/system/display/outputconfig.h | 19 + + plugins/system/display/qml/OutputIdentifier.qml | 20 +- + plugins/system/display/resolutionslider.cpp | 19 + + plugins/system/display/resolutionslider.h | 19 + + plugins/system/display/scalesize.h | 19 + + plugins/system/display/splicedialog.cpp | 19 + + plugins/system/display/splicedialog.h | 19 + + plugins/system/display/unifiedoutputconfig.cpp | 19 + + plugins/system/display/unifiedoutputconfig.h | 19 + + plugins/system/display/utils.cpp | 19 + + plugins/system/display/utils.h | 19 + + plugins/system/display/widget.cpp | 3 +- + .../time-language/area/addinputmethoddialog.cpp | 19 + + plugins/time-language/area/addinputmethoddialog.h | 19 + + plugins/time-language/area/addlanguagedialog.cpp | 19 + + plugins/time-language/area/addlanguagedialog.h | 19 + + plugins/time-language/area/area.cpp | 2 +- + plugins/time-language/area/area.h | 2 +- + plugins/time-language/area/areaui.cpp | 19 + + plugins/time-language/area/areaui.h | 19 + + plugins/time-language/datetime/calendarwidget.cpp | 21 +- + plugins/time-language/datetime/calendarwidget.h | 19 + + plugins/time-language/datetime/clockwidget.cpp | 21 +- + plugins/time-language/datetime/clockwidget.h | 19 + + plugins/time-language/datetime/dateedit.cpp | 19 + + plugins/time-language/datetime/dateedit.h | 19 + + plugins/time-language/datetime/dategroupwidget.cpp | 19 + + plugins/time-language/datetime/dategroupwidget.h | 19 + + plugins/time-language/datetime/datetime.cpp | 2 +- + plugins/time-language/datetime/datetime.h | 2 +- + plugins/time-language/datetime/datetimeui.cpp | 19 + + plugins/time-language/datetime/datetimeui.h | 19 + + plugins/time-language/datetime/timeBtn.cpp | 19 + + plugins/time-language/datetime/timeBtn.h | 19 + + plugins/time-language/datetime/timelabel.cpp | 19 + + plugins/time-language/datetime/timelabel.h | 19 + + .../time-language/datetime/worldMap/dotlabel.cpp | 19 + + plugins/time-language/datetime/worldMap/dotlabel.h | 19 + + .../time-language/datetime/worldMap/poplist.cpp | 19 + + plugins/time-language/datetime/worldMap/poplist.h | 19 + + .../datetime/worldMap/poplistdelegate.cpp | 19 + + .../datetime/worldMap/poplistdelegate.h | 19 + + .../time-language/datetime/worldMap/popmenu.cpp | 19 + + plugins/time-language/datetime/worldMap/popmenu.h | 19 + + .../datetime/worldMap/timezonechooser.cpp | 21 +- + .../datetime/worldMap/timezonechooser.h | 19 + + .../datetime/worldMap/timezonemap.cpp | 19 + + .../time-language/datetime/worldMap/timezonemap.h | 19 + + .../time-language/datetime/worldMap/toolpop.cpp | 19 + + plugins/time-language/datetime/worldMap/toolpop.h | 19 + + .../time-language/datetime/worldMap/zoneinfo.cpp | 19 + + plugins/time-language/datetime/worldMap/zoneinfo.h | 19 + + registeredQDbus/main.cpp | 2 +- + registeredQDbus/sysdbusregister.cpp | 2 +- + registeredQDbus/sysdbusregister.h | 2 +- + registeredSession/plugins/about/aboutinterface.cpp | 19 + + registeredSession/plugins/about/aboutinterface.h | 19 + + registeredSession/plugins/area/areainterface.cpp | 19 + + registeredSession/plugins/area/areainterface.h | 19 + + .../plugins/autoboot/autostartinterface.cpp | 19 + + .../plugins/autoboot/autostartinterface.h | 19 + + .../plugins/datetime/datetimeinterface.cpp | 19 + + .../plugins/datetime/datetimeinterface.h | 19 + + .../plugins/default/defaultinterface.cpp | 19 + + .../plugins/default/defaultinterface.h | 19 + + .../plugins/screenlock/screenlockinterface.cpp | 19 + + .../plugins/screenlock/screenlockinterface.h | 19 + + .../plugins/screensaver/screensaverinterface.cpp | 19 + + .../plugins/screensaver/screensaverinterface.h | 19 + + .../plugins/shortcut/getshortcutworker.cpp | 2 +- + .../plugins/shortcut/getshortcutworker.h | 2 +- + .../plugins/shortcut/shortcutinterface.cpp | 19 + + .../plugins/shortcut/shortcutinterface.h | 19 + + registeredSession/plugins/shortcut/type.cpp | 19 + + registeredSession/plugins/shortcut/type.h | 19 + + .../plugins/wallpaper/wallpaperinterface.cpp | 19 + + .../plugins/wallpaper/wallpaperinterface.h | 19 + + registeredSession/plugins/wallpaper/workerobject.h | 2 +- + registeredSession/plugins/wallpaper/xmlhandle.cpp | 2 +- + registeredSession/plugins/wallpaper/xmlhandle.h | 2 +- + registeredSession/screenStruct.h | 19 + + registeredSession/ukccsessionserver.cpp | 19 + + registeredSession/ukccsessionserver.h | 19 + + registeredSession/universalinterface.cpp | 19 + + registeredSession/universalinterface.h | 19 + + shell/res/i18n/bo_CN.ts | 339 +++--- + shell/res/i18n/en_US.ts | 449 ++------ + shell/res/i18n/kk.ts | 1173 ++++++++++---------- + shell/res/i18n/ky.ts | 1173 ++++++++++---------- + shell/res/i18n/mn.ts | 337 +++--- + shell/res/i18n/ug.ts | 1173 ++++++++++---------- + shell/res/i18n/zh_CN.ts | 339 +++--- + shell/res/i18n/zh_HK.ts | 351 +++--- + shell/searchwidget.cpp | 17 +- + tests/unit_test_about/main.cpp | 19 + + tests/unit_test_autoboot/main.cpp | 19 + + tests/unit_test_datetime/main.cpp | 19 + + tests/unit_test_default/main.cpp | 19 + + tests/unit_test_screenlock/main.cpp | 19 + + tests/unit_test_screensaver/main.cpp | 19 + + tests/unit_test_shortcut/main.cpp | 19 + + tests/unit_test_wallpaper/main.cpp | 19 + + 207 files changed, 5053 insertions(+), 3152 deletions(-) + +diff --git a/data/en_US/image/20.png b/data/en_US/image/20.png +index fe13bc7..468c465 100644 +--- a/data/en_US/image/20.png ++++ b/data/en_US/image/20.png +@@ -1,542 +1,397 @@ + �PNG + +-��� IHDR���������tC�4��� pHYs�������+�� �IDATx���yxT��8��=��;3��� �%aW��[\P���EZ�R�ZŅ�*�jk��Z[��ڪ����jį�;�`DE A�$��s��w2��L&��������{ι�^�w�R +-t$� ,K"�4 ��B ����;��qNS7����1���D��)�DҊt�D���h R@�-�hR�%,0U}0M]1��S�`�{]E�>'��-Eܓ0n(�B�;���`sw�1�c��,DB�݈�\����[&�(�k��v��������(��1/� �j�c �w����BJ�2@(�Bru��z�b�>G_!�(�"0�Z��-9,c�1�c��Zk!Dsw�XB�*2��V\\��������!q+;�������1�c�e5w�9�K�!�J����⨌1�c��cf� )E�zp�P+M�²�f�c�%3Ƅ�a�u)6r�1v�AD۶}>��b�E����O$c�5�1f����1ƈ(������űc-f� Z��f�,�p��2�X���@ ��a�5��c-�����ؑ��Y`�E���1�Z$N�1��?��h [��w��B�r�X����[g�n��#�<4�lZe�yBc�1�c���40#���m۶���'��yyy����cˉb�Hi2�wS{c��"*��1f3&�2�3c�1�c� ��(7�*c����Ҷ���Mߗ�n�B�ݻwggg{�1���}�rssw�رs��n] +-���u�*������$C���8�!鸨�����T(6�?���h�1�c��,���C Ҷ}�h�!M��O"���֭�{�(//��������8���/�W_}uժU�z��袋���JK7�Ñ�{��ٱk˖5��c��'"m��A� G�EeB�����"ql&�c#�heԑ<�۸�&��vՌ1�c����4���E�+�D�h�IJ���M���+�aÆ�k��_|�f������v����������-�;�ӫw�� +-�8G�:�-g�e�H�ʠ�xe�c�1�Z��qJt�"��Y��w�ځb�C�P(��ݷo_�ui�w;w��]%z��"r]v�k�o#� �&�M�Ƅ]Ѥ�W��6aׄUth�V&욵ߕ~�ٲ�2a�DTͨES]�;���I��k�˼�J�hʸ�Vu"R��lD�θucL�^4�t�R$,��5�9s���ѣG�s����c�1�;ơ��+��ϑ�(7���A�V�ھ}�Ν;7m�t���?�0�t���3�p�"����u�V�q�=��֭[���w��q���t�3��8v���`0��#����;v�8餓F�5v�X��"W�?,KH2U ���@j��r,G�V&�tQa�ʊ�/�ZӫWo��D�B`tu���2&]:� +-ѡ�ɧ��������j���v e2&��ڬ������C.:��6f TUU��Fz��c���СÆ 2<�X#�ٳ����2�}���K������@ PTTT\\ܱc���; +-�iӦ���k$��r|��n$��t�>[TVVn߾���x����;W\\�����ox�}>߈#v����'�x_������oܾ}{��¼�l!m!�@ ��R��!��3���3�8cժU��ҥ˜9s���3f̚5˶m�F�Q !A�'Z�Z��c�H)N=�D �`�����ꫯY�n]�� @� +-B +-�� �cD�����"���%�D c\ dH#Z�˞!ؖ�b12d2 +-�H{=A�$"��u�����.c��#-^�x�����ŧ�vZ�v�*++���fΜ9dȐ3�<�H[������ڳ���?:�:�c �nݺ���}���<���=f̘{7�*۶m۷o_�>}R�ݼys h]&ME�~�B���� �F"�0���ݧ�k����b�;wn߾��ٳ���Q8�={��_ܩS�-[������+**ڶm�oᄐ���59-˒ +-���mi!�����U�V=��C'N�"�����{�n۶������k�V�@��]�v��ez��� M&���!�MC�\��K +-�@aH�ޕ �!@(0��ߪ�)A�e 2��F�\M¶yՏf��㏏?�{�����j��ť��7�pCVV�w���������%%%�p�YgŗWZ/�⋵�7�ۿ��K�>�z����w�6m�r��2�ءPRRr�UWu��)�ٍ7���+w�}w�"�|�7.����?>�Tii�Y��������T8&;���%���H�@�����������W_@qq�o� �g�y�ȑ#`�ܹ�/~�w.������?�0p����," +-�C CiYm���˖-���??z1��̛?o�;�B�a�ι��K�`����-�(/�-���3��q����r˲�<�8ꇣ:w-�5��=�w�6~<"lذ~�ܹc.��-��7�X�bŐO��u7�/��e˖g�}����W�^���Ɛ!�����M��O�^VV֯_�1c�t+��iz1���M���" +-$C`4 @��l[�2�ʖ�]׀�e�;�.��щ�a���o߾|����,&++k̘1ӦM�ӧOlL��Ͼ�r��-����Y��7K>[6d��1?�P���1v�<���i�LM�d�}����@�n�����Ͽꪫ^x�1c���ͼ��+��ҥK�MY�,K�z�(��m"�I)���ɓ'G"˲"����1b�WtĈ˖-�B�m��8�]v���¡p���DW����={��O>�裏&gɌ1��v۔)S +-���?��رcg̘1w���o��6n,�^�r��)O<��ŝw�@��{v�Z�Ѓ�^�孷�"�X�b�/&���ʕ����`0HDO>�䂅��Mλ����/��֭[<��W_ݽ{��uŸ�|�z���?�����gƌ��{�{�w��g�{����-A2^��hr �3К���9]�cG��K�'Ge�������K��=�;�l�e����p��'�>�"sT�;�ZP�u��ԩ�UW]��/^r�%���XTֽ{����Ve����5�c�)cL��9J����L�dс�'N�۷�)S���;u�Ԅ��N�:eʔ������V����g��9s櫯�z�-�����'�rj0:����}��r�8��S��C��_���;z���'O��k���~�����K��w���k���֬Y3w���˗������rO�v������B�~�駟~�u�և~��3�H�4��HH�j���B/D)�m ���j�d��:�_�)��� m�y��������4 +-���bo7o��݊ +-cGN<���N���y�օK�~�p�� ��Ǎ1�eeK>�콏�}���&n�����}WZj�Y���w?�h������|�rջ~�lŊ�I_o�~���/\��r�5c��:w�<nܸ�^{mÆ ����@D�X�u͇}���m�뺳f� +-��ތ2�q�����a���w0�xfΜ�.َm�W�k�|�@۶m?���I�&m��[n�ڵ��O?+��4(�]{������f͒R��~�B�|>��g�v�/ ����wN?~| ���9b}���(++۸q�a�rss�G�� z�����R������u���G�R���1�w�1F���^D����ز�uG$W��({at�"y-S�E�I�ʠe��e�l���;v�رc�7�,�#���R0L?�;//�[I��!/�V�ZeRM#&����{b������k�}y��9s�S�v�x��iO��Ҽ�/_���ߘ�ZI��G�>����|8k����������u�}�����[��������c�S���*%oϙ������;��g�O1�K���p�ر���J�2���в-W+7"���p5�e��"�ݻw��^�ŋ�w�yo����ŋ?��3��`����_�h�s�\�r���yyy~�_��\�RD �ZB��a���?������/�N������g?���ٳ�x�M�6�ܹ3//﮻~B�1�~�6�<���<�V���999�PYY �;vlժնm��@+�ھ}G~���D�����������c3iR����@4D�Zo6�����h�(.�����֠�W+�Fh�1C)Hk�h�ɛb�*6o^�cG�@ PYYYPPPW�]�v�m�6���!'~����/]�vݰ3��w�q�e�ή���/� t\�f�˯��?���={���u�2��1�yy��ֻ�-�lن�e=�E�u�m,� +-�}|vV�T����k%����z��mss��З_�>.�ܻw�ݷݚۦ���z�g��1�܃�xcG��3�쨙�/6�a8W����/�Wi7�PH˱[��!��m�v�֭���6o�ܵk�/���>�B2�q��e˖͛7{-�k�r���Jk� ڮ?�-�C����oǏ?f̘7�|����s����gϞ_|) p� '��s\C�PD7�F�=�+~!`��w�M7=��>��9�{��KK7����zg�<k�o�=�ׇ�~�ɗ^|��+�|��m��&iH!�m�2d(w!"��>H=�Ͳ�2� f(� F h!�q닐V�F��͏Wed������ �6n��������k>��.\4�dvV�V]p� ��zg��p^��]b�����&;{��oz�����G���X;}��^�ٲ�۶�3������x�.Y���x�mss �2����]yُ���}z���;w6�I0�Z�����+ o��_��3g����е���˗�O&.��67�s������Q�6mڴo߾,]��S�N��7z0 +--Y�d�֭�m6,''�S�NDԥK�vm�J)�Z�S���o��E��Z�j����0x���z+EQ!�@ ���P����KJٖ�RX����M�F����k�ԩ��{oQQ�ԩSo���X٢����#���������M�֫W������'c#�9�+ͩ�2N;C!��Z|5�I+E(9]v$�Uc1���3g��߿��?���ҥK������Rʡ��<x����h��3^/9q��������ٷ/;��G� +-����[�m�r͚-[�mڲ����r�����6o�RֽPX,S��6�� +-6��c�XSZZ�c=z����c�Μ9��K/�k���4礔��E�7o�رc�+�����ͯ��jB�s�9����^#bQQ7)���ED7�tSqq��~���������?��������?�p������p����e����9�P��~��Q�fϞ�}>_���7v�� �������iӦ�X���:��@X�ū~0�ؑ�cǎC�)))3fLBl_{��{�o�>�b �/>����R���_�<p`V�V�Pmٶ=V�k�N�y�� ��*yc� ?0�ā<�����c�v�i��Ҍ1vP���Θ1#>Eֽ{wo=�K.�$y��������c߾�V���{���1� rp]�{��]��ׯGo�V�6ox��iӦ=���Ç/,,��O�y���{O�:��SN6l��~���?���{�'f̘ѣG)�!C>�����[�gϞ�GTԽg���s���O?�tڴi999����ۿ�N�:���4������nݺ=���p�y�5��C�e;�� 5gΜ�0�/�0�#���ՙg� �ӦM+...,,��˫��ܸq�ҥK�������0����>�I?��7��Y^^���Pإsʭ�?X�pͺ�?��/ �}ǎ���\бt���u���a���f�Wvvv,��l�֭���M���͛g̘�����q�^~���.�,üY=�"���3�_���t���;`��+���f͚�z�ꢢ�Ν;{�Y��}z��Y��p]�v������iӦ-\��,˺ꪫz�!o��A��.]z��7�|��� �1bDl��G}t���?��O��w�qG��G��-�o���c&M�4~��o�1vDJy�w��o��?�1y���/������}�m�5�qv��V\�^x�39�;Z!�Yg�էO��K�~��'�p�m۶;v���+������_r�%^l6���v�tB�~����Ю][Ƕ������k����*�ac�mY���U�zF��ٳt��+�\���<Z�1v�jA�Wzcƌy�W��cƌi�UZ�ju�W����{���]w]�{Q�ֺ�ґHd����W���-//�����c*++����@1`��^�z9N8��nذA)ջw�w�ڵe˖^�zy[�Rj�ڵ�%���d���<x� 7�0q�Ċ� +-"������KKK]�%%+**�mۖ� v�H�I�qz���]:t���L�0�{��i�.�����l���cƌ���s3gmٶ�o�^�z����ڼu�O>-����+"���������dg�?��v�mw���ɲ�?��������z{�+/vv�n�6m����RC�Oq��0u�s��l��o~��4��z�]{�zVa�.��,\t�/�VX�\��?��KA��7\�\��5H�6m����F�'c�q�o߾��mKK7lڴ�����{[XXؽ{���� �n��qǥ[k�m۶)-˲��}���H�^��������*//�2��3�(--mݺ���}��)g0�Wed�5HQQ��=kV��7_��EK�.���5�������!��:ӛ�ݾ]��n����x� �B����c��s�.��xw��(����+�=��Ki.�����^3��>X����'�`P>��c��f�Q�,Fk]QY�{��`U8����*�*�mn�v�ү�q${��.����c�>���EEE����?���I�������z��{����1c������w�>c(�MN�_��p�@UU����_�D�w�>Ƕ�@r��(���ۗ��c����,g�k���{�?��۷GW��ԩ�]w���_���F���80c-f��d�1�r���L+��ѱ�r�J� 6TTTu�ԩ��6&���%x�Ã3ֲp`�KƁc-W40#�F\��!@!�e;v��b�HUȥZ���ձ^�[N�C��#C���h����f��@*�p�kC6�X�c,f��\����B��v�JEB!���%,[�اi��lz�ͅ��@�G|W��_㺚���d3�c��c�@Z)����xɶD(v]e�2Lՠ���b}Ǧ�̎�\e��Y�F�c�1�Xm�C dM��% ��������P{^�iJ�F��V$c"���kM�#Cʐ!@DKF�u��V�K�I�K�*2q���iYBb����!iC��xM"D)j��e�P`�ȕ(������FR�4 +-t$�o�)�[o�㟿�5Q��K"e� ��@+�PI��"a��3�9D����c���1�1��X����ы���' ]����/q�BR�*������"˨� ���`BD���Ls.J��="r 8�P�{F*!��!2�������� M^���8)U�����Fw�i�Lƍ{�J'T%W��}n$0�\;�Z) �9�G�2v$�m;�4w/cG۶����Ƴ�Eur+�y�C���W�B�B +-�@F+�"!C~�#@4����@[xy/����1�%�� %C$m!)�v��%A`4�""WiBI{��%)�z�UH��(�R������4-7�~ӵl��2)Q"��0@{o,)$F#O2�k�X�c�s�����|��rҌ1�AD���ܽ`�5���%#a��-F�E���^H���钎�&�fYC!�u�--̸��C�$ +-�`��)e��jb�HC��)��F\k�9DD�N�±�BuL����ĵ#�"2��U ����1���e��3Z��%�(zVxw��!M`j_�(W���b��K�YYY�p��3Ǝq�h۶��k� 1�b,�@��7� ����}� G���va9�|ԆҲ�1ڀ%3m�)b� PCb�C4n110C!���J���%z��c�@VGD�z c&-7�~ӵ\���&<�X��!���u���� q%�����12�B�@ ��#�1�k*/�B��[��"B E���A���&��:x-7���C�Ur�-���7�zI�̠d"��`&��hZˇ������� �IDAT�������9]�c�1Ǝqq90":(�(m@4�ò�����rtVU]���E��l@�\=�^��:�?���H������Ij�:����qK#f�r��7}���E�T{4�w6n%�d�u5H�1�c��R|d6n�5 ��-�����ᰪ5�����Y���@�z��:ZN��o���g�'Hk�N�`�u3�z��P�Z���vt���h�E�hJ�2" +-��b����ҵ� I��Q��[��T�N/�����2�Ċ�v�A�A?�1�c����� +-W�$eteEm@��[���A��l��A���V�P�j��ʨ唄@4D�Z��:�V`�f�fT7�X|���v���j|ˈ�����P +-��@)��@��'�e�rS>A���J1MJ4�L�jj֤O]�1�c�1�ꌙ�I+�u�i��r��CaY�V��J����y5�eo^S4�A�v�Zh�h�mY��YFu�ߘ�E���-K����"��^O2��2zE�2z�Yl)nc�-g���͠�ў����FѶP�5��zaO���(-^��1�c�1@�5/��]�QZ��4�p0��?�;r�UUU5wc�1��1�����2 @�>�k����r,^��1�c�1��X��cqk��R��l�v�1�c���3�$B@l=�����e�1�c��Z80cM�ȃc�1�k:^��1�c�1ƚf�1�c�1��80c�1�c��fv��1#�F®6D�`�Z���>2{�c�1�k&���J)�5"D!,۱�����(7�*mQJ�v�%H����m�����D�C(�����Ö�3n8�H�>K���z+Gf�c�1�c�łh��BJ�F ��j�;��̨p(�Aڎ��]72����(�U �� %4o�p(�AڶO �\7������H�q�H�yd��1�c�1�l,�@� 852ґP�u#��[@ZE4 ��s$�����*�g!��p�|�@*Tֵ[7Ji����D�h�IZ�#2# ��#lA�#�W�1�c��fc����8��]C���hE ��~U²e$��&�BHax!Ԕ@D��L�R᪰�G�ж���7NQiEY� +-W�Uu�pՁ�w���檫e��ґHD��>�}�9�#�6(���E3cM�c�1�c쨔*" "�\dʸia(��m�q[ZBH�"�t�@0�u5 +-�>(C��̞AiَD ����--����o����� ;��iZ��`H��,G"h��ᐁ��&H*���ѨH� ����}6�W�1�c���U���(����4��P��F��/�끖�3v#�`�t�>[�Q|ƍ�-_�Wٶ]�)R�1�� �Җ�e�"�����s�%0r]�XՉ= ��>[��p������r�z�c�1�;j%fkȸW�t�ړ���d4Q�� BH���|>�c�����4���Fi²ku�L�J�2m�el\'�����u�=��I/���$c�1�c�աvƌT$�h�}� +-���D�8�"�Ɏ-�hI�`8Q����?��uPro hٛxW+�C��?�"��c�1�ci��_�#��B��w���y�ux�Τ��{�Ir�(W��5?MJᥝc�1�c�yb���$}>_�F!�v(E��p��+3�:�o�`|�Z#�I�8� H�r����^^��1�c�1�$���"F8�C���u�2�m8m���LV�@D���!Y�W��@f4�5!�+�u�:��u���H��"q5��k�u��QH:n#6�J��Ysp]w�ܹ�/mې!CN?��SN9��;�c�1�LxC#�P�*���E�d(-G�qC�뺑P(b@�5Kcx;~�W��7��-�B0n(v�he h���_��IAǮV�W�cR�`(�J�n$Ft]��b�RJ���X����XH* +-G\��p�5(탳�c �o��q���ڵ������dذa>��� �{�c�1ƚ�ի�v���shI���YX>?�WE"�(,�Wk'2�"5�r#��$l)�/�Wi7�PHˉ۩9=���1W�Ҳ}B�:���7�*7��m�m[��^�ҵ���c$�T���s즮d�Xc����3f̘5k֨Q�����̙s��)���c�1v�X�h�[��g: +-��[N�s髣�}�n\�P��@\]+�B��� �@뺯-�@�ꦽc��)O���Ť����L}��W�0h� �-"���?L(�q��+V�ر�O�>��~����O>���� 8p����֭>|x�^����o�]�|y$8p��'��NUU�ҥK[k��O?�m۶��k�nڴ��s�ݼy�e����O9唁�*�ڵk���۶m���'������Z��Wk���8��*��Ë-���=餓b-������z��{&=Y�r�%K t���G�c�1v���1ƎX^4��;�\��)�d/���=����� ��\t�E/���m�S�N }���4iR~~��!C��g��0a�\кu�[o����]w��SZZz�w�_���3�|�gǙ>}�w�E��~��S�N��{�t�y��{�Ι3���� 6��G?���2d��O?�����z�W�^6l�8q��o�=x�`۶?��� &L�<���M�2e͚5˖-s��s�̹�[>���LzRRR2f̘���{w3�c�� �1�R��G?���K'L����?��3Έ3�0������&M����@YYٖ-[l;���>}��_\ZZڮ];��裏&L���+�x9���9rذa'�tR$�뮻rrr/^�����?��OO?�tl���{��?�۷�;N;���{�̦O��u�֯���C��px� ={�����SO=�o�[aa!">�裿��oƍ7hР�c�^{��+W�<����^}����;�O�>���;����ۿ�uߟc�1�X����T�Z��6m�3�<�r��Q�F >|�����������_�*�@QQQqqq|�������ϗRJ)'O�����$6��*..���`� s�ν뮻rss ��'?�1cƶm�bM=������CĎ;�9�>PJ��ڶmo���;��*++�{�)**�ޞu�Y�������͛7�kyÆ ����q�1��L�<y����2�c��8c�Xf���q�F������������w�}�w�^�t�w�ٺu������{�k�K�v����瞋��Z�[������X�dɪU��S�����}��N�:yG⣠6m���`0���}�u��C�����/���XyϺu��͛�jժ�@yy9�t���nx饗&L�`���ŋ��s�ɰ'hԃd�1�kf�1c�����3f̻�{뭷>���+V�ؽ{7�x��zy���˿�S\\���}�v�X�n]�TUU�wܑ�������{��hѢ������2d�?��/�'N�x�y��ܹs�����_�[=z�7�|�j�*o�q�:w�܈�0�c�� �1c�(Ѻu�1c�<�����#G���R��tө����$��k&L�֭[#z����ӟ���K/}���������K/�tڴi�=��g�}֯_?�ذaC|���������o����ߟ5k�A� c�1�ؑ�3f��HD��O̟??�`YY�t��5\{���=�\|lVUU��)���M7͚5�L��[7Μ9��dee��"++�+���5k����\XXx�q�yg���_+++��o�1c��ŋ��g����0�c�᎖��1������3;�ٳg���w�}����O?�������������W_=x�`���{�|��k���7��MAA��+�{�ٳg��7q��9s��p� w�uW�Νw��1cƌ�����۷0`���ǻ�Kk}�9� �eˌ1�]w]�VTT\xᅣG�9rd^^�P�z��0hР����3g�x�_}��}�ݗPw�ȑ������x㍱����c��#�`"��k�O '��Ϩ�v]��1���o��OIG�B.5��#�P0l,���#Fnn��>;bĈ���������'^{��ޚ�=z��7o�������/��?��{��VhL֥K�>������0c�v�n��&o>T��<y�ĉ��Ͼ��;��a�v���������ӟ��]�駟>|8��|���ׯ���~��ƍ{���F�_w���'�p_~��ev�z�c�1v�C���'2Z)�v �d@�pUH�HJ��eK�iPZ���p]��D�AZZ4����~G8�uEE�ֺC�)��������g���jϞ=yyy��b�hǎ~��M�6 ����ݛ�&����������֔�0�c��Pk��q�a�"�PUX�̔����!��*0#���|<B��B3�c�1vH0i� Gf� �_�.���1ڸ�ѱȘ����hi�Q�������!c���A�"�E���:�$�H���ъF)E¶9*c�1�c�:I�i�H�J�˼�hh�[�R��J�T�ʛ��²�>�W�^�Jh���db�3 �&����A�,b�lq�VJ�tx#c�1�c�PJ�H+M(���"�R�f��HȐ���e4H{�� X�@k��%�����Bb4�#C�(�4x�E�y��#$�*����e�1�c��C*!0���RNBZ����T��פ�,Kb(亮�eӂ�X�K�������h�LxgP�0� � +-h���D��e"1_f��I�%��c�1�cu���R�0����r���J�n�hVÆC�!�֣��a/�2:�"H�q@D/3�������]׀��0F�c�1�ءV+�0Ji@i�C�#B�;� ���X���Bo�CD�ɷ��N����e�1�c��� >f�2��!�e,�[q�A�3V�Ku�T��aj���ǭ��(�/HD���� �C�(c�1�c,*.p�JV]������2�O�B��ʍ�r](3]���<FDTkl�FVd����(�xg����6��#����."��#0Ү2hYI+S2�c�1��!˘�V�@� F�V� X��ҌR��J4*����-�t8肔B ���J_f�� �h���& P+r��� P��xժ+%E&z�&h��Q ���Q{��\�1�c�1v�TY��&v#�DFEb[��Qn���-% +-�Jk� �PH˱m;�-IJ�@ȍK��6�o0M��U@���k-))����HZ�y�2�c�1��a�Zk!��D)�hѢ�O>9+++�yR�`XK�נ�e�5�Z������c�1�;F5q�:M�6�W��՞={R�m�ԩS/��z�y뭷�O����|]�v=�Sƌ#e#�����'L�p�u�=��)N����ė"c�5k�{�^s�5�=�\�:ƘDz,˲���Kc�1ƚ�1F)��j����կ.\HuX�p����L�Y�nݫ���dɒu��}��gO<��e�]֯_�m۶5�cC�:t��_��4 +-�v�mYRRbYֻロ���ѣ�+���}>��8�1�c�fB�q|>_�V�?xU�lϞ=��l���+**2o�{�0a�(��z�����|�ͳg�nD�N<��4�b����f�1���qH�c�1��������C���w��|WAA����G��yu˲n��և~x���D��y��N;�{��>���ݻ'M�Թsg�X�`�{キkSO=�'?��m�^6lx����r��ǚ�7o�;� +-��>��K.�$��UUU3f�X�|y�v�F�y�g������{�0{��u��u����.[�~�ܹsO>���N;-V��>x�/��R"z�7V�X1dȐ�n����3�Q��/2�c� ���e5ØF�u]��R/((X�`��z����y�G���G�?8`���q"�Hyy9��|��'�p���o߮���I�:���!CJKK��%%%�0i�$����[n�����?�Ǝ���wo����oݺ5�<��yyy������^}�U�����cͦ�W���n��������W_ݠ'�����Md�1�c ��>���7�۶m:t��z�С��*�f͚o����O�%��|�ɞ={VTT�ٳ�C��?��ԩSo��={�l߾�?��ϪU�������M�:uʔ)��_6nܸf͚g�yf�̙^�/���-[�̞={ǎ���>��W\���������ٳg�B����'7�I�O�>y��]�v��������_ܴiSC�;jp��1�c��,�Z�g�ŋO�:��G���;�<�LD�2i�6m�����nӦMvv6�<������>��m�Z�Q��슱}�Ѽy�[~�� t�=�xo�������Y�f���>�nݺ &x+�8�3iҤ6m��|>˲�#�|Wr��>����^:vlb&L�0~��@ ���=r�H"Z�f�A{d�1�c����P�1���Z�jU��?�W^y�W�����sϽ��;;p��ܜ��k�`˖�+++�;�<o�g�С/����>lذ�f���v�ܙ����_�2v����kî�l�2�9rdC{[VV�܇��>��j�!������@eeeC��c�1�; +-Tfd�q�6�(�m;v��+������夓Nr]7���P#��=��C��v�m�)�S�n� +-�mڴ�?ئMn�Tr�={��X�"vp� {���[�l��m�f�O"Rڔ}���sr"�H)�����R��������d�1�c� ��̨p(�Aڎ��]72��sL]��[o���� �`��=��K���}J�_�~�PVV潕RH [7o��,<x���z��~�q �@߾}ߙ;����y?m���} �����.��W�p��̚1�c�1v��@ZE4 ��sl�v�~G�q]E�OS7;;���sa�={�8Է���S\\��g��^��;��~���9�� +-������ׯOn����`ʔ)�#�`0 +-�7��[2�ؾ]nqq��e��|���!�����m��i~�1�c��CG��ъ@�X�FX��Zg���[PЩS�N��˗/�^/_�<�TR�&�e�� c® ��� +-�*�D`�*N�2Ų�.����z셗^1b�ʕ+�����!�R&�>��1fذaS�|j��ӧO?���KK7��E]t�E����?���^z��)SO:�����D4d���0������{3_y5��P�-Q`�?���'�>�ʬ�^x�ʕ+��c@X���2�c�1Ǝy�C�R�dnP�� L$t Z�V��m��[3w�T(��ӧ�5*~������q5xQ����?��Nj�x����v��m���=v�m��k/�4hЂE������f��R^p����g͜9�����:��7g�)����K/u�?b�O���O����;t=�֞��>|��M7����m۶�?�����Z����F�2�c�1Ǝn����al��p(���� +-FL�,e`f"�`u��\h�ߺ��t�s����h���H)��`ID��ͤ%b9��;wVVTv��������K.�䞉����?�Vt�2T�{���[z���؎7�̒�5�6���u;�k����;wVVV����L�'FD��;w�ݷ��q�k-�A*��x~������ުU�f�:c�1��w�?�,��D� �D)�'!-K`�H�Ese(�D� 2&�T~~~�v�U��{����ܶ@� �@@�y���k�FG+(M���ݿ_�h}�v@j�����_GIi"���t��̌r5 �_2�c�1Ǝf5����~iPH�� @X���]��{�L|�ƪU�>���_|���O�����h��+�S�v�(���K�4@���fI����a��1�c�1����e�����D=^���m�LֈL����w���m�w�u��ц��y#0�\[��5 +-�D��Q���tu����Y�-19�"�*BN�1�c�1�bPkM*r��h����ջf��TeT� s�lE��b�-QD��ucg����F�MTۻw��ﯵK5�6ѵCl[$\�}��z��Z���V�bQY�������� �IDATg"���N�� �#N��c֪�Cѓ#�oeXS�BjU߯l�.0�;T�'C�BZF�V�7�Հ�Z ���)[��m"c��j�ݏѱ�d����u���q�����EL>E ��3�(ڝ4u��2�)��E����2hY�y;(��)�'��ǎ'�HY����S ��<�|�䖓;��3u� +-�>L�D������K�l���~��W�[Hn0�CHn-e-J{���)��Ù|������#K���j���K��s�c������HvCa�%zS����Ö�J�g��W��R��H�0*���V�#��@4D�Z���_�(i @��7��V]�L����"��Z�"�֠!Z16��c�h �h CZ���i�V���}�f�^�\E������s�b��J646Kӓ4ݫ��r& fd~;�fiJ��ӺN�Z-'~��A�u�z;�I�zO�{<}k�G��j��H�����ȱc��C������قT$Q-ǟ�H�z�q#���F���qU&� Z����@���A�x��@Փ>CD)�u����� fq�.D��ߠ� H+W�������s���hB��>S4��Ն��ݨ�W�٥�e��ğ��fyb�MӍ&�hE��o�e�1Ǝh��/�㷜4%�h��|��h�[�c��N��� ���ƽ���ʆh՝�RԾZ��*��.�v�_���"��.cK�&QM���[��e�:�_���zIG�[Hy�X�)ی?�6AB���Vׇ��S ͦ�@�'\4V>M��zG ��x��O�j���]]�4�b��ի����LyɅ����g��x�m���:�){��'$eɔ���/�c��kt�����XiBB�)�3k���ɑO�4�?���̈́��\��+�)��H���4N?�,PW#MI6(��%��d��I�z�����Y%�̙4�ɏ}����92�c����pAa��2��,����h�Ϲ�v;���^c�1����1����L��fRS�n�G�Tdž�M� v���Ks)�yrS�Ϧ�z�2���W�F2l�c;�cG +-Θ1�r��LI�E���Ҵ�y;��Q�����fɋڧ,Lu��<6�:~��62y�'6��oD���3�cM�3�Z���������I;���i�e��4U�z/����o��`B��S�Z�p��f2�.�ye)�Ly��A�;ń��]��ٙ���:� %cO5e�M�j�P1�?��g8�0�5"ĭ�v��4c�1�t�1c�K����ݸ�"a�����J�ݱ�0&ûHx�ج��ĸ(�u��2 ~�*��?A���iJlV��C�� %Eɤeo��@�\��{u= ��IEc��&��c-Z���_2�`BS ��`,'SwO�\]����WR]���b��a�����6��k�}��J\b +-S�H b�Mӓdu=�4o�o9�qe�HR?j��$��Aݏ%�_B�Uǟ� +-���í��u�Kcj2�c�j�3"R�L�����O���w|����g�ܝzo�lKr/���`��!j ����oBJ IHxI��BL��Ӎ;.�\e[V�W��ۛm��-&�>���3�<3;��g�����b�#C�D��y�P�u�^J�Yx��X�&y��n*O�S�o�[�)T��"�UU)�8tz֤_���]%�m��|�Է~9����v�H�z X������MY��%�g�q8g0I8f��TE�t�" +-�$�R��m�N{0���[g�28��T�Fb����1��չ�� +-ܝa{���!�ˬ\У_mK��)��:C�!M?0��D��s�8wm��B��_E����{���#� �y֞����{G��=z����?���ߧ�S]�R�o���2�cfh�hLA�e���*QB!)�y�����4�`zeD ��PU����9�@��T��{�-�b��O;�o�~I1�NZ�>���Oi��v髂�Ƈ��{$�����t +-ag,:���ʑ����&���{�S���#=��l���J��p8ΠB��ꚢS"�$Ir0(0TUKg�F��y@�Rl�����$��v���>/z.���'���d�~'/C N��?�W�_�>E��Zٖ�mƤ*��Hc�w�~���T��g���ktԆwݺ*�]�dZ�N�(��/�!���=o���(�ˠ�����O6�F�Y����l +-�%��/�Ķ=��a���"��F��ֈ%A��N�~�k�N{p� ��@�ED�j�� I�X� t���@t�SE��uC3\ck��i�H_��9�pt��Q)�Sts��ͼ��4�����d�_B�������TGOU����'��*�;���Ͽ���~qTu�Ӧ��S[����~?�+E�_qR�L��3��N��b9��I@ �!� !�f0�H___8����Ӧ�y0�ċrW�sq]�t�A�[��|Y�Հt� �V2P����^׃R9I%�鍗�}�i�{��p�������̌t���L��t�e�FW�z�S�(��`b�z�u�QG��#eU�0, UMu�x�����mc����p8�A�{,��T�Ec:�A�`����R�=��@�(U4J�1@�R�jP� z�����e��jδ�4>�m��NVH�&h��`BI|-�Cز��e�SD�$zdd�Y�JF�ZQ����=$X=Vv�i�:��I�����y%��u��L����l��~�i'k���??���ɧ����߱v��;�;����QG��TD_=�w�:먙��7M�w>SR��Օ?��[g͚����7cf�����ﯭ�F�5kן{�wZ��VI)��Ĭ"ʔ�RϚ�����Z5� +-$��}1_����5y4�d�a�k�jҎ\���\�Ȏ쒒�$H�"S@���z���"P�q8gPIn����uJ/Q"�"A�2R��W���� +-������ B�c��i��N�4��Dr8_��;����zG%��ީ|��g��*�Wf��c<-�_���+�8��QV�U3�:��;V�9������J����͙}�$Io/]fjm��HSsKyy&���A9�vuu{ʑh<֊�ս����7c�iy9�yJKwk6{(s����6=��qԽ��ޚg�cֳ=S��8�'D�[�mfy�ՃM,WH�uL�3_����|*#���p��cF�H��` �nI"��S�R��O� �WK�3i���EJuU5@�i���;ɮ9���ǡ����9�����N7ڼw�^t�7f�x�Տ�c�mw?�/��* +-~�'Ρ3�kn��O�{��I����6���;_��CC���2AIx�=��k��p�;v�Q��N�t�%W�54AC�G���f��5�Aj9��#� ��<Ֆ���p8_s��W�a�8�����wp����@�4���R��`��Y5l�TW5�|��s8�~���<��;�(�/}c�� ���T���9�9������Kn���/8zI"�̚2��E��|��{Ą1�hlܘQ������_��5u��+K���1�u��ܐ�۞Ci�*�p8Η��� �n@b�j�H�p�R�=�I�@_����(5(��@��8��03TU�^�9���M�c��,�H빯���C�]A�������cO/f�r���fn��U3$?/�[�x������ߺ���2�sy�� ߺ���u'�*�˂��e������1���ӏ?;����%1���d��\�2#��~��� +-���p!"�ADU�5���\z( +-v���U� H�į�i�ӜJ A�g�@@7�D��V]���2�ׁ������ۏ���5�,�]���_5�L=Y�����N����%Iz�����u�<�H�o}��]���p��l��9����N�=���{��J��"��a oү�~�Sf�hH0���$���p8�C��(�����h$ͥWDv��e�f ���4K�6M͞�hP +-��T���|��D@j}K'F�M凗q��ψ�8��grw�%�fv��P��$��HQƴ�����7?Xm�3kf0��_��^���Wlٺ= +-�d��:z�[�� ;+�Gֳ�|�k����iU�m�`��$���p8�1"b ��E��`0�-1R�=͈��Xm@P�c����?���CuMՑ^�9����nr�.�D�B4��%b��e��Lh%����#U��ʅ���LR(�6��ڼ�d��5X�-�xY�L�"��mO�x����d���b����1 +-�S{�\�\�CJΘ{dYY ��|���g�3�מ1�Ȭ��@ p��#��^�����G.]0�f�q��#�����s��:���%�w����;n�(ȹ�[w�����gl��&k� N�bL<�,���&;��:zDz�ݏ���L�#�]�%M4N�5K,�����䃳ٓ,2#foN|Y���p�u���*�j�HL���__�a ��_b���#� �f��|%��Ȏc�+rX��(;$cuR�C)f�7�#�B�?cX��e��~!�(��r�f�f�L2&����O;�Ą,Z���9�Z +-�zg�~�;���믃����o��@�zo��%���[����wN�w��~�ys���^Y��Ǟx���s�ӷ�����⌽���=r���������g�<������hl�RG���xZro&��|1��OYɔpԹ{"����Y�ݣ���M���>{L +-8�M襴s�J��s8�k��3��s̨�i%�$�7�����c��-W���}��78z�h��Th��{;���z���!~9���o̜8~��~V ݸ��ŷ>�����z��`0p�U�w����/���pGck�J�6�zC���j�����bN�S�1��Z�N��݃�=�FSt��0C;������9�����q8;f]I��@:=`j���W�:���HmX��"� +-��!��X�曵{��Uv�a)�-����'��B@��{{;y���z����r +-��߶��7`�q8�ט/�g�wd4�������V�5/�}U_��Hb�f +-h^x8v��{v[1��_�w�� 3.n�ߴI�ǖ�oO�=#��n�˛Cb���\��"���Y�)��7Ʉ^�`&`z���).<��8�nec�g�V�b2�2�lh�yi�v�)���6К�����,<�������Xpnj�9l�fMWcz�n��Ga\��U�������l�bIGǺE�*��|nSۛ,X�R��]!֭Y�:���N���Tzƚ��~")��߿�ݡ���jT�u�nQ���$����֦&�� ϒ���Eu���L�fp8�3��I���2:���%����ϪĖ��b�[��4gå?in��#HY����Ƅ����_K���Л�3�V^�s�Hk�^ґ��->���B�2��h]�����G�8��t��I��&�e:���z��d�M֒D�g��Q�rwY�S�<�\[4��P�^��S;@�*I\8���Ǔ�9�4��/����^� t 8�:��#��o�ث��{0��O\Ƿ�w<ӄ:����ҡ+�z x6���Q3���:�1�pc#iNjs�yG%|,?��"��~�L]���Zn��m:5�W_�������K��7|@��z��ʳ�cU�5��� +-���u)mN�<O1K��*ҁ{e��t���T���E#)�)���b�Q�w�Jz�r8��I����9D���-i�h[����ɭ@�Ӎ�3�������i��r���̑sg�������)꭪�g�0��u׀%��x5����jlZ�ea���G�8�s�q��Q-���`F@HG������C!)��QCSU3J� �$�O�@P�Z,��MѨ I�xk��b9�u|3d�w%�8���k��ԦaF�xs�W�x���V~�)r<����}�TY���-��xUW\�k+DgSA��Ҵ��wB��Z-���p8���1���������@��M����*:� H ]SըN����y%(3�A�e*$�����ϴ�͗��R�c�9Xܓ���d��o�S��O��@��e�o�/�nU>�{�i�p��n��+aaң����i��W�G���p8_&�cFuU�PQ��!d�k���i:E)�M/DЈ(��SA�߀�W��<�z8�!u8�A��8��9La�)CS4�"*�����0�/��Q2�����t�KR-�R($&@�����`(k�a�� UQ4]7(Q�o�d?��UEQu�R@$D$�tKm�>�H_���@F�{���� �G$#z���q��#�}��M�����R�a~����Q�j������ZۯI�S��A;���O]�4�?���0�@���nr�Ƈ�_���p�1���RA��YYe:$��Ϩ�����,[��4MQY ���:Y7 �@P�@u%�v$ ->�R ��!��ݻw�X�b�ĉ'N<�|�P�Q�Q�Dj����1(��DU*�Ѭf�'�s� �f��Ӄdz��:^�د�/YRo�nYc�P�d�M2�Y��kA��*۵=a�g0�e��^Rt�b3r��4�R������rw���H�h�^b�f;z��;�T�g�,�W��N\�����9v�w/���#`��_ػ�;$������2qnjꊢ)$"x�A"HD ���iJԠ����k֬��>刉1U�F��4M���+�ˏ=��~�RJ);���`�`���蚢S"���p�H US|�������WVV�_ڔ����9H���24$D��J�P��[�p�P`����6J1������}�-���6� �r�9%q�c͜����&���p�c��5Lv�"���ٹ:��*`��Q[��K���4~�0�o))��>��|��������8�f�a�v̝=�ѧ^��3�{z5M[�a���3{굫/�O��شnӶcfLZ��;N8���m�������T.�Ьe���vo��Pa�<�@�1 +-�����Eƕ�|&j=j4�Z�;�����&:�]�G����"R1`�4�;k���q8�3X��`..)(�t� ��[Vr09�&�F����m��6mںuk���Y9D���nټYU���2�??�� J�_u��e�:"Z�AAQ=� ��0D��8��뚜x��FF2`n}�����l.��B��k0]"�\��ԸD 5=3mr8�Rց�o�G��%eY��`��F��:�9u�u�!3��g���t|4�Ud�}L�� +-ت:a$��D�����N�<a�ؑ�F�F"ц�{�L:�O����|��ΜҎ���JC�7!'�����K/lni �#H����ys`��#&�z,+3dfQ�s����E���pJ��lM>�����hs��QֳI���,쵁�@ؖiw���f����!Z ڼƤ��q��<�ؘo2�k�������!�ʐ��@����p8��CST*��lHD9ȩ�7D���5M{�9 ��(�R ��Ԡ�l.1G����zF���)$�P= �#�hLQ5��W�J��%h���?��um�(�Q�I_f�͑!����:���ɂcr1sOd�q�<N�f��I�H[y9�J�YE~�b7�1�%���E��B�������B�?�jL����7U�*-�T��e���^~KQժ�|M�=�RLQ>Y�z��1�C�����۷.9���1fN�<n�5��ܭ٪�1����M> w,x+�� �ΑiZ��W����76��J��Zص�f���+���p8��C�+�ADY�o��H J��b�s�(��TW����ݳ{�Сf��[7@L�����mڴ������lҤI�(���744��Da�ʕ"��#G�رC���1�L��ѱm۶���ʲb3d�֭]]]S�N%����}������������ �SӴ5k�TTT���}��DZX�c�qc��u�pt��iA)�MQ|Ae�zU�T�e�5>��`���G���l�1!�s��K{�\��b9P#������C|�:�E���w�I��F�Ѳ����w.z�����?��?�e�w�規>���˿9f����}{yY�]?���OW-z��:;;��T�oj~�7q��[�������z�o�Kf��LQ.d\�;2r��?kJ�Cx5�Ep%֝�l��_ lxrR%�������V�A�� �IDAT�p8�C��R +-� ۦ�i����)��hU��kʤ#�5�cɒk�����[�f��ŋ%I���^�fͧ�~�p���۷/^������|}1�\r�%�7o����Z[�Q +-�k]�|yuu���o�Z�d�(�ӧO0�oX��[�躞���jժ�˗�y��!�F�����/�:ujCCCkk+�Խ�����[�t�3g������D� J@ 5UTM�����C��.O3Zj�cI�y�n��C��mvv��~�[{׃�������������� ϼ��Zd�|�����~����/3D ��������V�2_�����t +-��i�-�������_v^�[�#�]^ȶy���]���p8��H� ;(D5%�QA�%B�����:A +-0��a��������r�G.[��5k�L�b}������_}��ѣG�}�٢(�����/y��wO=�����?���e�/�"(!!������n��]e���c��ؽ{��i�BgGGgg�̙3�����7�*.)���eg���<��/���W] +-��Z�j���W\q"6�n�ҥ�F��3{�A ����Զ +-�v\�)��vgA�� _�δ���=�:D7(����Z�X_߰��!MK�/�-ҡxd5!4���{���pL l��Q�n��k���oR��H4SE��"��FQ���f�:էM���_��;����*�h\7�X�l�t����(@qq�ȑ#7n܈����<0TM74M2� +-�v��X,�w��ɓ'뺾cw��ڱ�� fPX�l�a��ΕAQ����c�>:��^��ew0\�`A0txemmm/��bqq��g�-��jJL�4M�t#1�ӈOS4�}&��j4�*��i��*��FQ�� ���M���+��g�Y8� j�R��y���[����Lr-sJ���/�N-�>��x�>�����D�_$HD�h����9|�$I�F�H�̌� ��}���-[>��9� $F����/��+,u����p8���u�D@�� +-���,??o]��s�N�0&M��~���m;�Tݹc;!���\3����R]3LU5U����5����deTRR:��b���z*��u�Y�@�n�M�i� ���Ţj�D-���0~�5 +-�`h����,9�1�(E�+�Lsw�>�X��f��j1�Fȱ8�s��c�D��j�����<�O� +-t���Fb�A�o~��_�i���QW����3eq\���~_T,@�I&��H��SI��<���iN�E<9b�]o�v��.ch�����R�*��9�sq;fD +-eJ�De��@���%�J�?~�ڵ�W�>����===����h���aÆ��h��b0�a��֎X�re[s�m۲��� 6dȐ]�veff6442$??�T� ��1 +-��p_�?��CA���e�F��(����Ȟ�0���� �Sh�p�"�q��A�$v�I.�q��єItf��Q�㔭ks�q��q=���s¤C��� �};�{�'��mf5'*'^R�[�)��G�Աm�g���Q|���n1er���P_gۘꡛ?� �4qXp��=e�3�Y' +-�Ȝ�C�uh7 �e���� +-u{�id�IV��s�Y'��2M��t�6�yܞ&�+)1�������6C9��r�,]N>��Gyd��������ⶶ����QŭdĈ+W�ܽ{�Ν;kjj����v�ҥ ���S�N��666*�"�q秳��JJJ���3�Pe���}�ѬY����J���3���2��d����d��k�f�c�OmKb���e��������Y(G)��Fsξ[��`���qX�!�z��q-��@2���4/�V��9e[I$t�N9�� +-�{�~>�'����i�#��ҹ2� +-�1��N2�`��%��"���6��5���c�s��B�p8lqJ +-gΜ�v��h4j���(��a���$I��p8�>�R__���:|�pS�|���P[[k��u��Y Y���թ��2e�G1mڴ���w�}�t�8��0��\�_ +-�w@�ƀt���z�MG�W,(���;ׯ_�J0+�H��OܰuoFlR6a�\�ur�5�g�AjR7��M�?���ٸ/����p8��'_�c�s�� �B�نkΜ9����������w�ܹy�槞z���������}ݺu�7o�����Y������� �}UTT�B�-[��!C��j�=�����7�x��w�ݼy��ŋW�\Y]]=q�D�]����0�(���������O;�4M��-�9��<�콃��!��e�yj��aw�*��a%���v=�pp �Z�f��6�Ѧ��}�v��+_���:������@vnö-��K�}4yL%R�T��P�i�o..#}k�]� �+ӳ�n��ٹZ����^�葅C�#\:�U���;�>\���p�/h*#����?��W_�B$I�ꪫ/^�|�rsQYii��'�)�������_4�ͭ�G��k�����l�@����7��ifBY�����^{���ޣ� +-�0}��O<��)��B���,I� ��ytEEŴi�V�\�~���'���p�����\�w�@�L��\F0'4Z]Tے�D���w �l]���b4��]B�IF��h���HR�ogn�&2��b�c���"�=x +-�*vb�#�-t�W�U@���Bq��ާ�;z�JD-'H�+���ߜ)�hDF=��(+�iJev�g�:<�Ǧ)��8�L���H�s��q�f��<j}�&��(0K1>(eն�����,��K�a//�Z��v�r�4|��|>#���p�u�~^ٗ��i���999�� �hoo����B�VQ������s�}'5���_0��){l���o�b�X�[6Ľ'��^���⊓D�52sl9�Y�y�q#r����k�7{�آ���}=�#F��V�� �e���6��!��"� +-@L���BX8ڼi�[���p�|�=�/�%3E�s�zBHQQсye� �rqq1��8_W &>Ř����_�IZ�G��3��.�#�@�i5�"U��4l߹j�U!"�ڶ�ij�*�]�u���4E������ ��d�Gý�)�Z�` +-�T]L|F�#��G,�v8����ٗ��1Ոi��G�� �4�]�e��3�nNOьE+��Td��1W0������*��A�2�K�����{�����v���DU�����6��{�Uc�*�M�4���kԸ��e�����q0���cU��8�H3�8,w�ׯ��){j3� +-�x阝^v~ѶY�q7�����=&�_��|W��0}*�0���p�� &ǽ�6�ORd��1ᰙ�qQ���.�V$��2��s�P�T +-��K�_VIU�:��Lb��' S��-+�i��42~�Qՠ��pՇ� +-�����c��+�v�G5A������z��ֺ��#�N=�a�F�2��_9�RbsHֺ+�����S(�B�ҹ����x�a�p��̚-�#SO�[�.�Y�`�4�K�zq��ʂ��p8'��?��*���$� J�$����+�jyH�PHJx|��TE����I�����Z43�`HN�J8�/ +-t�\�LD���q�2s<�ײ1 +-ɉ����K!ٿMmp�%JG� ?�i&G�ŀ��I��ƎHk�8,O���ѫ���:< ���C�H:v�͝>n��f~�ގ֑#Go^���I3�,EUj&k +-��'��V����Ɓ<+����T�?�����`2֡��<u���p���D��AI���iJ4 +-�s�/D����N^j,�� HR� 5tMU�: �_ GH��U�)�ů���G��9�8�ͦ��,4. +-��(M���=N�w��kmq�T�o��s���1��a�����J����vȤ=���r�u�������ܝ���J���#��u7�4I%Ã!)��=i|�D���Q��~(fg��; ��o��`H��8~¤<EY�'v`�٪�3��f�I��O�l�0vYo�3��+�p8�#P]��@���$�D#1U�Ā��3�D�e��� M�)J�@|�IЈ(��S!M�_6TS5ŀxX �q�[��1�6� +-�ް��4���^��~��^�I�+9�f�$�1�0����=��0����D-�������70%@2��+ath�D �U�1G-���f��2<��qqy)"P-\X\J ����T�)�+�+�$dԎ(h��Z��HgoGF��#J�������o�*��v^���c��[wi�>�f��;��U��6��D�'�i;��J�b���6��Փu�L�;�;���!"P���l1����|g`o&��:,K���A�+�8���p="�5 +-DH�/DA$�u��?L?8�uV��K�Ӵ��������@ C��$�cw��0�P"�OZJvÏ�����Q"I���������v���:E[_,O,>V�?=nk�,qf3�� 6���'E��װs(�J�K��G��t��iC2�P�V���AW��&F�ʛv��B^wog ��"���חV���ې�fuԪ��͍���Z���� $���0W�������j�rB��m��F��f������WbQ$0�:w͖}���ֲ��l�� ^�yb�'�U�Ί�{dV�%��t*q +-�U>8Z�=����6������[�=y��=��f���p����h�k�cf(��j��8��Q-��tD����4BMSTA�����DN�dZP����P$���'i~�ꚦ�0��r8�C�����zx-�$��(Ʒ�a����@��D�<�����Ҹe��Q�����4t�'����Șm�<c�ּ�:ޮ�!dG�c+ɿ�������YAAU����ښ�s��A�ډG+���<����:�� �0�vLaِ����e]D%E��]*�F�ý==z�O V��lk��jh���22��wn,>a�����ܕۻ�3���fܮ�EC��TK'SL� �yi�n�5�.��1��x�6I�=�&�ik$6�$ɡ@Aݕ��Vm�#��8�3��D6K`�7i��'�$Ɂ@ K"RM�F=ѯ�$��D#�p8Ut��A)=�)=�AU(��Hz�d!J H�����i�|���ib{E�x���=��;́u����w�Y����G��ޙEk�β)i��@<KpY��� �˭F��~��urL��P�v167� +-�P�-ɲ$�����sk}~anW�~��`ȡP�� �m��1+��/ٺi}H��ꝛ�}�f�$D)���\ �� @����h����Y=�w�@�n]���k?e,GW�z������k[�1�V����,g���؛3�������q2�F$�d8ڲ��E�Bw;�p8g� �(�PMQTݠ���Q�DQtMn�`P�%QEI1��H�#!D�@ �"�J4� ���N�^�0�{��S"��=%��ؙ�"�y Yb;oS��rR�B�� �$��m�;{�ȑ:[?L��%����ds���Z�V��I�N��-+��*���x�6Y=���3 �%�E��cӪH�V0zF��jݳm�����-ᶆ�+g���;چ��v45@�j&f�2@���U��^�i87#R����Y��� e����nں#7;7m���QSf15���h3>Q�lł�B��e����u�A�=Ѥ@�١��������T��I1�kr��a�J���?ɦ�@{F����p8��������$��D�a-Ü��x�ID9ȩG�PE`��E�X4�r@EQ�@0 ��(�`�k�#�������9�@�vl ��o�������V�� �4-�ln�{��pٞ0M&w�w���ԝЙI��ߖ;:����=5]x3���۲e��@(sw8��~{gWϖ&�z����hX�0�����FN5T%P9���GU���E%�}���%e]a C"Q�X��=�`���5��۴eecG���XQ�-��)��ټcՊ%ӫ3�f��N�v"�@A��U +-7l����u?SwuQ��5aG6�2�i1��^҄���G�{�C-g�z�����p8�a�(����P(�22B21W������9��l+(h�o>$��b�jn�n�U��ć�8_a���M����p�<R�?��9�Ʋ��M�k�3���]<g�8���WYl�z�pقy�.�Lj�1S�xր���]�_��m�8��\�`�e�y����k�P��Dz��5E�{���# UݵmkV^��Am��} �+���9)+���\=u���� �#FeI��~��BD�GD���E߾�[眬�zN^��cO��l�.��5A�^���������@KgWA�\X�^wɜi�D-�����Y�~�h���<v0�S�}۷G-s5��D6S�?�~�7쐳�<ҧ}�%f��d�� $D�������}:�e#�����̱Nā(ė�����R���PU�^����9�{�n7�3��8�2�<��%����9s�ĄO�N�K�ԑ�.����^7c|-�^p�S��Zm�_'gg��f���,�d� p��sN<~�3���ɿ><���]R��������^}��a�7^ɂK�9z*W;�Ij8(j����%C�JK��G�hWˊU�����%}]m͍{+�j��9�\$�7��wΙ�Ə�jk*,�0z;ƌ����3�R��#C�^Vpݵ�骢�x�%��?Y�q�Φuk�>6�םSPB��h�2�P����)��ڱ�c_�����^�����ڊ�G~�<��_p��'��2�xʰ���5�>���wL��o�n=�����U���[���z��)2��:��p8gP�8}�P��✴hh��S$�L/j�̖TSUP4���u�&��6t]������v�,AB�AA7(aW����;O�^�9@dvͳE�@�7�{Z$S����<�aެ���ևk���q��]x��1���6u��2{Z$]���f?|������������Ar�ܙ;����[Y�_R���������S��VU�.~�U�`ڸ�ʊ���>6o+��N=inkk{��ݦE����$i�'������ �FT�E��eŢ(,�d=�%���g��U�T������f�ݸuǾS�mwuǞʒ����H4:~T�Ko��?G��@O�=-����S��E(�S'��D"�6n�0ntLє��5U�N[��� ��cF��m��w��h�)'��VUV���"f��fM?���D���⒢��'�|��_})`D C���:��p__gW�{�m�2rh͈��-�X1�s߶b)�EN[S\����U�� +-K +-�>�����`hy��U�gN�P�]�zĘ�{��y���Ԝ�����?����z����R���� ��#�w�e�'Ξ�y����5PY�_T���FiQ�[��6����p�{����j���҂#�L���{Z:*�=j��ة� +-��^]��n� �U}�hey�( +-K?^o6�������aEQ^ue��k6��CEݲ�q�ؚ��ח�*�F �*ʖ��'��������������ϧm�����p8g�03-V� j�n���^��k�� ���c�D�T�5���od��$���F�T��nK�t<B Jt����$�H��5�NP�~��a[�F����*H"04�^�9\�:���J}>3��,Gk�pkwyk��у�ԟ~1a�X�X�nÚ�.8��'s�E��Ig_��}wT*�����������7_{Y^n���SP��7]����Ғ_|���o���p8������>�����y��ߜ���;o�ܺ=}�M�x�i'�;&�eegF#�o�9z�ȚҒ����OVox��~����v�5ӧM���)-)������מ�c$VU����y�o_�g����S/�j{�>p���X���xݕ==��`���o�ɯh��x魧�����CeI<�G�yϯ4U���+J��^{�����-uu�}�������w'�9��+�����u��k�7~�wo�)�X�0t-���䢿Q�fd�(�R(c�O/Z�謳�!��z����J�[niii)**���o�撨m�'�� �IDAT[n�n[kkn^W\�[6<�ҟ^w����TU�{�'=��'�pܜ��<g��}��Iӏ�����@Owwii霹'*�����}�@��?����������nii)..>��ys�v�/�FcEE�?���ϼ��ϙ�M�]��ݝ���g��쬼������=��S���0.��'̺��w����<?�{��#j�15�얟<h��W��PQaaFFh�ɫ����|⥷�����Ǎ���$s]��>���g\p�ڭ����}�|��s�u����}W?��������[n����n��~�'ho��03���M|R�v�JdRqߌ��p8���!A@�k��jR �ӛćD ������@D9Z~ +-�PP 誢(�F�(C�4u�($����i���Tש�O�~�J���: +-"���s��9����=�:c=�\vּS'}�O�蘣f4�o)*,<nƄ�:uӖ���O�<�������:�3�d7�q,��W����_���36��,8u.� ₋�}�o���K�����|�Okj��y�Q�^y���yؼ=�����?��\�uɛ�\���g��͚�[Kߛ��cX;���Ϛ�[K�;���?zjEy��]���l�R�FeY��o�8�K��w�}�%�����>��YGN���O�'|�K̛2y⍷���s�y�6���@����?~ܰ�Ғ���Ϝ6������?���k��g�F�������s�{���_��A�~p{�v�ݿ�5�656��'����MӦϜ�n��!���?�:s~Kk�Q�ν��o����7���= �ϻ�R5��&�^�n��_�����BZ4H�(� +-�O?���yg777�}���H��z�C�<�i����^��&J�������g����{�E�^zigg�����W��y�E�Z����.��ɧ_��ɞ=��^Y<w�1��u"�0�;��[o����o}��%o�����j�w�e֑3�G�û����>���sf�2�Q�O��ӎ�>uʜ�.�u�%�����ڭ��x��g�?���p��+���%��yό������~���dK��D|�#������ps�ǤFDe��@�� �JֿD�, ���C��@��\�("[��(��<"; �4�����8_}�9�����}^�,/�[3|hSsKw$ +-�M�-U�e+W�Yp� �&��?*�/�#�ػ�Q�Uխ�s�igg"�#���ή����fL�$�ʅR�65�R!Iҕ/2o�d�Ezz{��/\<������^��V����UM���0sڔ^Y���S9����lK]����qw$ʾ���b��hwwONv���NZ�����*�߉@���WVVj���o�{�]7|���V�?鈉ߺ|a]]ݰ� +-I�V��"��ٽ���hO��ή��� =����jm��={��#BaA��Ͼ�-�9������7@,Vz[z{�*�K���f�:zҤI� �.�">��/���_x�����0/ ��D����v��� ����bY#��¾��!�@���wwcg4 ed ���{���]��G��z�����H$Ӵ�ܜ�x�G���ed�������v ��m;�l��#�.��#O7\u��Iw�j�����:�`mͰ���֮^�����x��%�_}��i+W�VY&I���C�� {�*+��5�l��������&e�/+I�^�|X�7���p>,d�R ��1r�w�fO4q�^�3$h���DK��:�ʼ]�ncEyٔ����֔��~�����x����T���m�� �x�]'�w� ?����04GG"Ycr������������ǟw�w~�'�_��������)�eYBH��C�e|((#����=������q�o����S.�4q����8=;9a3^o�pD��n���g�}���|���:a����f"�m��-g�����?Z�n��g/X�f�������N:vFI~֘��v�D �`VAQ��Ԇݻk���RQQ!�U�N�-R���MI C�7(%��L@$�e��]�֬�>�+��������}���J��w��ς3�ܰ�.';k߾]�G����i�D�)�⨡CJ�;�؎�N������ Q����R4ԍ�6utt���Ϻ�ƻ��;�d�@�X����)c� c��]G͘�ţfLٶ}�;!"--8�����~������l�^ZZ2��bBM������x��@@>��ӗ�g�g�����>�4?{�葛��75����e�rH9 ������$b�_K|�/0�!�Q���}Q���p��A"J�$�j�8�e�o��ɴ���%�dH���� @q��̆l�n�RwƩ�^]���Ͽ��?y���������p��7_�dy����������S��}���o�Z����$����O�����E��hiO$z����]�ܣݧ�ƽ��}����e$�'��K�z�;�=�a8������.D��g�������=s���?>���'��x{ŧ O�]�IU���N<GJ����^~��o]������Fc�HH|��JD|��ş�^'���ދ(�=�|��n�d�[�M�����t5����X��|����O����'����7^z1P#v�-7]~���ٴ��n{���.�4]Y�A��u߯'1�a������ƌ54eHEłg?���f�9�ז���#�ڸc�#����@0� ��q�������m�w�o��U�RJ�(oiV���ZZ����s��Թ��Z���^]���a�����;��^9���~o�丆���|��G~���\���7���?����7��X��f���{���+��F�{�Ѝ�]���4�o~�����ⷎ:r��w������i�j��G�Θ02nt��u@u��j����p8g�@]� �~��p�K���G��#�2wɭ ��E�~��Y�(%T�i�B5��2���N�dAɠ�R�rssZ:z����A���! $���%���� ��� @�@��[[[pg���������"�Ċ₆�6 +-����=MmlAJ�{��pL��Q�x��W�w��^���r�2=������?-z�� g{�+98wwHĖ�g��#ᘚ�5�X$�)��@f(� +-5�w���Ez�t]���Ө�ި��$�2�4]E�Vd��"e���5�eA�����SF�mߛ���螰���'Q#��J_O_l�RS w�)ឞ���#G5���4 H����,ijn�io�1u����AAe�5w���魻6T����j�-��"JoO%BIQ���G<p�Oθ芞�HYQ��}ͪA�v�WT����ӗU\���ON;������r��8�</+d�;���J��=���PK�s�;z\� yQV���٭����o����t���Z�`IANck��$'#�X��?ٺ��q�Yd��=떺uq8����3���0t̾��a��%�n�2 +4�A~��:��b�a"��E�id H��,�b��� ����H��$�A �Q��DT J��%��2��t���4�Gdb-4�y��%tq�����{�߾377GU�˾����>��GZ�k��ֽ�s��Q�5�t�@::;�� +-P�t��$/;�/1tU���m�RF� �p��5�FQQɄ�Š�;�ַ�� ck;[��K@�32��� g�zGO�(��܂�����m�PW��k222����� +-Ԑ ��!��T$B,��������%к�AC"�B��yoA�HQŰ��䠪D��[>�����w ��-m��3B��⊡r[fV���@R{Z���m� ZP�U-��^�n��w94�����@F@�荧���/�����+�ùq��~��=��$8����1���jhh0��]�v���M�:uP�=��s�>��m��v����B�W���1��4�#4ѭ���6AH�<˳I�p��4�Ȗ���)"hUu���D��� � +- @B ��9�� AC�T7�X�!�!���uJIc�6�eLr=��[�>�5Nv��t��s����������:���bh������� /_�4�SU�P����Ec +-RP #���J�������D"hH������mhFOk��Ә��BFQum����GהQ�(��m�%ET�%B�X8�ι�Ҳƺu:��hd̄)[�>�R�(����Ҭ�@v��^PVȚF���wwuPM++/�h�ww��U������u-;++�b +-���(M��y�����¢ή��,m�䣻[��vt��Fj���2��6 4>�y����tb���m�`%)8^> Pv^.eB���_f6��k�y k�����|m��{�_�XYNNN[[������䤐���~w������V�o�q���/Y�� +-ټy�����U���ӧO�>���~P�ܹs�믿�����۷�;�8餓&M�t���/_�|P�:D�y�7� +-� &�og{�$����Qh��W5��У�P���P @̅8�"���SJ ��5�1UT�j�U ӇB��)D4��Q505jHh���4~���o�X���Oaݠo����[�ΚIVQ +-���q7����i���4*�b0������H$����4 ��{����ܱ��������ifV�(��;��"]�NZ0�U������`�����&���(+, !����P(3ܾ�葠�(,�9f����W}j(JKg'"d$YAT4�#ܗ]P� +-�F��. ���kkn w��� DP�����B$IB�Y�A1(�e��M gd��������j�U� �w|�ٖ�`+[iɧc(� +-q?&�)�#voK�M��� +-0jn�HS(��"!�&Ry��f�u����2���:�Ǭ��'WUU��ឞ���H��g�e��'�|��g�]�h��|��g�}�0A.\x��WUU"�_{��I�&�w�} ���O<��ܹs|�����qrVU��ܧL��2�}���B: EE��;��� ���� ((��&EAj�C'Rw���NoO�������lI�������$3�s�=O�9�|�/�E���ꪫdY�u�?=�"�%�A(�ʝ@Ia�� +-T����\�$�v���;$��s�@�;� �����K�,���\� �hpƉ,�� �� �J�"r���#�� �J�!#�:��Ⱥ/$��a3�3*]^vrƴK��:��N#��B~�d���.�%�2I��,!2�˥�S5U���8TE�\��P�Ǎ���~����[^��� +-�{;�lw�6�ע"��N��U-� ��#�h:mZ�MUL��F#a���,K��r�Ҳ$i��9eL��T��ji�*K>z����u�%�)�s�x�?�:\(92��bi�ar=�%c����aU��ј���U�����&L�)�8�N�����e�Ӛ��"��E�oΰMɚ<Gۦ=-2�(�1b�v[f����`�Ȓ����FN�M��"�(��"�2|^��/�����K����7M3�����.Λ7�֮]����[o�ʕ+�W�w�Ν�w�y�� �s��If_:?Yss���_VV��{�e�J�.���ٳg����Z&�����Ҍ6F��M�)��0��["f2����e�'�` �%&�Ka��HF� +-�!" A@`*��H��,� �2�$I2 ���9��YB����u[�NP�JQ<�@7��8���������������@�ZꗙB\��!GEm���mS9 !t�h����iE��g}EYF�;;ۘ� Ӭ�h�����c��������t��d)�J�����wn����Q2��o��?��#���� �noR7�z���OD�X�R0I.�8�l�LVժ������"Ϥ3�@���0=��`=�-U� ��=����.�[U���]흝��Vvl������aL2�0�toWj��i�\�3�֎e��SցIB�7u������_j�`�Z�y�G#!�_�E/���Ɵ��`/QDEQė� �L�#o1��P>ߢF�4-.����d��&�ҥKg̘��s�y<na��i A���r֛����̙��+f---���s������m�6q�D�X�v���6m�<���pxٲe��iڃ>8�����_�}w(���������U�^}�UM�.\x����v���>p��|�_u�U��?��Y��\.W����O?����k�ۗ,Yr���o���ۛ6mZ�lن ��vwwq�GqD�nss�+��r�q����?�nݺY�f-]�T�v���?��Sk֬)++;��#���⣏>z�W:;;g͚uꩧ��/��q�F����E�5k������k�ρ,-���P����m<��%R�,!������Ib�Kv���eI�8%M@���1�p!J��������(�����d�� ���[E )m ���,�`ٰ�bd)�GƐPF�����b�"C��\)@r>cT�<����w�{�RpgOF��^���@U� �x:#�5Ӕe���`Le O%9�>KQ�:Z��뙢r-�,)틄k�*�}�����1�T�&�ݲ�2 0�J�p�V��mdR���@iiD�Z?�����Ie5����"�ӉHX�%�*�ݑ�K�JB=�H_u��͙H%� !H� ��Y?f�!��u�w�y\�tFs(L���>���$�r�z��D�oFS���'9ݖ���(�9�Y��^�����D��`@����K���l�����u��;��.f����W�(|VF�ɞ��MEQDE|�@�-�q�ܲ*����\Ok0ƀ��A�LU�P(�g���A��_Q��`�x<�x|�O�6���9�Lʲ���.]���G9���ヒ/��s��xf͚�z�j��1cƦM�,˒$) +-���/�p͚5�7oB�uvWVV\y٥����1c�֭[O>��'�|2��=��s�UWqΫ��z{{�O"�<��������g�}֯_��������W�.//�u=�L�r�)�<�p���s�=W_}�]w��t:��bŊ�>�<��'�p�ҥK�y�L&CD�a�q��>�ha�k֬�<yr4���뮻.����k���W��c������sܸqO?��0�믿��[o����g �LƄ�S���kG�1s��(i�6&d�%$B��Qf���aRX�2�# Z%D��� �����H�����������VC�L���9tIH(�"�u<�Z �(��:�d80@�sLY��$ W �/Iy{G�I��ȍ8���t1�sq�-tp� �鲩����k�4�� �IH6g:, Tk�&�����p����'�̔l�I�������&���m�f��U͈�j|_{��� 'Θ��"�v�# ֍�(1��R�P��]O&'O������8[7|XZӐ�44LԵX(�3��Ҋ��K�T�u���U��p,��E -EY��@��]���@<��$|%e����� ��r0t�K�������믫���骨��D��TK�$����Zw_� P�hX��M�%U��Ln�=-��1��cwe���KlF�=��tW�8���aL�CѶ�H�QDE����dEU +-^2��;\3��t9ېøi����e��a�����6�#��ў�2��7o���7o�U�V����x�6�-�Ӹe˖L&��c����Ǝ +-���@���?��������ֶe˖|𩧞z�g�`ݺuW^y� ZZZ����w4g�pYd��>��a�˖-[�z��+�����˟|��a��c�=�ꫯ�b�O?�T��aw~��[n�%�L�2����/���?�pժU�~�iGGǙg��|����x��;�<�#:::>���o�q�̙��eu�h4�i�M7ݴ���A�i ����"�i$LH�`�� �.B ��(���e�H�� �+o8�$�tN�b:�u�p��0m�)@��!��$@b��!�-F�(�8!�b����-�g�%tfX�H�M���!a���wr1C�I�fv��� �IDAT� -�����wG W��Jdg�uړ���Ǝ���zv�x��Y�FJ��tL�������-;U�*��xJ�vΘ��$��ܺ�Ӧ������%�)�%rz<%���m�t�����gi ��2�ˣ�=i�@�e��P(䯮�B ��Z���A�H(h���>wO(,IL3y,���53q�E}��@e��`C��Ê�=�? �����\��$����^�ף�6�ׅ���W��dY�����D��,t��@$�UW�$���6H�U�2-��h�5��.��lǰ���]��v�� ���oH��0 �'=4�ta��4ڨ�(��"�(�+�(ghnqL���x�{��� �����p�\覘5g.�|��'$�ʷ�:h�B��1����zK3����f��MaXC�B����[����������?�a�}�Y~������q�?x�LN?��V!į}wm��5� �s�p.tSl �jkk��,.S��-a +-"��7>�쳇vX�&Iҭ�����p뭷�7�����=p��KL�&N�1c����xJ���+.��b&�T��ÿID��l�O?��O���.���\p����4�_����n���r�<�)�͘y�ɧZՖM�`��UE%`�U₲�ߵ`��h�F��D�%tS�0����e��/�W�'"����PBT�� �c�J�r�s(!�n2"2@��r�-4*��$,L�,�fKY�"f�0#�d��3���Lb�h3 �,1ʌ)�����RĔfL4K���0�#z�f�,g'�35R�|\`�� �5Ly�P�c�ֵ=���O�x0�p��R�+P�����-�v����v7���>��y�\OǓ)����t��_驙௮o���Brz҉���QT�(�n][>� +-Y��%}ф��S^kw�0C�C���i��� �q� +-�"�#r��LR��Lge%�-۪�jvl^Ǚ$8�nߦkc�nh�b3Ѻ��Lu�R C��++c� .��{Z�w������e�x���T���I�K%-ܹ���ª��&����ӧ��[#Vr�Ej���e^�������A����y%+G�b���NF*]��j�BXDEQD_#�?�[��Ia�Ȇ��lwڤ�v\�S���L�udۻǼy�`ݺup@wW� ��ŋ�~��-[6�_��fϝ��x�������O����,�����~�UW]�w�B�ؾCZ�n�$I�.1� ���h�LNb�J��I��ڵ��hѮ�$p��?��g�}��~�e/�m�lׂ���&�h$bwTe���1�0�M$����[6o^~��ْ�L��n����/^�+-��A�I$�A=���a�����" U� ��w���-���~=������Af�$d��d�6@�B�r�Z�#H A�XB�{�)#�0e�2ƀt&�SF����!p"��A�8��CBĔ�@P�0�q���(�� �����.Z��X�����f���"��y�4 +-��oqxM�a�ԙ�c'���;��ݑ���2=�&-���@��HQd��P�Z,����[I�\.��X]Y)!�R_(S�H4�U]��?@N����M��ݥe:�*��jshd�B ��73Y�t�WR��z:[IRт���\����>�7S�i�MQ��릨o���t�,�Dq���亄XUS���ٺ�WH�#��]/)��h��py����ɨbw���5u=}]��t +-��Ӊq�HE*��n��q���dUU p�HDղ�L���--M u=X7���N���O>�j���!ݍФ(O���r� �8dl���n�er�QDEQ�0\1#nqBI�g���$q�,q��I�)�M��5@����ݴ�3�v�����}�=�X��`�X�x�7�����mڴ���tʤ @d��7��))����d3��b�u���# ��1c� �����xU�6!x�E�Ц�}�O��;w�� KLB !L$����|>_��KJJ����'�������d�YX��0DUΥS�g��yww�i�Y%-\�h ]���PZZ*K���DdZ�U���\$�P �8�pQ��!� i ��h/������3\�Z� �̪F�cM�����L�LN��� apU� �l,�L�^D���HBd�r�� ��=$3�8 B(U0n�nI!#390$��"2���M��]�3̦8˗*<[�X%v�� +-z�\� `��Y)�q�Tb��qn�j���Ky˵tB��ISd@E�vl^j�����xd�ة��J��p��h��q;���_BJ&HRg�6{Y���JӓL�9ljZK���z[���]I �U��;ݺ���hF�)60S��kI��XiE�aY�%\�ap�9JJ<��43ֱ���^K%�KKR��� ���t{|e�H��+Sn��m� �M]7UI-+-�ƣ�aU��C�]��6��I��� T�2��w��Z���v|�kgg�������>`�}�unߊv$T�G�����{n$�Y�[e�?fx�0t�w7�/2�bR�"�(��"�JS����8��$���moѢE7������nS�d (mX&W�V1Se���[�~���[ZV���Z�`��n���7m�4{Μl��[�(�e��0y���9s�K/�D���464nܸ!��8��è�����뭷�::j��c�u@�L'�<e*����ѠNmm��0� V rN5�UO��ąȎjp6DS�N�3�:��k�U��H��"�L���������� ���aVٓY�;�#g$hx�������� a�������<�c �DV�F !�R�g�i\�e��@+��{ R^7��2����Y�C� 8��� ���f� �@��8(�dZbX����~�Ez9����`��#���p(�� ǘ�0��NE�������u:�� Y��l����}�]B�1SB�diY�e�I�t;`r��h>OIBR��I����reB=�����>���f<��<�� ���e%~.H�4#�PH6��tX��lg��9��x�6�7����d*���k�zC����N��0�����e1D�æT�d�1�9!����!�IRQ�����mD�n�F��]q���7o��f�欮�0Y�m�d�C���}]���Y����t�L�J�k�iY����j>��Q��Q�~��!���#O#��(��WDEQ�W��6����ɪ�f�[7�+Vlڴ��~���v�"2���pO�8^��ο[̛???��Z�5 �l���o/����d������j^�w��+W�ܾ}��� ʽ�`�y�����k�����#����n����w��i��+S<��|��� =ϓO>�k��wt����&L�а�3�F�ł<ϣx�r��(�̞=��O>Y������P8{�����@h ;��\ +-�wЪ���nRV'��|һ;�7M�Rtc�7cW����)4@D� 4�qD�,�E�FH�78� +-fyY�. 0D)[�1�0��A4�8$-1� Ը���=°��^H��ă,�ٳ6t���V�]�4���㱸%!�tu�L��эd*H +-`\78'A�����Wb��n�Z?cn}]���))炘Ĝ2DIV<N2��:v|*��`��ꀿa�LaYV|@��lN�li��>�u����z��JDT���v��yK��P����S���L" 9}~�4��M��|evU�������dX��*/u�V�W7UTW3�I��̘�*u��1cȀ,����̤R�LF�;��:�oj��Ə�a�L�?������T2��efrCK���]����-;�t3�Q��w-x�����%�0(0d/�H�p���fqx�A�{�.^���f��Ҟ�qDG�α�"�(��"�:9J�‒���������^{-�$�SP��lݺ��dv���e��8���=���0g���#q���#�X�d�C>�z�;���ܿ����l6�%�\r�w<���g�u�}�����)��rꩧ������7��?��w֙��x�q���i��@��?�yGG�!����������4����?{7���e�� +-�l��@���n���Y��3ϬZ��;�8��%�s����{$I:��#~��;_|�/�\uŌi��z{�`Μ����_���k��^���a�Yj��� ��a�\�C�B�tP��Yd3Yn�]7�&�!�VvY�țS�rga�9r�]y{т�S����B��%S9�kx��`/C?\�B@8���n���r��P�6�\�^p�1�8;�B��6 �$F�"�$1�+����E��G2��{�}��D$����Ν�;>�u]�<�Z�J�3�����[�%5ю��m�;���d�L`���c|��@iy�ę�H0��Vԡ�!��u��_\�l��Oy�k7�T�W������ɪ���@t��ɒ�ߌI�TƦ�>�]b�fZ$رG,9ệ@ogwO�]Z����ڦ:�!�����M���&N�8efG�N����aqs{k�����@U�e�o�o�4w��Z��4b�qu����dZ/)+C8�s���8����,��a"�m�Ю�X��c�v�v7�/������t4Z�"�(��"���P�� �����/��K5�����4����5p|�3)�pa���ξ�)f&�������ߌ}�y��w+++�]r�K����~�?˚�����o����˗�t�I[�n��o�6��{��{��b7���+����7�X�t�?V�v;l��˖-������|��g]r�E��V�\y蒃�ʌ�<i�wZ^x������O\�x�On�q��)�t +-��ϛ���U5�5?��u'�p��?��KJJJ�k��3gί~y�w���o�;��P~��r1���!/u��n!L���|ubSĿ�����y����Sc�N5mB�?^{��7�Ϳ�����c��}�ח6��Ϳ�{�!b��c�QG>�~y�,7g #�6tD�9�u�����[~�uV2��o~��%wn_�`{Ks,+�z�k�֎��r�UIB���In�[V�6UA!��m[7�҉T2�����T��ڙ����a��R�p(:Я�u��:�e�{L}=Il��w3Y%�R�����G�$����X��d2���(�� � �ˌ�<p�����K���R�|СK �wiI]e�4�{����q��aj�� �ֲ}[�*�� �4�FU�J�{J$�=��҉�O;���"�M�1=�Gٞ���jk�mm��,���b�Dώ=���K�;l�"��=��*��ڥ~Q��Ѝ�-v�QDEQĿ�9ϲP�7Қ�����2LN )�ѽ���:L0�����fᮌ���d�m��D.��,�(+�AV�ʱ�#C� ��0�)�,�x���+�L2- +-E"��=�&�w�휋�����f���@�wYf�G��Ph ��O�0��d�eiiiq8���C�#t���(,aQv0B��U ,��2��!Un5�z�Mkjl���dZ$�B�hx� �X�;v�������c@CVW2�V��!3����y�zF������z|�L����)�#O�8���I6�l>�=�Ȟg�za�R��`��Mu�c����g^py"����Yg�r¹_=i��WV�+8�M�5�o���y�����������2v�a;:{'7��ή���N���q���k>Z?K��M�o��ӧN��'?_��e��Ɔ�ꕫ?��f������!�l��f�9k�� +-���z��On���@�w�����|���K��a{G��m���7���q{[ME��n������W<r�E�2Y}�O�����2��7�Oe>\���!Sy;Z��̜���3~��c_��&-:��M�2���������1 �����7��������c&�?}��9j�����X]Y��]r��?���s.���5U������>HZ�o�A�n�t�ܹ�=�-�:�;�M�3�nU�ٟ}� ��`�5�#�I����H,��.��<"��G���l�G*}�y�����w��v���oh�����[��K�����E��;N��_~���5�!�>& +-�v��;��u��8v�)�n^�����J;�"m-[:��w���2q�遲��[�����U��7n��R��ﹽ���W�}hgg��y�����I�uM�P�����-���m-m;;z�Ϝ����i]��U�K�mn��,���|�~ ���T�ek�w�v�z1��u�7L�s|��4�1|(FyX�Q� �Hl�(#�������SDEQ�����a^1��P���vK�O², n��X.��$g=ۄ�iIQ$�ɉ���ޒD�U��:�E8D1á$��������s_�CT��Γ"J,%5��kh�ӂ�����سb6xqw��+f�&�՞g�#Z1��j|���� S��{��Z�k��M�}Ƞ�3|{G�a�0x1�!��8�[/��j�����������ӣ��C� F�q���]����p8�\���o��5�u� �D��X,~��W�2x��q.��Ko���SN8��������_�����}�ky������ԑ�^���T?��o����}G�Y���D9秜w�1G,Yv��t��יּ����eg�s�)�]c�~�ɍ������������SϽ�ww���Ǟ��/�}zů�v�u?����Xv��k�>ݜN'�,^���[Y��_���7���ƆzUU_y}�O��"WW��O���ɲ��,I�"�[���3.:ㄣ���͡P�����˯ظy���>�eee�[���~�����TUM$S��- ��x��gL�ڲs�m��y�/~ +-E��J���{;:���Bwwwww��oS�z��;fϚ��*++o������ӷ_y��cO]x�������;}ڴU�0�ŋ��ꪪ���߸����sLoo��^}��_?80������Q�D?��{n��y�b�xeE��?�u�#O���Ó�NM&�55��]xn�� ��s�×���M�<��7��ee�g�uN8�uu�9�zȷN:��3�;�y��q췯��2]ӟz�/ӧM�>u2��۰邫~|�/~<w�~�d��;���5M��o���_s��}������~D�/���M?��`���;������e���J$�>���yi��然� a"�? y��h��h�q�1�,� �Ԝ��A����7�jEQD_G��O�yE�[���_ �� �e��a���@X�a�F�t�)6�*3�L�0,b�j�+��ei���2z�Sf��slt�)� �6N�.I(�]��`�!�2��s��"�Tp�^�U�{3�/WSv���|���L��\d��OaW�ְ���W�bN +-���`x$X�G*�b(M@$=��~}ߊ��y�K�9���{�~��p���T�u766<��K�{��+����h��!7u��n�ىg]2q¸�� +-�jn����^۾��7�y�٧����-:�T*}Ņg�C<�e?��n�8��y� 7�����nٶ�|��ϼ�������?��C_yc��:�"P�`��_~����g�n����o����|����:�ͷ�>tс'u�̙3����7�r�q�)��@�������������.��'7�6���@�5W^���/M�}�K/�m������Dc��s]��_x��I����uɱ�����r��e�:�w���0}��W�ŗ_�y� /���5˯����v�/���������u��o�p��U�,9x�,1����%/����g^j�ݿ��>���#O:��7�8tɢ��U���~vۥ���hF:��V,:��_�������S�I��l�wȱ�����K>��o�7k�w�����iY�����ܱ���[6��cN�9�� ��+/�s���_����$S�+.�T�'�#(� +-�c���m;^~���ή9��]|ԩ�|��o,�{��@Oo��G�>nlC,��G����맟t�;�x����Ο;��Wr��7W�}�����}�IG@wo��G���3/�+�e͋b�Hp�S��H��� �IDAT0�� �(�H:ᓄeqA$@�lh%N*1��9*��QDE�b�.e�S���$S.u��(�]#�T�g�ͮ���d����&�F��*z���TP�P*hM���6߬����0��c�d6�9��f��b+�>���ua�* 1��q�3�u�[��|����� �������%���÷�����Lk�x��qO�Ф(�9g�B$����e�j��ޗ���7.���O>���BD�ҫ��v������@뎭k�[MDՕ�����&�kP�O6@{gW]mM{gW4��eL;FU�5�C����̩�o���;:;m�ZY����t��'E�/�\���$�e�n n%����>I���U�%I��O~��]]=��Eb��;6��������18TWUo��L m۾���M�3mm�Noٚ�>����'�%�Xܰ�LF�A<���\PUU�͛e���;[�Hqz�����]�ܹ����i�D"��� e��9�۰q�JJ|�H��'�L��c;{{���ر��T�!,=+6�;G|��s�ݲm;�i�"�H��d*�L����kdb��D�c*��~���.M%֯-��U����H�������R�DZ7���`�p65�����:!���oj����n��������������g�����IG��+o�w� �;�s��1 �4M�ή�!�� ɌPOH��9��Ҏ�`G^�� ]�8���R����0�2�$JPDioӽQDEQ�B����(WFD@D�R�,�&0Y���si)���b��Ӎ��M�8�u�!�x��7nّJ����sG�zхW^�������f��!G����O?帞��r�������e�)"8��C ��(ϒ�����T��#��K<�'�ߺm�;G@�m-횦�h��x<n8�ģ[��N���p$ +-�Z�>�dݵW.[����t�7�S�J�UENf�LR��S�DȤ?^���/��a'�{�5��D�d�:��L,�)�@�����ܼc�y�K�˾�o���m��<m�Ԧ�ʓO==�o�ڌ����`�ƹ�������mp�]�ϟ;�yg����u�l��� S%I%��i1� ������������8��K��8�!2a +-d���N�%��*���@&�8�쳟zꩫ����\�9��1Y�-&��l���UUU�f�i�4Ƙ�0�<�G����G{��o���kM�R��x\mEŴ�S7o����������VT�I�d`݆�j���Ml�1����b�O��moG"��w�)�_��;��ƭ]�=�_|��5������6y�EW\wïx,� }���J��+Lz����͉m�T��~�%K�V-\�@ ��Q� ���"c��%���ŇK~EQDE|E(*f�_@2-2,aX�4eȾ����@&+j�zP� +-{���p��#��#��ȣ)�����m����.�hͫO?t�/=6��o�����������}ᯯ�����]��J��E$k�����eՎdl�V�W��^�5��_���]�ғ�}�w���acNe��=����\���O�\.�x�ſM�:�7�����K��{�e�����/9������Gy�{�<C�$ne�Q� D�ܛ�x��_x꡵o=��ʋ��HL��(9\��04��m�~״�S�6�;q��[~�;�Y1 +-���3�����uT�H����Y��p8��W���o�����'��� ���|�]vU�v�JKʺz���s���3"���Q�Ht���N=������N'"@f�xY�Ȫ��q�O~���75M�!����|���}�o%!,CC&#" ]X:=���o�^s�oW��ð�r��q��|��7��??��������.��������曟{�"z�����o?.�0�x�����O������?=�������Db�_}z����Ka������*���̘>��7��؊���oڠ��uW]z�Q�g���&P�h?�w�d����` J<m��C<EG݄� C$3rN�!�I_�@^�ˊ(��"������k�A�T�du��D� 1�Q BƊ�6_;�Is�����s"�C� !�Tx}�.�]�� �!x����~�1�C�G '�J7k��m�E4�3�i&#nIL�Ըa['��r��mkĺ7m�5gN�{G?T!"0 �}�`$6�s�lz��n��"13�Y�)�PI��tZ�f����?�;�<�<��+�q{K��ozc}��c: !�x�^�2�@�xK%n��(�[)�t)R_G����*;�{++��ݽݨ�EF�UY�p������R�K7yTӦ�WG�1K@�6 i�J��ȝ[����+��1L�� ���%���\61��<��٪��G0n�5�QU��X:j^��[^��5�}�����=xс3�q�F�ֿ��p�(��W�S����# �q ���� ���%�=��J-"02���i� v6T�S��'i� �2zSCݎ��y2�J^r��)��[Z�C/����֡��5^)�����{"��@`ܾ8���r��dF.6�x"���p����@yw(��D�vړim��A�E*� +-,,H� +-p�l�d�-��+*�T��Ad������0��Gښ�� >����"�(��"�/��2�St��f�i�y�rAqE�����?��V��U�CD��Յ��c�n�1��p$���Yf~�t2�P�IX�Ɉ��BH��p��YU�������js�4|n�V*�n�,ݲ�r���k����T���HMn)�L@��i� CFtD��l������H�{��,#���k�W\��$Ęj04�_?��e-}���*�2���N��F:�0�L��T{yI�,2�h�a�x h��Z;���5o�9��d�VK\�`oǦ�V�ቧ3v�&�1���(�]^���D]��x���k�&��@:�t:==}6E�,�&Ien�� ttu65�Me�:�`�����}�e�T��d,�ٖ��}��?��a�Cx< �%��� +-�� +-�Y2�U����LO�2����E��AN]CuUKs|��ׯ�L���Ӓ��϶m�������%��}����7nO�R�~ܔ���"3�V��:���L2֒�M ��f���z��UP_�Le`��4�>����|dXO0��R}0eyVSʓ�f��(��8\$s4�K`p09f] � ,�v1m���0!d�\ 1�����-��"�(�� +-_W�YE|���Y̦�;��#�h<��Ǯ�Y��$�UB�C!����,B����0��l�$�l��ퟭS\%��i�e�BVTb$8��Mޗ�z�j��*��������f��&�U�J��`[K����M{k]�0MW]��̮�}�;�[�c�$���L!���p2qy|6�7��� +-f�i�\UFݢ�MU��.�u��*�V7$B��@���H���>OI �� +-�ID@�h +-�Wt�ﰹ���eS{�;l.� "�ܴ�*k$�T<��h�5�ܲTYN�¥0d@ ��t�K�A�#��e��[0�u���*>�nqݲ�v%�Y�.5cp����l��fYX�,i�� ���b������lţ���MS�4�L�<~��w�[;��R�I^YJh�2�z���lw;\Ѿ�7-��4��eV4L ���s��4P�N�늪�l�}\�������XF��j2%.|e�d"�e��!=�LT*���ek�d� �����q3�� �ot���l�������2��(����t��mhJ($ �����6���@�@f��NY�_�+dq����"��W���"�(��"������n��NmE`s���BQ�0w���0�e/��!F +-,8��5Gb�PBb +-C��1u�x��EMǰ�si*����a��LQm�,��a$qо�JT�?a��o� �;#�%��u._Y�4���J����,��73�Pw[ymc"�(�;vv{Ꚉ�Ӧ&u�]�/T��n)����� ��)��屄����K'"e���Xۆ���r=�߃8sz�0�Tե��fY��$�U*!� �ijȘ�[jB�����ɠ�rSSˤR�L��R%��QX�4�%Ĵntm� �|>�+ *k|.w������RE�\6�NvY"�,���C�Cp �v'ɪ�����p�����Aq�U5�ά\�:�BUUu_�&���|Ɍֵu2Tl�xt�������$K'"!H�Ta�D��;]�ԙ�T�O�2 S�ؙ�i'���S��dY������֎yI"�鍙Ĥr�ϲ�z&�I*dY�D��!3wŠ�eÿ�PP���������,�G.��l��]�>�\�\��p��rU79�1ΑQV�D��霙&��2`�Dh +- ���}�����QDE�5ſ�dX��Q���� �䯌��1�V�=ஏ@���ALfq�� +-ch�Evz�n)�U����Ӊ���V{(��*]%~���κ��͝XY�0Y*�Ig҂`C[bK[H������x!ر��wx�C�;++�u]�{L����� �*#2��1t��5�g8en �s�m���H��@݄D,,��HoW�� ��d"J���r�}����t����}.W0E�ݖJ�\�ZTd�3��,I�D̈��^o&����LU$a��*6_E�0�@U����L�"�ܒ�-��4��v��@o��[jp+K�F*�ɒ�a �*��Lii������f辒��@EiI���1���Mh�D��'��$i�-�Й�8\>����Ra�F�v�����n2 a�%&1Ir{J��[�Õ��ɏ$Y��'�]Mm��="22#3���.�pz��\�w�y%s ��/� �!8M$8���AuO�:���-�p���v5]�"��VY���5U����!���05s�D>�JD����WA荝�.ȶ�tx��?��\}��������������'|�����։$-e����H[���[G7����qu��s�WO�g�D}��B���]Gg�Ez�����^<��TW �S���eѢ� <��F0�����@"[�X�(�8�r��αg���ܰaÆ �Y�~�2��@^�W���wY�߷���ڥ2���g�/z^��3|��/�K��n}��������r��.�(�8���ȟ�4�w���_��,����|�֭�O��������n��55q_�AE�}-��<�(����l�1�����7�j�D���mtID`��+��QK�I�����P�������3�*�v��#Dž�x���������^F�}W-��nWu=�8A��9-0����!�0�=��A���I�vL��i���IM� �����AB� G{����Y�D������?XL�v��<�j�����@쥔�m-� ���|K1;�O1j8�n����J�����$i1�� F&�P +-%��:k��J;�(6m[-/�T*���y����gg���z%t�� +-�5J�8헫y�h������ ��nOO�o�y˙f�X4Ƨa�B}��F +-&���G[�?<i-Eqg�u���[���� �|x�Q���W_��Gm��3�d؉Z�A&f�����PY@b �&%7� +-!Th[FdF��d%��������lذaÆ�+��T���6uc��Q�^�*&g۶m�q�P>�n��k�1���/=�ۃ�<���<8{�ʠ�}�ug�7_�k�e�Եa�~o�h�v��������%�W��K��i�Io��e���a�HuF�|�c��"�d��v��֑B<�����gy�A��|{���ʰi��C�L���9��T�L:R�b:� @Hπ(�Y A�Z)`��M�`�����m� +-b3;߾����a�d��ɻN��ݹ��P +-��������3����������^��=|��n?�]f�^���i���?�x|W����ͪ������.@*�+�[�@)@%ڶZ���#65�?���!��MS�K���Υ�Q�#)�rU��d�|1�y��/O1H�iQ`��w�ހ����ύme���hkwq��-�,t3���Ch�3H�$0yk�`����]o���*r3���>�L�����5m����_t"vz��0I�����፻O.�rBB�Z D�(M���#�������xKU��~�9/��L��/�����_��y.��_�e��"��AZ�%�Z`��=���%A��J6��4ri�HD��������7��6l����w�ʈR:xᡕ@�!_�C��i-� +-�@ r�i�uc&� �TZk�$�3Mc�k�]�̞��W����w?+�ֳ�����u�;;}�_4�����.��,H��,O�[�竼d� ��Y�����~����o���ۭ��cOLXK�Av�:�����_TL��l�@�TZ癢N�z�;��û�� +-��A����0�w�1!Sel($1X�b�(�U����������J30��w��ȓo������|w�ַJg�|���O?`��h�o����;�h~�n��ߎ��o*���婌)�<ϥ��p7�*���7�j��xo����-�t� +-�4��'2L�0���CL������v�2ms�P +-U�3Dl�^Y7�M���`1>�M)UЋBj��7�a&!%"��>���b1�ۋ|����]LT�m���&���͛��Gi�#!}[����u�Zf}`Z��7��9�cz;��̓��t�?�M�B�%����Ե���(�;����-v�1�N�?��FYg������O�:���[�;�O>���S\��������?���ݟU�S�+-�*��c�_��E@@q� ��(@ �#<��+V�+/�����̄��@�<�i7�,��梅�#xƖ��G"�L�۰aÆ ~3�?��?�R�Ar�P��k\}����BGQ���J�wPJ �J��RW/���c��~{�-3fb������������3Ʊ +-� }�q|��������,Y��ލ/~���m{U�x�v朽/;�����T�y/K��^�Ͳ~��������͛��/]�h��R''�M̴��s����*'��P� �r�+���Z�WƦ��1PRq[̢�V3���B�H�@�05��@{� �nZ���;\]�Q��>���*�Q��h��_��O�#S泇���`&��hg�����QEU����q�]D�,I ϗ��;x��E�\���bմ�������� ø�����A�a�\F���Z2�br�����e�t���9'�T�h��j���m���O.��N�PZ�,gSg��|��IǬ"�ISض :}rM���y5��A���|�ַ;�m�.V�|>aO*��q:��m�\N�N�a�M:yQ;k�[{:J�4C���= ����Lۨ l��`o�Z�U����� +-,6�/�C����T��EQ���3?x��ˆ�YUT���o~���U�#���Z�Z8��v5>�n��<��g%c�L���2A�����/�w��!2��J +-)@ +-�h ��+�G"���8�����%" n�?6lذ��o���\�5�P���֑PapU���:«����u�ur$ɓ���AǞXHD���z��zv�������v���g�ƕ��γ'���o^�g��1_�o����,Pav�γ[����H�:&�&������l�/�21��ט�����zc��Q��7���k����\؎k�֗�Q{���{Ӌ�f~�[WLE:�k���/|Y��S`Fq�}��_���䣰������b|~<-����� ��Px曆%/�(T�����ng�qMY�Y?JӪ*��W� ����(��LR���B�� °X̼w(P��)�h�-���H)��#)@)�=�um����X�����U�����+gm}y,u���U={����"��������2�MUT���� �PZ�д�a���7�)�<��bt��r�������ٓ0�o�� +-� mU��[����N�Q�d֫��b��� ����d !��:(��Nwp~�D�� +-"S��[{�V�5��QGG��r���#����`d�@��*���)I{y5>Si�=u�峱¶(;�����ש��|~Y�fu5l�eμ����� �IDATV'����� 9��[����ٛwްMe=SWNsk�h�-j��wn?�,��I���dok��b�z�����H�����옅N��ʪz������E!�F��oo�\����4�r1�v^�l�����T�g_M�n�몲�5|���Sd<J���H�G� 0�j�W�"Hfb�'� �6lذ���A`��KR���Nd�1��V�Ž�϶!�w���_A�K�J��(PzU�Vr�\�i�N�������B���� ��z#00]G�D_\��,���y���@pu�/_���Y���k�_y��S_5��Z����zk, �^��א�]`�����%L{ޚ�L��NE��t���֓���Qv�x�A������~v������^^��~�><��9����.i36���AoY�a��R(�VB*u��vۚl��~��5��:%p{�zݺma��L�q��J:IU��֫��ݷߺ��HD����r��0QR30K���;���1yo�*֡Rf9:13q��#�=����ʔ�)*��j��0�w\��m�����Y-�4��&�uw�(�s�(E�t�|���ގ� Jm�Z_�3Y��� �Ӫ(������LU��a!�;o��;���Y?��E�π��m;�l��Wq�[���mSy�= +-L���{�z�X-������~��v�;����BiPä�u2���GY';?y �� E�<���<I��{n�(�&�V��N��wA�A6D�tܙn��2�72�l>�R� �֪0O.��N��{w�8],fR��;��"�ZI��0������{�=�]�ٴ.�����L�+���u�i]��/ζv�O?�`�������(鰎z�mS��y.gy����ޓ3Ɩ���>������ecW��ַ�^��}Jx��(�Z�õ�>2XV�`Yyb$-{�!!�A��q��@(�@���&0۰aÆo.��+�W]ٵu�EG��"d���( ��AG��i=�Q$|Szq7ז��:�P:^+�<Y@Եb����;rkaG +--�?+��b�e��$"��WQܕ� ��S1�u�/��r�g\AI!�#"�R�//�[�"j��3)���C�ޓ#��)Q"��W����Y}�z���ˮ�[�Q~S㲯�+�?�G��ΒR��mY���ѧ/G���r�URY5���߿7������8NOK /�y=�����qݻ�8�,���w��Y��,K�4Y-�q��>1s�f�����m#�vu�Jj)�����,s�����0 +-�>zz�pk<�-�O['��������O��m��K)P(�$�"�tP>�\�1ju�,����MG`�E*hL[�{�zp����X��,�(��Ʈ^q�M]DQܶA +-`T��B��� ���Q ����Ӈ�}��PRI���*W� +-��[-U��e����X����5M���(����{z����o˴;$&tm��(��'���fg'*�\�b[ɨw���jՋC� +-���;���|,�fo�8e@B�$i��woͧO��g�A]Wi֟_� ag�$u���r��z����G�j)��6�ƛ�Y��~}����7���x�֭�{'�n'��{��h��ya�) +-�����9FI��Q������`�W,gB^n"���Ǐ�:t���4M]S ���o��O?�P�wo�>�w.�TQ�7��:x�G�Bz����nfW]��F'�/�J��&���n8�h���Q "B@�j�$$f!`]�H �Ʋc�C�B����M�� 6l���ۿ2T/���yF���B*%��ʑ��g����Q(����U���ĵC +-� ���Z�B!�:}���Q��=���j1�+0_��]K(P{����9�+�`�.�{00\��s@��O����+"��\�ob,9�Y�o�Z����u�M��A8��G{o�jj��WEQ��zcgg���q���'����BwG��|3�ִ:�l��A���45v�����`�������rU�������IGk�X�V��������u�lw8�Z�=~��v�2Bz��f.Q|||�ZՕǧ��~��ɱ�($?z �����!�Y�A��.m>!��x�H* ΑԲ��uԉ�N����TiWE���~�q�Tn5W�������Qg}��X +-��2LRF�Rt�#&b*�q5{�LbVz�Rj�VA|��_ +-�{Ý���8�d�z��L(5����������A��</��i'˳���f<�Y�`Z��қ�(k����\�O3D��g {��=���Pw�[��|aO�[7�z)���|�s��s���P��q��r�J��l��� ������Cr&�d���I/L��g���4ں��5:�8c۸��;��������(�Q/jW� �������`o���8r{2���Ë�U����ouÉK4Xj�[7�<y��[���?���R�].�6�ng�ea�D\��Ѵ��:{"U�4�:���~_�O&�m� �K�[o�����E��qD�4���#����gȐ^2�%�-��(�b +-< +-��� �" ��z&D~���z�"�������Q@H�d� �j7_�6lذ�7�˩���� +-�PH�^5Ig��5ck���`r�T��ٍ(�BJ��7�e��h��Z����:�a� +-w$]KO�� �dh�֝~�P_;���:�vGd�,���y:���xq��R�z�bݴ���~�g!�Պ�y��/�կ[��Zcٛ֒�o���_�T���_�+ uX�'q�zd;*?}t��w�m�V���;�����ov�[l��Ϫ�"?��d؍Tf� ��_<�Bt"�$Qǝn���������?�d��ި�4�TED��gg��,��0�M�(MkƓ��WU�������7�b5Y٪q������>3 +-T(1?{`˂��E.�@�����Y���Ȧ�U�Qʶ�if��\F�̙�U���e�P��Z�������kq](�Ķ͟>D�8 �ZtEn�F��5Mul]� uXV��7ލ�d6;C!�H'#,��8L���S�6:J�3-1y�D�-۔2�0��\�� 폒8e��r�䭩u���qj[s���LO泥��l�O��7�Y +-�@)G��0�;�,����L�p��NS.�0�Dl���`Y����u�`�L[k���U���Mk�8n���Ÿm�G���(K���Q�0��Y�Ff�і�'�6o����{�R��o���G#��0�E���d[��E������X�9�ۮ�eUW�Vv(Ȁ\ʼn�qފ0���Ѷ���F����u��5��ż���8LRς����;;}4�=��"�J��,��@��oA"@,<"�cd����ޓ%2K� +-�Z�Q�xbK�� 23����W����6lذa������%-�7�L�2���Dyա�ʴ�w�J";��1��M?S�����[�x������{�7r��B���Y>����������|yy����>����I��/�I�E��<z$���R���bV�������ǎ�/>?�u��3�1��t@�i')�+��Q�����h4Y��M��WB�y��[k�VJU�m���{Qt�ޠ�=~tw���#ư *�RA�0�d��AoX>�P�b��R��W��VF2Je�h���@+�:��QuJj�'J�&�!*g�m|S1� +-u� ���H��P1��{4LS-��֖L:&�7���mQJPA��`����c�B�����^כF��ʕ�R�E.����d��j&���M��WsD��7-���O�4kMm<�u�./����Jeۭ�Q�{��3)0#Ddoe�x��bb��bd��NU��\���9�N�c�� ��;��(�ͦg"���3�O�|v:��@�g���'�6���Je��{k���3���-!VE��x��D�mk�/��G߹3�g��$����l:��I�-�a|���ި*�ڥ'�e�Kv�u��� ���M�B/���.'�}dB��ݣw��w$"`>��������?{�Ǐ>�뇟�ՃO~���[c��u$����ati�@�����"h)B-�w���1�sݥ��A��8���2\YQ���=�VK� 6lذ�5yQ1#k,�¯��z� +-�[}��ƃ�_���'����:t��q�F��bv�����Q]�Ok% +-������F������U1{��cm�!�$*���L�BD%_x<�劙�+��+}�ي���Y}�z_�E�L�R��cɶ�D�Z���|�������$ۺ��}�F�{�������b��y�佳�� �V�<�5�������L +-R�0�_\�`<K��� �N/���tv���%���$4��̼s�M��4M˲���@�0�v�1�|Չ�J��;���9�(�f]fJ�IG���Y+�t�e�$�ho]�O�=�[G�L��K�� �0�Jꀙ1��C�M�L:ݪX�N����M�����e�(mgg"�@��}ДK��,�d<����O��eS��[�,$��d" +-�� ���<�i���i�|>�F{�m[�����n%�6U��j�2�PH�L�:�qjW�Ժ?��D�6ayGA7�q�ۮ� XWG�~=�`�9c-�R�b�j0خ��\�� �AT.'mS�N���T�%��!r�;W�.��%j-����e�=k-1Ջ�4*) +-c �5#��(t �����QS�,;&���{o�ġ�,K%%�~��r^���/����b�v�|V�u�T7KZ�����[�ɜ��'�L&�&���4�K�M>VJ���1a���.'i�i��lVt���r�REa8_֓U����{�cbdfD�έ��� �������>� ���yF�, +-X���k��k��G_9�hɈ�����,@"(@K�'�Q�6lذ���T1���~�H��ș�m[�r�� +-���.�"g=��a�n�%������ی���/��gb��&�k��І���}����J�~��_z�{ӯ�ݵo��\;�0�[��zE_�:��X�Qֱul^|O^c,{��z�p}�o j��LE�$�����rQ����~�Z� ��L|Ԋ��?�]rw�p8�1"`f߶LȀ�A�aŹŭ~p�`� w���Rq��0p�Ο>��l���Z��?�.VL^I�ZUMUTE�&�t� ��~�b<���l�&Y7i��ha\���M�8&�z�4��+�(�2J�Q+5y�Y[,҃�B�B(n�d�+@g�;AD�$���<}Ў���G��i�dMU �l�D�Y�$ck����Z�V��w�:���{pG��t�z��QĦB1�jz�M��v��ݽ�C���h�9k�%�X�<����'�0�rNު +-��0��X��S���A<:RJ� ���JoJ��>��@&ݲ5"�M[���r���j፳Mɾ���`op��pߚ��M�`�Z8Sw[E�XL.tw[�Y�z�7�L%:J�n��R0�0E�t���� ݿ�ɶ�"{[������q������"�(Yہhv��;[���bU�wdڶm��'�Ӻ��ԓ��o�<�I'I ��QŪ��Fq�����$��1��ZZ]�D�=�6��?�ޝH��$��)�8�����% ��j����x���Y[UU��7�����RRJ�xzt>�s�ݶ.�ß����1 3������$� ��:ӑ`�?� H�@��( �F�D�J@ ���KqÆ 6�&y����fݑ���"�q�Q�h�(�;���[c D����6uk����w�XK�����.�vt=��<][�#�u���B)"����C��Ʋ�����`���ɳWx�c��+i�����+c����K���=_��ʓC��U]_8�/_����s8�o�ʱ���e/�S����O�?L#)�RA���٣Ik�a�+G�B2����Qq�J���>|�TE�*+���b^t��G�u���櫲X�ִ���o8�(9��v��l:�Z�Q��G�A��l9_!�m�xY], �)�2�7��u�w�.���7�ڳ2��px��m�� ��019��a���z|�;z�x�Noh�!���'켌��ӁcO����{�{�E��������PuG���n�Z��]�*J�{f�b��b9�ڶ�M��;?�O��N��qS{DɀȠu`M�uU>g��b��a⚜���8N���8�n����lh��.'O��o�E���/�I+�Tqg��:H:�VM[�3�֭��V[{7۪L��r5sM�w�ۇƶ���(;�I��mU�v����N�8wu)����w���&A�Y^>�Ԗ�$�&&�tf���?=����7���%2�Ey�;���d��/����p{�YNO�Oۦ��H��!9��Ҳ�[�t��O�֖����U�Gq��QB���}���fۆ�A�Dlۆ�D������b>g`!T2�VBx�x|���^7:��(y*��t� +-"�"�����#�H� ĺI Z��ӝ�#�H �����"��<:Ff@��hye7E����}�/��?�MlذaÆ�~w}̮�2��c&���x90@!����9� T��m�sO�'J���F�*�N��n|�����X�$F���Q�����x�i�@���DP��ً�"���A��k�� b���w��:��'&_̄��Y}�z��E��W�eo[�_�����.0�7����M[;����8o��va@JUX�m�t���@(���\�(�)ֵ:�R" +-��,/=�i�`~����d\m��a�����!��y�lӴMkw)�0:��Z�V"�:N'G[�"/Ƴ�6fgg��5��∙=(��D$u`�\��ȷ�ch��`��E�����Z*V�|�qr����n����."��5U�f��) ����ץ +-#��i�{Pj�����Ik�D!u���H@h.%[��ɆquԮf�H��|"�d�vv�@0Y#�L� 0 �7#���"L�N6h�"H{f9!�;v&�F{Go0so�%��r���U�Vy��6m�꜅��rUBvG��jB)x�L[�0�I�����3;�γ������6�����5(t�Nj G� +-P0��Z��N��Tm��5>��V��lCD�@�J����h���EU5MU5��wϖ�`�r�y=^�����̧�5����|ڒ�SAl�*W+֚�nY䬓��UM�*h��֍�$ +-m[�\L�kMK��0��������yK��91!��e���A%q\V�( ?��Y�L�N(���x�n�Mf���bo��Pfd@"`���~4��9����d�W^��ʗv�" ��X�7Z���#Ѳ����A�/��?��lذaÆ�~�}̾.\�{��؆�(�v���e/��c��x����D�Q �`Dd�u2��D�2�L�o*gB*&����|pՑ1�?�3b��|��6�}��|��q@�g�rފw�c0���f��ݲr�Er0(%E�1`E���r8V�?~2%�t5�*�lUy��ߴ:�U�J' "oȴ����nW$�����@w�1�Ҭ�^�ޖk�8��酊S"Z�b RJ�w�����1JI�2yDB�d��7,gc0�RH%�؛���t�^NPij�v�5��� +-t� �lS�i&�Aq|7l�wH��:��2�ӦX � +-cӔlꤷ%���$,�S&g#��jr��QQj�%{�2@��ZF[7L��o�7�*�b1�ݜO�L4ܿ��[ϋ����p�6�Ҫ7��`|vlVs!�gB����;{�K��̶nx���l[�i�;G��tt����okBG�������[��g�'��B)�㵒�������N'3�m��@�Y*u��8L�D���W������8ި�c�ve=iu�ڼ(�,�y��4��eP���NZ(�A��X"����%ѓg��4�B�w�B +-)�V��0�������IZ��ٶ?��mmlF�j> +-�{D�B0�����3�_�Jx_�����W�w?��;��g��|�w��oذaÆ�_~�W�_��l�o^K�Բ�%BH��JJ�\���U���.ǀ2�:��@r���ɮ�j�sD��v>�?~r�E����2/��e���YG(���� �IDAT���;6Ӽ�sc'�ta�L�������2�L.���ɼ(�@k�p<���LL� S3�y�P[;�zcQ ��Q����T� f�(UUV���˴�2*��$�����+VA;oQJ�^�v0��w�[-���7��������u{>o[�L�Z�P �SQ����B��J:M1E�c%���8�u�o�kA�f6��(�z�0����]�� +-�ND�����6m�B2���;����t�ul�m��nFAX-��6Q��Ve��9j n�g���sc���suUJM/N��Bk����^=?���I�� ����qΧcS.t��t�����9y�B�b�<�.�yg[@!t���������I�RI��crJ�D~�=�?�u�8Ѣ]��Uv yo�\UWu]� ���xY(�`=���Ʉ��8���<�t�H�0�'�~�R���EIfM͈B*f`&B��;*��{�4�3�fRB��vwp��~��0 +-I�<���<y�P��|\V�sn�/�Y'�b���ԧ�$���d�Z6[�֑(B�B��>y��~w{��|U�Ć 6l��7c�m���P:�rs���rՙ��9�(�@fB�7����- "��F���ub,���Ȓ� �u���$��{[�P������x2_n��UYn���<ϻ�<D�=8�����3�H��"tv�t�����e�$�!�7u�wA)@�n��dj�T�)d�+&��Z"G�����D����7� +-���Z��v16��X��il��J���$�@��T%�@!��mM��G;�B�1�dgT�8�+fT����hk��3�A��x�﵋�HzYoT�/Q*�Tjݺz9��J�����4��4�m �($�`b` �Hk&E]�3f�THY.g�M1;a��X�cm�۪�{����k��l�u���w����"I��Vg��Zf��bQ/.� +-�(T ����u%!10��{�β�*�~��_�i�Dv ���JJ ���{�����eSO�������0DDt�&o���1{�zc����s'�m��l:�M[�zR����B D��t�zfq�QB.J����|2˗sD��R`�v{z�S�S[�ޓ�R)q3j�D�=1��O�/gW$ZIdt֗UQ��RJ)�H �D&RJy�BH"�V|���>����N�����֙'�̖��G����ݏ�~�AS,m[.'j�mذaÆ�,/7������V�6���������R19��" +-���=9+t("";��R���,Q�Y@aƏ@(-�B&��0��#����tz����=_����ʷw;��hE[�Q�z����!3��8Iș$�O.Wa�Z�RuS�52J���2��NϘ�=� @F��m�;����D�B 0�s�ja�g�Z�s 5�!U�g�S_-�s�6l ��L�:&Ӑ�R)�ddf`S{�]��z�����B�B�@��Tk�������i�T2v�n1cc��w�"W�2�u���&� N��"�@������[g��m�f�H�o����ui\g�c�F(����ݑi`��RF��n��aJm�:j擤�]�N�T�[Fi�U��ٹЊ�11!#��J0����t�m��iju�(���9��e���h���Q�l��*��Z��0�TJ����Ai�1� 1{��Y':� +- �(����{�eWU�?�\k����y߷nU���JH !)����b���:?ACA�)>hG˳���A�1��E�DǏG�� +-!�PI����s�s��Zs��8�� �F#��5jܱ�Yk�s������o�A�kA�F��m�Y)� ��a?�:�0��ami��+�}�R���- +-F�T*9V�|XoM6��m/+pyQ6�ɑ�Q�Z�CV� tE�Q����l?��D +-�I��2����Ϊ ��^_��A���í5��F�(�F�A������cƌ��Q6��!Bi +-����c�<&Pa�H�2�5)C��3 �R��x��)�t��J�6"�@���X!��j�gCa�f��sv��r���F�7�v�Qߵ0�iql����ӽ�d9#�Z�P+c�RT�U����[�_�9;huގ a�t��DRl�2�c�����:Ta��+2� R�lK]��j=�Ղ�(-�"����-މ����T�HY��)�#jA�(*N@�JbsP$��AR�qsZ�]:ЕF��,�)m��,0����+��jW���HQŤ�ng�����*���-�����B\�m�i��,�3�p���Y�D�.�\�ʅ��|k�����*�v��:یm���/n�<����ٝ��S;BdY_<;$%�bP �$����n� �zmR��� �2#Ҽ]���R��º�xg���+ՆMqm����z��T����7/��Rؙ &@A�4&U��Q2�B�,϶�M����O�j����Y����v AR�"��:1+���,[���鐝C�Q�(3�"��Z�H�L&D�����وk�ph� +-VűL��u�Cɇ�jk}��X!�ia�D�G�q��D",�g �r�4a<(}�v��]_3�(��O�,L�ڇ Zfv�@�81����7m̘1cƌ�����}O~��~꧘���bc��p ®D���!�}>�$J)c�"��Y�v�X;!��#�9�y��\�� +-*ujmEf�ӟ��ػo�6za���8�h��j���{ON7'����7���������(r����z��\~�Γ�0���l��iS��a[�RS3;�BHJ��� +-c$�&�T���\��`LD����6*NH+���D�+β逽uÞ���8��3�-�Y"@�H�[s�]YR����"q.l͂2��+��Y��i@JW���pЩM�#�������E�� �,5&PFo��h�H +-�(2�t�����}�Ji_�;$��z�H��� ��A`� i)L/��[�� ��� 6�]��V���W�����%ve�$1�$�DZ/3�4�tT#CzUč�Y�M8\;�"��y��[��Ea/�Au��������@��,�$d�Z�I���X`ao�eg�I�2��8����iT�V��%g�P�yR�,@�^�X`e��w��&�D<g���"R�&J��:����-g٠Yo�E���4�mn�ի1����������f�� i*�=;Rʖ�H�M�q�3�6V�l{M��������KJ���%M�3D�d� (�E���i?f̘1c��������]u�Uw�}��-7�x�UW]�����Ç_u�U�g�_��Wn���t_�gq�С7�� O}�S�G���=�H��/���{�h�b̿H�L�Ac +-)���;cv��B�M���D��X?JZ#�B�l�!$R�Ύ��U�(P�^�vz���V�?lw���t�T�0�tɾ��ƚ���*�8/K�e�U����̕���M!��3�@0XH>ϲ���k���Ry�gv��Q+�uRZH,�v�Y(����9�J�'��"D\d���0�Oj�4��� 5��/tT�Z=Ͷ0��zR�"�Ϝî Tb�"�G���ܮN�T�D&��`�N�O�K� ��4��F�k�1ig�=��k� o�l���Z[[� v�]��6����T����#Ն�f�%OD2!�����tubgv�;X?9X=Yk��1p&r0�"�9�/�D�M�k#Hc�a?�*�ZW�¢�P �x/�xf_T:+�+��ߩN� �l��7}jY��/B��{��N�#!i3rc�Q�H� o���9�e�)R��0�ˢ(������d�fLy�^��&����$�{'c��+mW�IR`Ƚ�q-��PQ@E���Qlm���t`��t��V'�D��A�vY?i��9$#�8k�+�,�D�u�� �"��i�3�4u����{� ô�S� *���@<� v�g�ƌ3f�#ɿl`��t>�я���/���j�Z�V���^��~���v�?px�e�_�M7�tv�u�]w���������-7�t���_��g�D���������<����'=�K_��#{�G�<��O�W1�_a�l����H�Q�H�AiR��<]9:R�e��ޕ���0#"*��� +��Rq�y��wO r{��]3�]� +-q�UM�}������`aav���\�Z�[aY��;GWzޖ�,���ԙ/�aDm��:�,1����}�q�Wq��Z.-!� �J�!���2�Ө�Xg��� Bm�[`��u�����8�e +-:�lwc���I}"�db�s�H��(��D`��$"��(�7F}OE��� ��amrzj�ښUAMΤ� ��ִǑ��W��l(��b���=�5�B(K�V�<momΜ���s/��u^���~��b�������d��rΒ�J�l0���0��<zg�>Yf}a��ZTIDdna�+$ EJ)q�zV@���(-�@��:����XYs��de@J�E6ψ�֚���z� ��[��m)�H �^�@ӨJPF�\Z�B}���,/�(����\�x�s���V����F��S��+FM\�VDQ��D��>"��[;�r�ƕEU�ӕ��@�vIG��V9�D@���H{��HD0����cp�Y�t�M �#����3�܃.:���aoC)-��ص7��'��̘1c�<��� +-̬��~�������O}�E/zѧ?�饥����O��/zы>��O�۷���~�C7�<x�n����[���/�����[F{���'?����k����<x��ɓ7�|�C�>�ԧ>��/|d�����h/a̿*�,�+R� �2C�P��R:�6/;+xƦ��A��<�D."�R�;�؏������f���TBS�H;�G�ۋ��� ՚f����{���v�Ȩ0N���M��]��� +-�0�@eT�&���=p��R�=�ҤuX��+�3l�B��CqVED����_f`��*v��YOW�ʄ���T�5TFl�ӡ��0�X��&�;�F��h0� +-;A��b8Ȼ�bs)�-:��q�֗H�R�YК�ޮ�,ڢ`W�ݭ2K�,k�i�m6d��,��ríd�q&����F��*��-ͳ|���C�ִiO������{�O�1��"W����~g3��q}��n"`Xm��_Z[��_9}?{�h�� � �RZċg��'¤њ�וּ��;���ٕIWk [:N�2�4�w� �xı�J�"O����(@DZ�Zc ��H)_&�=�TCC��f�/�����Z9���a{`Xng�� +-�$�¨�0*M�9PdЁ�jkJ�0iNNLφa\��וz�e�4���ps9J�z��b�,��,^���F1zW�h���G$�j-��2���^b�\x�T��RH*���eu�dYq�Gѣw��3f̘� g���-��,�J�#���klwk�/xA��|������3>|��o~s�����������SJ'�^onf���_����[�z����ȏ<��[�~�=����|�x�ӟzםw��;�1.�䮻�r�)�݉q����_���ۦ��^��?�Om��n����E"��O���o?p���_�����`p����'N�Z����;��u�]w�w�s�9�����'��u�u�U*����7���}�o��( +-��+^q�7�t�]w�������g?�٥���=�y�{��<y����'?y�w�۷�e/{ٮ]����[n��N�>}�������_[[��W�r��W��Ͽ�-o�����9�s�78�~ ����,l��ڒH��ψH �쬉�qe��"��I�t�2g�D���+@`�t�=���ݳ0�uW;�sf�������g�/�5k�F,..�j�]��@Ñ5�����m��B��}\k)eػl�~$��� ��L���`TM��� ;� ��T�@���t���R' ����PaO&�ls�,"*���l- +-0"��ԃJ�y;ʊDQ��{*ӍEm"��MҪ���:vXW�թ�����]�v����Fk�?�|ؚ���\!G�j��L�jc��}��iTE�{[ �/��5�a��H&��{5�Wg�Z�O���9;�����驹s�+�~�99���Qm�{^X�� �-u}R�[Xؽ�x\Ld����Ǖ�w����pk��ba7��~;nΖyW�&��A�L��́�VZ��(y�� ��RDH)2X���4��Oͧݶ-SDBD�^! @kf~kuQ؏Ҵ�#��KΛ?�Ԟl%��d����Y�t�IMQH~n�5;7u������," ��qM��z���95=��XF�Y�1�p�B}���wb%#�*������ 0Q��H��Z}j��Y� ؕ^���$�"K��>t��(cj%�^�;;j0a �ԚYK�R�E��A-P%3ՠR-�H�0,�7�N>B�1cƌ�o��;�Q`.�����BA���N����v���o����{���?������?~�{�k�9�z����_u饗�;��G�~�#�����N�K/>����@k��^��\���U������?���x�&�^v���w��˞x���̮���}�C��s����E��_��_��O����_��K^�W����_}�e"R��+^������|����������}��m:t誫�:u�������*"���|��<�{���y~�����t�^��z�J�k_���_��������Moz�{���J���)3_s�5�zիF�o������\p��cǔR���g��������-oy�{�CDsss�O�w��_��7��^� 7����>��|c��C�E����2 +-���9 +-"�V���M�o��r�?�Ĉ���<3!y[��#)�',$�~(�j�O,m욝$"��zw(,;g�y�Y�֛�[�n.��d����ɪY�ɹs6�O�Ҁ$���A�"�,)%�iA�{?�g�#"�5T���|ڍ�v��u$-��Y�.�Ġ9 ">�(��<;�%�y�� �F�����p$A91�ks阷)ݜ����_��M�g'����X���Sa����)��tk�69����9gHY�PX3�X�&f|��"E�(���@WR��eJ��$�%3��Ϊ���k���HWjJ�a*��܅a�t��!��)��9Sk��D�����L.�맑0�ԑ��w���&�x`A��R���9댡��2�u(YG���81���=qI��!0�xF +-�D�Q�vQF��EdrnW{���R�,� ��*�wajy�m�O��0�Ν�<��iV�6A���d�x�F���Ԅ�v4����AҘ0�j\Y<�Qi���{�OE�V���A��:��Ga�zR��7���(���lPfCMX:*�҆t�AW���F)���)DOJ� +-Ғk��~g�H!3���yxi���t��-�ZR��R�*ռ(����^g}����3f̘s�����w�2ac�( +-�Z�p�����?��?�o�����מ���&��'>���ŕ�S��Gf�����5�yMY�����9���~<�������{��_�����_�0���/�}�ݗe��'��+�<������ww:�'N�s�=ι����~�G>����������ظ������S�N�=����\r��[�p8|�K_::t��鍍�g<�oy�[܁v���/--�~���N��k�I���y�^{�7���v��n��;�����4M_�җ&Ir�ȑ�o��ĉ�v�z�k_;���?��w��]�{��666N�:��o|����~icc�<��y���y�s�k���a `����� �0r�uA��@�]xɉ'B�m�L����ܹ8��Z���`��k[�vgp�R�Y�k��K�>��vgH��jo8$��) 5�n� �;qN\ �#Y@�p;zґ���+�}P�Q���,)$ +-�|��I#� ���Y�mo�e� , Rd �D� +-M�#��ޢ6�-�x� �n{C\��������WO�͉);��̹��e���ڨ5��!)�8N��R��a��s �T���J��)�VA�z�ţ�*@N����E����a{A�}����E�D��J�a��� -� "΅I��ӄ$D7�� �IDAT�o��j�;���"��f�F��#�D��f�jS�F�� [�n��ً�V�3�֮��~_����a!b@� +-@Eb-��h��xc���$ E� �g� D&m�?��9;Qݳc�?�6�����A������^�$K]W�D^��S��n�J��i:@�t8��9F���R�9�H5�j����(��h��^ܨ7��J%�5�{f@�A��MbK�TA\��;�*eS1��LH�lɴk�������J�N���� �wjCT1�{�K�Jz䄦ƌ3f�f��)}�x��Q ����G�{�E/��w������[����_|���j�Zo^z�����7�{߷���>���:?�|� ��z����/�g\���_��/}ID��6�8x��J�?�E䍿���A����۷���.���۲�(,�����/���^��8�k��s�"r����ȑ#�0;7_X.[��?������'N��Mo������J����G�����z�>��Ϝ�E᪫��Qxy�k�����lj�q�{�%�\r��Ѣ(�����������w�ܹ�����W_}�w>|�����U�Տ|�#�F�8��\)E����0Ç�T�<F` �AiA��֊���ݕ��d��@"#�rTf[DI�(T�Y!Mʰw� �+779Q�ֲx�04�^�g]�E% +-�uF�8л�'�|ҹSӭ#˽����JG��"��s� ;I� �0�*����{��2q���u�@T�L�ݠQ;�R�D��m�y���G&Z��:����*pY��G&D��XvW�[W�)�ꠚmmPT ��u�@�@h�a�4Q��uL\g�u��aT�;�teҚ-�/�]_Z.2RJ��"c��~OE��"")P�J�:7����Ԏ���#�{��Lca/ ��J}Ҧ݀d��=����= �D*���"�WI���,�ZK��¨4�Ϥ��(�y�Pkb��l�@(��,b��*5ѤP��� +-�^ �PZy[�y�*b�G +-&�ց={G�3��}b�(����|���9��>լEQ�� ID�E�Q�JȄ��p�Qo֒�3aP� ��A��� ��;&*Qhf'���c��/���f�{����c�n���\�PG�gϞ�(��,uEj�cB�֕����TU�w�[}VZ3)%,��D�T#��{�n�a�o +-?f̘1c�<z�`��Է�䑈�3o?^�e�YFUBuv�C����x��SQ�͇�����_:$".��5��>����k�}8�;x�r����۟�/..��-��+���n:|��;��h�|�մ���[[[����n������Ǐ�������(Њ���Z���vD&'��`���`/V��o���o��=� +->��ݷ~~��:%�D�6����?�j���t:����o|����|��(P<r�H�V[__���+''�j`c��s��� [?�]������T�����d��(�������j䴫�xA���fa��T�Սj�$�������eN*�z�1e:������H�ٴ�ޡ6.� 0*0Z���p�E��aW�Ҁ�+uv9(��~41[�}Ԇ�x[� ��G�����lS�Z����`����� �E���f�N���m��� ���/sґI��O�eKh�2��E�2��=ưpQzfvi:�ju�+nУ�b������DlK.s��$�⺎⢳>*4�Xz�<���J %���'����Iu�����"�(����� R�[W[��H���Ԏs�+'Pi�vhsQPi�qRga�e���Z3�Ϊx/���)Dt����/sT +-�}>D.K$�A��B�4(d���H�aԟ��,��H� +-���_�gn�3��3���fg�v��V��^kN�)�¸B%��iW�;3���L� ���sYY&�;�N���b��� ��%��l p3���k���m����h�Ȁ���=RU�2E��[��n�J� )W2�3G`!��U�[�{_�a``Y�Z�:����y��3f̘��ݓ� �Ȇi�{U��C�5Fkmn��Ɨ��%��y?��/���C_��]������>�YDD���"O���(��㎯~���pŏ��\y��p��u�]�Vk���Z�ga���ם�{����]t�E���?8x�S�L��-C ۯ�ރ���{��<q"4(@�a��_Y^�z�i4��B����l�z��p8:��6��I�<��X^^�����3��g>�333KKK��z$c���h��U�og������(��( ��N�m�z���0"�0�%��Z��O֏�v��Z5)���EQZ�Z���'>�{����z�}Ƕ�ý{v�y>5��њ����4�w�s�VXD�E���f�= +-0���d��Uʁw 2dWq��>( d©y@d��Mc +-��[S�@S����ڠ2�6���T��jC�Rd�vl�C&@� ��e�TX�6���s�;���e��Kަ6���/Σ���\�S�~\��>�/A)����fv��7����'��H�H���ǫ�+�"��5D�Y�Ͳ�`t=λ�L�!�un���3�. +-+���Ļ�ފ� fOJ�<��5g��D*G�/��IiW��B��$z�D�hh"����P� +-J���Q�D�@�Y)�������14b}jes���8f��D3�w���Ү�.�b�7��1A-����y� �-) c�A��~��O6j�W���Ս����f�7#SSE=Br�{w��k朹��*@aFa��D +-�R[��1��5!� 9�6a`j�d���+za�5?���FŲ�gE���G��3f̘1�I�ٟP�3��Q�륤�&��b�1�Y�~����ڪV-���W�?����w��w�0~�1�]v�w��կ~mbb���<�)O���СCw�u�O*�a7�0������x�W\q�7ƔN>���w&�D�y��A���^�"�����`�v�.����q���O�F� +-�>}zϞ=I���I]�#�-��E]t� 7�����n�N��Ǐ���:�1*%��f 0�CBRFl.�0Ld[Ci�aE�A1{E +-�X�m�t�P�G1=�n{`� �L�������Zenr�����,�˧�(dE5IV�֓f|l�k�0K��&L\�K}v���R���_9-�` +-+�-x/����Z�D:�K*�e;�M�k� ��t�����(3Tʧ=%a�d� "dm|�먢��e�#��dHރV�̂���S"��[��$��Ҏ2�K{�2q����lFQD�Pv�tR/���\���Li��9�-)%�P���� +-(���u[�a�;Gϩ���2 ���+@D�FEU��`�Jm?�2���[���djޕ�(R_i���N��/�ۑ6�g'��� ���IU�^����[�$���R���@`TZi]�R! �RF}t6�M�p��1DQ�ʲ�T����*e�=����V��1�����~����>�?r��}s�T��^��7��a���}�Yv��Z�OM�mlV���f|j���T��J^�D�(ZZ^��Q����aem @yҾ�'����$ʬ��1E��f�8agwL7��0����R@���J<4kf���(�@B�5g��4���j�z%Zm��"����(JK[�t����?f̘1c�<H� �DQE���*#�a|O���k����=���g����o�z[��<�\�Y.���v�}���_q���a>�)O�������� Fw;��0��b�g=�YA�{��ބ����K�͝F ���( ������^��{���~��VF�v,����:��s��c���E��_�e��ۖ�?����Z�CF�����{W��|ғ�t뭷�|��g7�*$�(�Z�$@��o�xD� $@�&�2�Q�i��I�H�P �Dx�RC�w�� #����'���f�N�l��Jd�u���V/�� ��g�V=д��3�ȇ�z�ʢp�PG�ao��3g��;H�֎=��9�6�Av%���Gg,�+�� BXm�js��Qk�� +-! ���<a��=�ʶo��"� +-{q^W�g��g�"#�6`��b�̤�hzwؘ S��tv�v�͕�%���A�:G*PaO̳+�"N)ry��Z�$U +-4*�I�U�Ȅ�Ĩ�,L.�1[`F�^���J�Vt7ٕ��EA[��\��=�vΙ0����{�s�j���S�<��[�(��{�J0&f�Tcr^i�v7K[[�m�g�(�=�9� DIJȕ�1�ۊ���@�N�G�J�A����/�A��ʇ=�y��m�0jhD"�1j�^�>������4�J;-���rz}�����ReB�TQA��+�Ι�P�K;�,�ш*q���d]k�9O��f\��z�#���� +-{j���;�=�\ �F(h���hk�V�4��Yf�MwP�R���$����ک�d ;煕RH�����z��d��U��Q:�nj3f�c����� ��+p���c��w��o}�[����.}b�V\v�w�B����c?�̳{�|�# ă���ݳ�������+�������%�\�e�����o�r�ٙ�L�H, ߵ��~��|������[���ozֳ�9���}�����VWW/{�e�y�s_�������?~!����������;�3333RVo�+�~��<���}��^v�5�8�~��~��n�������~���?��=�i?��?�ַ����������O~��;��}��O���K/=���I��C�)��q%�� +-�[�F�{��Dؓ���"D����� �kEI�O5Yި2LL�*��� ��t��niq�R @f'L��q�q�eZmL��N� Me�~\��2� �M��~�T����ٝY���y/��-*-�t��!(�(�w�)�8�XW�lK�^���z&�*@ ��["��B�9@j"jSv7�A�'�(�ȢH�wegM@���/�����PWE{���0�JmT���"��@*�6젭�FP�D� +-�H��i.r'qk�9κ���:��� Dgi���>��HQ���S��))P +-DI�RH�m.#�ՠ��:�ad� Q���Q�t(��J��AGi�yfZӈ����@,h��⨷������y@5���@"�![�F�*պ���m�V#:�t���7�;R��]Y(���ug���o3����J9��q���ɍ�Q&[Wk���4Qg��u��J�Z4۪�8��<�m��(0��H@�GA��N�[�N�,-�F7��i�&I8Q �2��y�Q��ü�q�V��/�JE�)$�(���P�v{��m��M$B���²RH��DK}B�q\6f̘1cQ4�!x�g4<��5=���!�~��_��_�����|�"r�LN��ϸ��|ϼ��[��>�l����s��ܿ�+�?u�ŗ���������?��I������˟����;�����v@8=3s�-_��_��뮻��n��={���=�y��Ȟ���ؾ}{����}�cC�g?���\s���$�[���1�>�������zFo���g�.���n��ꫯ��_�U�H��MozӨ�����^��W�_�����1��`$,�4"�()���N���L�����h3��P�Wgd��R,N`�;$����,-R���r�MD(�Zųg`O����'�5y�4��,OCJ-i��Š�����ͥ��i���$5� � �w���^{]�U�D�;���N���*U,������H��m�J�s ��JP +-�CO +-lAQt���LG���^@�e��L��:�y�D.�Rl- Q�a?hN������c��wE�;�R���*��t��@�u���҃a�bK@���l���"�i���&�a��0����`�5�{Ka�j�&x_kN�����(){�asJ� �lE�)�����Z��+s�kS�YoS)n��2O��3�O����� DP�{��(�5�~ E�[Ϩ� �"K�H@Xd�+sB`ϖ����n�b�P�D��0h�Ӛ̽��\�+�w@��zo� +-.�EB����3�gVH�E�Za���8�k-OM4iz� ��{c���� ���nUW6�'����ӡ��R�)�<���歇O�;7U�E'��,l\�����GW�U��m� ,#�y:�� ��z�,�@�����(��zk-�t�ڬE,n>�g��1cƌý�{��M���6�J�a>X��]i��2ძŗ1���>4��wl�&�]R�4��m �B�'N����;w9��ˋ�����@kR�홁0$9Y��y{/�VH� p���(�g��Go�̡�hb�9���0�]��E�{������GJ�;v�����뛛������T��s�ȑ#sssc��?t��@Pk$�q��=\�4!�xEZ��-�(�*E��l�ed,�,��~tS���U��a-���΅�"���ڃ�fbN�����Zsr��ckYQ:�0���k5[e�M�8���TJ+�����DqՖEE�,l� +-)���@�Օ�p��R�9@ a�&$�}��ZKi#,���%c(|��g� ��j�:���QP#Q +-�:��+G���4���@��#��{Smp�S;ո̈�ق]�!q<�C+B�ҹl���(�UR�YD�P%� [d����R�E�a�f����G�$I�KU���#<"#3��.��p���,�}ؿ}_.�X� b1�a����*����U9��"��z���]5}����v��Y���|_�K=?��VY���z<1���u�\�2`z��O�aW[���� ��(o�]���?����@�܍�\!�[D\?���p�&"������M�n����K\U7��-��f�ʒ$�e<�*3�S)*"Q����ID/o�"L"�N>ͣ����2�NfA��ꄸ��xD�4���!��b���З fb^���L���c?��RDǛg���Yܽ.�������^=\m��fx�p���<�2�dk"3�+zx��n�_$,������C���^��7W��9��?������.\�p�����͌t�N�1�5�}���T.��;�~���E�7����=���Wf�?���T���u,�1%��b\Li]!F��_���e�of�`���F��|����.0�� +-X�IR&�V��$�L�A�t�8g���d��,@$)����p�Ozu}s'�.�����/�z���mY8��q������>�[6�ۿ��^q��a{=��ݰO�~����s�i��t�hnH�D�}90RFN^'$^���=�V����c�V�S�DZ�#�.����kuoO�OoZx��9�U��8�P%I@b�1<)"8u��{�́��@��r����E$�`7��|n�Dk��j=#'���8w�߶e +-�hK�#a��e{s��'�g��}��nk]�N���ӻ/�l���Z�In]�y��ߺ��Gv���# �=�vo�������ן3�iu�Rz�V��Ƈ7ļ0W����-�y�R�"<���w?:��2IZ�S�#����<�P[%����kQ���N @pk��u��B�.���"��̓��������ݛ� �Msʪ�D�]m�������j�pba����W9{|_2Ok�$a����H +-�e�[mf�,����<}tw��o���j��$��p5��.!�������Gϯ����R:Щ/�p��������.\�p�����p HJW��Z�Qr�����=���2%�o��}T�k�����&�1���כx�Ex���?N�L��� +-9�_"L�!�o��q��oI��=%sZ}�\��Lk�6D��!����e�I'�0��#�~�Ɵ���p�>���ݳ����z��m?����h)����|�z�gJ0��"2�Q�%�S���}iu�˸���][k�.s��FN��3����@8|=H7@(v�%�� �IDATA�k�p)}��:��%x��ק, +-2!�uhZ� 0�]k���p[�tu�9KwU�/Q��VpG@os���M'`�ݵ9�2�gĴ������.����u9�Y�%��9�6_F�π��������SJy<������IO��Ƿ?�hK�K*B$��~�S�n�*��N��N��o��/?9��~���L�\��~���z�x��� ´m6���j�N�d�����K���:�n�_}��A�D,9E`���̌Ą��U"t�����w@����*�������ݳ���cC$ +-@d�@w����Ն��ִ�d���K���ޖ��faf�jjf�T�Zxx�*y���,�K�M��)g"|v{��?�] o߾}�8��J��Z3��h�I�����/���j�᎑���<�����.\�p���c͘]���eZ����62�~���e�����V� �:��H�H�� 8x�)���0In��@B�n-���e��xz�����?�������O��_|r||̥ ˹��}�n��G��m��3�ү��jfΩ��G/�93����^糤�B!<�"`��2Dp����K���~|xK��6����,�34��y˝-g�,���>�"9B���Ǿ,��{�^��'m3�H�֖��R���D��$��u<�a���Z�"tZ59B��'ɽt��Y�G*}*�n�������:kU�{�O��z9�-ȼ����ٻ7�M�t|��@u��ii9��#����LQ��ˏ��㫟!�Hjm.���Dnn��D�f���v�,�y�'��Ȳ��}x�E����������D�Z#�("a5RKe��GB�0�������34sbI)�2b����!���w��j]8u9��Z��Y�݄yS���0�;1SD�80�����LH��(�!<��Y�.S�@ "3#����0ۛ�Q}u��p�܌�����F��y�ZE��]���s�8�F��q<>��ρ.\�����+cv� Hr����.\���Թ���ɲ֗�Q�ׄ4OG�'�����Z��S���k$D���hӹ֚s�_��������������R��f����q<���or�j�N�i��"����Z3w��m�%b�T�ִ��8�fZM뚾%�$����j����}���Bԩ�y���)y�t:��֖)��6 B���h�wr �"[NșS��xsE��@!�;�.��9KI�P�߽����K0s@��1�n��gw���v~�3��$�pw���=@�2>�o_3����7���R��!�����p�,mn67���j����MX�}��~�]�%D0��ަ���R���3�$m��r>I@D +-S`Q�0���ݟOg]�6�#"�ݵ9�v���3fn��ԇ����#L�ɖ�Z%��"�u +-�<<�2�Vf����ލ��-0ƫݵ��9s.(���m�e7l�Z�Bov��w�dafa4�p@hj�������k�ִ�Y3�p$���5���ɹ�.�.玈"���t�����J������̦����H�.��tUw��7��p�~���͔� e�M|_.\�p� �&��مO�1f�ܔ8[�`mB��%�"a<��Lئ�� " ���������`���Nw�dV������<��w����ɰ(��F��x��Ͱ��i�U3���\�f�ںR�iL��{�<�N8�[*�X��LH���)A���j F[�y��>��a͗�C F�eIymdB��&�X;I#��"�77t��|�͎�x�]�-�=�Y�:a8��9@p.:���J����;u�:�aW����P�'�{B0�7������H? �.�������GD8�����˟Bo�����}@]��ӟ q��$�]���"��"�!a��q�g���:̆���t�p���/?�ǣ�I[C���p�dچ��tx@��r +-���TZ]V�2bֺQ@�GNI��.��Z�,,)�ds�e����|��LK5�n*���C���/D��E���1�����y�"j�3#��#u�DX.���2�)'��aD��]�Y�3�z{u1X�f�4#��@��Ӳ,������fH�ٻ�Z��w��Ù������| +-\�p� ?$~_���� ?��,���eD�` 7�(�.������8��p"F7���� �ibBt��n�����:@8 �GWݶO7۬��c��������4�౹�k[�"���ir���������2�2C@X#ɒ�6�k�1�j.}�!Q� ��V�ھ��m�ӛ�3OVlD��� ���-�n,I�!qh��G��> +-����="�����̹��"P�s�Z�Z��6����`ˈ��U&nu�����h��Z*�|>��S����\����ϻ����㻯0������P��x��w�t���w/�o���rz�9�5@ ����jպ�VG$X3H�L(�:\�!@[F���o�e��H�9"���͋��ڐ��\+��D�Ԛ�Ɣ)����U���XdחӼ@ bKm !�Ђ�]�ҫ;"��ܼ}�&�0������W�G�H)1�݂ ����2�.�ˢj����Lˬ�!�L0C�:Db�gm3"��4��HRa@p3��Km����Ͷy�ei��ߤ������9#"��������'a!,]��8���W?��� � ��2^�p�����B�[E)�Y@��6�E�2i�����,�h�@nn�D�2��5y$���#�躼ʗoN�è��1QSs�� $$Զ����D�g +-�T2�6�0�ҙj���Ҷ����6,"\�.���ִ�Z�4��7К�%�)@�y:?�ANk&���J�� �x�2�2KJ�s�����+q�N�?��|V��"R*��ys�Rbu�$j�O"��u�:Q��l<������<��8'ar��0�w�>�y��]�����ӻ�(<KWۢu���R�l< �|�ƛ��<���R.���!gP����s& baD@5u��2!��:�=�.���qj���t�|zwXU����XF���DJ�M��x��^#3&�<L�{��;�!"bS�n�E@G������]�ov��G/���]I]Ϋ�1�HI�%��?��������nIDD������HfI�)u�~���4�#����a<�-�)q�w��3�z8�=|3d"����i���n��ϟik���?��',��d���{�U^�p� ��%0�p�k3@D��j�R�ͥcI�Z�<���u鶒2 ���l�"b�3��bD��x�DD�?��G�g�W}m���fӿ܄G�>Q�a��2�������i���xu��IT�� +-�a���@"$i��Ƶ�]��No̔�S�������*����7�u"��s�dw�$��>2�i���{����t����ȹ�H�ݵȚtX��8UCu*z4G�� ��t�&o�E�n(WC��n$%bVktx�D�n�|���������g�����9��-!Q�����~3��S������`u�mO aO�-���V�mdutpBt�]D�eI��k����~7\?�� �$)"<� ��"�VЦ����j�#3�#�d���u�*������x�.�ܔ �v;3�m��S_r_2�=��hQ���y����zU��P�Rr�I�p*���� A�8��瑉Zk0���<��I[}R��J�胻?{y�Z����A���!��o��쯺��_~����qQe�p� ?$��� ?Z"�uh@�P��0b���հ�&��f�wD�ү���P�@�,D$��V %������0��ų��/�}��v)�ڎ��/�21KD��b�"���i��r),���s�iu�����y�3���� ��)���+R��%�!r�Ω�͕Ypp����{$�@,�}���]HHea� +-�J.�ސ8�t�H��e�D� +-L��y��Wc/~�+���{3��t��Օ��QrN�[��LB����n�y��Q���s�:`!Jaʛ+�tx����ϣ5p7�]�m#��E�!�6��vz�@n����=S�AO^��̤uJ�VR^��tVg$$ +-sɅS�ө� Xr�I�����4v��Vg�5���g��;$Ff 2wD�Uef�pd�U8~U�Y���-X$�^���{h�nwM%�MW��⫇��81Iʩ+vC�� +-� +-����'��`$5%�R����S���fD ��n�I���4O��x�N�ۇ�2��6�1������m�Q��0#P�����4���$�ǹV�.'��{��/\�p�.��� ?V`M ��~�]$�m9>D8��Y.=3x���eB�UR��g�c�^u��07�6ψ`��~���ñ6Շ��ozux�l�W/zkskmO�Pk\5!�t!W]�yEr��-s.}D���;7�T6Ha����B~q7�:#�H��9܆�۵�.L��ݠ$��nM�)];�Ni{u�6[�8����;R ���]���뮟甆�%�p�u'��`B��0k��`N�>\?�ֻ�~Wd�����"���`�N�����f��3aЗ 0(w��ι[�#����a��뻏�Tr��V+3s0z��c�&ν��T���mJ."�[w����f7=�M]�L���>���pk�W�Bb9��ܖ�HDBHD���J��̮-��� a�D\��V���o�HqӔ��z�*�,-�Q���K��й����]N%��m���S�.�$�"�f��j�n-�EK�e)���f���p���i<O�8��i#���o��W�x��պ��f�?z���a\��0ΣA��j�����p� ��i���������̢�c����#��u?���.���3�+oui�� eS�{l�N���+@I%�d +-s$ +-w�g��,���t��kpk˸vy8E`l���_���!���o��'hmy�ə�v�D�����O~�s��oΒ��1�Y���H��*��@�G�h��I�L�Hl���J_��%�i��;��+�B8�?7B�p\�$���=?����L@L��a����2��N@H��0w��$_�D��m��T�l����1 j�� �� �!�.��m�݃M]�o �0�$���/%�Z��jVk����R�y���s�8@��)0{](����t������\����͡.e�,ˌRJ�g@B&0��2��E��g F����9����<�W5B�fF�w0 b�d�⮦���(���"���܈Xri˼���J��������z� ��d `xI�(���,M[ +-�0�Z-if�D�f�$&a"Ze�9'B�0CBDZO}M#���}���M���T�@��n���b��!:������/���p�����槒d5�~�߾}k��M������?�C� .�A������H���q�準�|C��yZ?��f����c/�Nq��Om��-U���RJ�}��'#i�n�Z-#��}Yh�H��]V����X��s���t|���?BN��K�^=�Zk�-�p��w�A�Ʈ�����e��q�{D�wg�`D�T0�8�y���ݴ���jxX��N� �!�K�VW50wkD�f0�9��֩�S.=!�.��0��H��]�K�9��mHy�<���0�`��n�C$�HH�ߨ;�C���莄H������Z�i@5mj`� '��M��<��2���(���a-����T�wD��p�l���$�#�S���^+B��4F@ �Za�@0s7�@,es�sѺW�����?F������H���()G��E"�dpkj +-@H"�M�s[D8��T��ڲ��#�@�Hb���S]�]U��%����R�Zsfj��������L�̐P�����a@"dv�h�段�VW���x��Gk�#����]3aW�p����T�<N�R�Y]��p$����Ek�j�����������.���b�����~���{��/\�p�*hf��YW k�p3��w��e��</�cXk�uȖ��O�?ی�w�o5'��xz��2f���ns fAD���Y)�}���V1���p$dץ���2�2!���fH�n��n�a��x+aD����ڗ�qԦ����}uh��l��ݑ�݉�� �.)��f��H��9�j��}�:< ��'0"�s�:�5�Ҧ1o�I�����)����v-�CfX�Bօ��n#��p*m<������W�"�>�������=�� �=Q$p0]f3�.� ܦ�A�0m>'�>��>-M�s]Mٚ�W���j5M���⩩K9�pCN� +-���a����xr��tWC$�'I��])�PM]��� �# �$u:���C�qJ�Ե^���xx{��㷯>3�\kER�Y8x !�R���j, �ٵ"�{����*�A�D�Ja&Q�$2�g��7�-3 }�ջ�$�)m��F�,\�E�í�*�D� DH�Fq)q&�5\e"�@bB�ADfy���i�� 7k�|>�ZkM���-��o_�D���_��2/,��ǥ/��m����g_s��L���_�y����.\�p�����P��%�Y����:ϭUK� @�VJ]Ɍ��q�jk*E����p������?�k��R)f-Ԥ��G��t77+����K�S$���ĩ#"�lͬ���˙;!�Y�KN>�����eq@�$ ���a�il��AdZS.n�f9�f ��.����O�<� �D������P��x�0� 1Sq�ఛ�R�V)�n��y"�0����hu����_+���w��1236���O"�>3Ft�LAD��R�2���6��ٽ�5בro�Z������Ls��RRS�M� ]cx�E=R�涘9���;oU��!���6L%����(@�����sJ��x�� ���C2/������-���+�����or��)���w�Ϗ(]��k��j�mĜ�S"@$��H��5 !qJ]�N�#�,�y���wik��j,���cW:U�g$$�)��0G�:X�$�u%�#�� �#�#��H��ׁf���I�u JB����Y+"ْ�p�a�%�y��7�[�iZp����/����A���4N����g7����.\��O����sֵ����n@"��7�$q]�,D�{��n�A�&tKݐ�*��Z�k"sʙq���65$�\����k�� +-)�6N%�֪������ϰZ��G I����[�j�$��µզ��s��������87.�?�f���r�D���O�����qn�+�t~��2t�����E,���m��,��s)��g��k˿z&�~���j3����.����������ؕ��R�0GBBV3�ƹ�T��= ����\�� �.m:�~s��z!@���!��&U����qM�y$����?����ա/�]����l#y@k��#L��K���̀����t��)Ix�X��%�! #|m�[fbO���vo���`*}D �i���m�-�Qv���4N�#���[����͜<����B��!������^P�Ӣ��3D��v�u�5`H<�G��8m��.Cߝ����p�jar@s77˥��,���jj�|<�1���#!�U°���N̈�˄İz�E��,�T�y���aZ^����_��6�O��)���P6W�/��g�y�]K���U�"��X�0�I��R��<����՚<�Mr�]��=�lf�0��U��� o��5$�M����Z`"���T;���ALkb�I� �]��A�,��jJ��,�L�,k�430Q8�!d�pW];�$e�vs���=��MWvW���_���7���繎ui���M5��{��/\�p�"��:v5gyJD�{�2�G"������u�[��̈�nf��ߴ�֊,�H��6��M��wc9g���N�r��Z3)��L��dF0km����u���\\�b�g��������y��{��dY��� �IDAT��S��/|��Zn�J�au�eg�����:���>��_&��ssdI��M�Z�:����a����Ńߵ����� ��%t��}�_��uZ��>��?�r�JH�.����t��,�ڲ��,�I[�p����mv���ns5=�&�@p�X�6� E�L�4�4N�J"���>0���ݖ����`�G!r���9�a�f��m�\���J�af@)�Z���m���k""�i��Ź��i�lv��"��I.�|@b@$==�aʝ��yK���#S'�:�(w�ω����2��K��]f��&�(k|��of�����~p��Ү6��^!oЃ(A��Je�tm�e��y>��~��p"��F�WC9���n[[[��� ��)Q�Rǃ.s�\�i��s���@ri�$���wW��dD�6!¦ﻜ�4�;��XX��a��M����ϯn����\�@$�5ħ���81�*FX���Y���q+ �ص!�4��ݮ�n^&p�nwH���"��v���a��%$d &�p$"�� ����8�Ǔ�8��3y�I6|�?�z��eQu� \�0i�����@��N"���H�p�u�gs�"��^@�E�no�߾�?M�z�Y��/\�p� �$0sU 䧜�S5@�2/���V��Z�����p3ʥ���/#�K�f�D(�E�WX��`�I��Y#�)!�����U�6���Zs��T��wk�J��}N���$1NSk�8�w�!��Z�� �PV$f�p|Q�$bxoy���q��q����_��RJ��EP��*�F0��,ү�~ז�{&���t�lP�n�7�]�ܟ��k�B�q3#}�ӥ�mA���s����DkiZ���=��~�,� X� �b�G 8�jDh8�)"�YJy�&C�sS& +-�Y �R"B��76zs�H9)@���H�,�����ĸ6��"�z��)2s�=-�#`�#$�����V�ٵ1���ih�����x���Me�sgt5{|�Z�_~��_~ +-�|}��}9ܼ��KI�aˉK��hs�'��,4d�"j�C�K*o�/���V�N�O�S>��])W��y�ٻ.w9Ms�<t)Ij�/�nU[N2-54n����2.B0������_�Z����/U13��:��Ɠ������3��nr�f�T���a��C)-@U��MNe�D��xHajm}� qĚ��@��,´A�Q]50�k���|s.���v��p�U��|���#0 @8c�$$�5S��4F�[Ba��K��LU���X[�0�231.sUI��7�c]ڬMD�������u�����usA����@�dD@@ ^�vg�Bg���W���~�&����p� ���r`�j3䒿�`��C�E���E�g�o>y�Я����B��9�ZI߷(���=�0���~S� ��Ԛ����|]�̂�}�M ( =��/`S����8#"FPs�ӬT�N0��{{������[�[�_�j�/����{m��g��ξ "���9�?Q�� K]&DJ�n�������D�8 �~]O��LH$��ڀ8"��l���#Z�*��̫q���;J���"���!���G�rU�:%ak�]����-T�i-\$�pC��w�X�3��)e�@�V��0K]?�c��T�2C���ncn�LJ��S���<��u��Ky��N�����tDf��#'��)+��k���1t9��t�Q +-��<\o��Z��� �Ͷ?.�jښ�T�c��$�t:M���uE� pucS��m��M�cf +-�.%����Ё��}J*E^�7����~��o�cU�psJ�������:�F�y�ۡ/I^?sΪ +-Da�x�*��1���#���GbA$��b�ՒaYf"""&��9̲�v���Uq��zM�"x8A@<��0��#���*�ϫ�\b�t<��`��Y��jh��U[��ȥ+����y����I�f=�U'"��ĵUuC@� ���0B��Z���¦m��ͧ?�ѳm�/��.\�p��ہYh��a��AQ ���g���m��:��s���>��{_�^"�Aۀ�!Mj)t���V�����1h��%�(5�����_vYD(�h`�k�(�- �~ǐ�yy��{�9{�����:��$���ϻ�����s��k����b�B��o|9�~ ���c�֫���"!�C@����Ł=�]����ώZ�l�I��{MG�m��Ww�5<�}�+juOf����<����]*μ3� ����{��;f��=���<:�g����~������J^Y��y'ع䑙��>��I�ZQLCH��t:����T�Z��QӮ�O���_s��6q�^EnUAD1�U7�pR����*9�{�c0̉��V +-1��*TEd�dc�Z���C�Ù���`����刀:��h\f&���@L�����r��uo���0�Ô�n�D6#���̩�wv��WE^O�-mZ�3�Z��2�]tݥ� +-Bnv�v"X��9\���> +-/�lfS�]ǃT��zjZ�ՌA +-`fc�M���,� DD!�q*���z��v)1��Ժ7��r=�.f9�YH)���S�{��w��z�9��$p���[�y�J1 +-s5:y�^�'uǑ��V�b�P!�M�jm�B�*!�8�����9��w��jm�0"7p`v4�Kj1���9�p��Ή�Pm�,wkz>-���D�����(���3�&3s`�Ki`6%�*,�D܍%J���|�Z �z=SQ5frx��`��ܽ�2�S��̓Í��f"��ber�����og�e˖-[��]����q���\����i=�:�n/��[��!I�,膒k���wE��Db��n��E�B�fn�.1XQs�^���k��~�R����y���@Z@� ��ȑk�]ӻk��_��M6��q\�XD8���b�f:�B�Ikn��ZĐ�����"b��Tj%b�M�"�#O��9����0k)�>J���Jn:�N-R'jr�F pL)�L-�F7���<���: ��,ć����=qc�!E[ݶ�~0]̆�8v�d�>�;���b +-����|6h�E�E�Z��u�}�C�R�����j�O��} +-���W#x��Zu]4�B1F���4t���Ϙ�E�E�*�+�b�BS�.�.�B�a���|*E����cwg���~��ԃ�q���4�R��6���&|�;��͜� ,,,�ets"f7w3s��"��B���iZ����ݼV ��@BLnn��)�;Z�&K��*�[��)�087�"�� � 7qEgoz�n恹����Υ���%�ZM�����D�� 1%� +-�r=�f=���ĉ����3sLq��1�2��1O �)q�s7|�X���Wv˖-[�|E8��`e�����:1��pTVv��t��ŗ��秽��M�|ng���V�17]�s�[���ܛ���=J꜓x;J�-�sU:���/m�g������Yj���P�jdN_~!#В#w����;��[�D�c�=u�3"Akq4 �͌����=���3'9vd�D�W�n%���Z��[�y3_� ��n>R-�J�VW��ޒ\�#��\7�`fU@��5��L!��������yq��:CD���D�-M��JD�"�U��u ḎK!��%9Bp?}xp�b&0f|f�p�Mp:s8 ����z��-�g)%_��j��i�L�����KQ�����y_�ߝ�Z�嶃�K]!H�������ø��h�R�᷎z��;���AjFDj��زj�[�Ƹϻ��1��jʋ�0��g@{�a�����u&2&s.�D��1��5�k5O!Xɪ��Z�����;;3�Ds��R�y��!�9 +-1T��`'o���L03."nfp����ݎ���Vs�n갢D���u���Q.�ܫ��3��D��F!�HDB4��D9�d\O)���k�ZK����u �ݰ��vO�r��߲><}��ScJ�Y����blYA��}˖-[�l���6A�q��2D�%P)Z͛��բ�pԿ��l{�W�96��U�\���n<����zn���V�!�]�X�U]��X �0�h54� +-W��,��k����u0~�+b�����sQ�% ��ޡP�쮃p)w8��>�/��\�!;����-w W%�-o������h��w 1v������MbDZ/�3p����"v�a�3���]an�{�4�[S�' M3���(�p��K�&y"�RԌ$�������}� f�檪f�q�JpW���9��\��aG����B` +-����{G���^���4�����S�ج�χ�CA C����Z��K���@�� IJd�`! +-��*��[�=�� q +-�QW�����E��W1"?6�Z`�'9��B@އ���)��z��ߛ,�R����¹*��3�\�z���!�!��M�o��m]H��Ts����XN�nε貖�*k�nbjՠ"�T��Z`U2S#fQk�X�������B����aRR�^ny��� 䀪2���.�J�B0snVl��c��)����A�J ��"U�٬s�c ��PaJ�WS6�h����S���j��<N�1��֞fG�H3���N�?��s!���B��:���/��a~l�����j��!!�<��S�o*{�-[�l��'41��N®5��E��qX�:�qBr-��)�����n��hQ]'L�U���'˸V +-A�n�T�C�G�<N�u��U(�$8�PƚGXh"��H��%F�SG�@0-��\�.ֱLk�(B�hPj�wzE�̨��RQ��Nq�0s�s��ZHڶ��#7A�y�fv�2�)�g�W���/�̴V#�;�,�ٞ��Nn�+HLfJ"�l�:�%x�D�� X���j)��VsH=KPS��ٰ8<���ٸ:���ԭ���*�%+���Dl�p���BD����� +-�:�$�5k`cb3cbs}ofp0@A�C��H����5?��X�ED����JŜ��7�1�R���t�ԍ�A�2�+KtFਮˬ;;���:� ���S�[�Wcxg6����3���0����KA��Ý�5��W�\�� *���!13�yׇ.�Vq�V���D�pf��[���gC�jA����f0�kYM��X��]!ENQ�I�Bj��/W����ߝ��\�y�͇:�����D٬e ���I��Lc��8�������1��w�`�pc" +-�o��i�Ҋ��\�D"s ̪5 +-�9��f��T���:����Z��m�刄�Ku�����Q�P�l^̚�4̱��!���j&fι(Z�<�0嚢�[����1�q�r��ڴC/���L����p B�&!��:U�k�6�nٲe˖�����y-E�YBA6�P�%���qH]:;|�r����.Y.�db �c]Oz�� V���qc��"> +-)��2�������ꆞr�5W���R�zϹ�<�8�.�1�}w���RJ-�n<�C<&��+jff���0��2z��r{z�� +-�t�7@!u�K�͚��i��\r;/"f�w��R�������-w��taJ�赢%����C�e���I�0�l�sp���ӷ�ȝ��jv3��B wsk�f�Z����%U%"wcbw7w�-�n@�S��PӃPvt1h3���t���7ӪAث�M+*3@�^s@Lb� � +- ��̵V��l�E$����f����V�`>tC��h��R�<-VS&fi���0U�&��EW�L���k�։�s��.`�f]�����őf��.����Wc9�7/U�(%�w�]�I`"s-j@xtq��-0#!檤V��ʤ�6wݠJ�IX�S)�tl1+��)�;@�BTս:�YƁE�ɵ ǐ��3��ff��A�Y�('����T���wLM�M�u��y�B�:� +-��Q��f�bW67sk5�fvT��2n�&USCd�ɂp�JL��ɜ����1���lqVc&3�ñ�vK�Z� ����wZ]���� �PJ%�@��3bq �s�S���8����Y�)%��q���lٲe�70ԆS��il�rϳZ�����f�/vv܌��⼼^���҆���>�I�iaf+M��C�k͛�A81N"�&��Ƅ���TAw���0HK� D5� +-"l܃5�Xj=�E�bιK)�0�lF���{ͥ�!�(��U͌D�́;"r�R +-T+��]ԭ20�C*e�L�JIÐKf��7=����6Mb����������P{n�֥�3K"�Z�A�)�K)��v�jUU�!&fT���r����a1>s�`֧R�|�\��+EG�.� �@`rP5[��$��u����>u�)��#�RU���X���x���L�f�!����"���dn��Bn��-��8��ʹy�3��B�b�f��B��L�Յ[F���`��M���M�eea��݅y6��5�6��Y��d@����,ٓ��c�N���Y��S53�B-u�+�CS�g�mz�)��0 w �S��c���442j��)��|6K�=hv����G>���ά#`��~` f�_�~����e˖-[�����%�[�|��������hu�S��]G$y\�Vw����33SswX�H8���f���*`'2�Htw�;�H��,L5���%�[�a�qZ������J��ZK��.�� .\�B0 G�R�D1z-,�j���S7�)�M-$s#'�`f0��5�`f�N)�i�]�,�5U%����Mk)V �j�,��0uA�=Eq'�JM�� G��s�ծ��K)F� x6��R�j�rQ�HyZ.�x��v��8 1a���Rc���=!;|ʵ�АA����"R�j.�(�"<8|���y�fZ��Zb��8��Y+Z�#:q���A �{�JԄ.![)#1��<�9Üf&�T�ZAT��7�A�Z2�a����ռ�)����fZ��Jγ�@�YU0#"w�+m��7 �G>c&,̼��b�)�����Tj` +-�c.���Dx5�f�BPw�Ր"�Y�k{2�{-U+վ�A$Oc�6AX�b���`�������_z��<}����U�u>���:�(a�ݲe˖-w'��ʖ-_��w���^"���>8xfL��`������jH�cr-G��Tmmz�Ȉ��������.�>\u}�y�w�����v�~V�������H)��!��jH��:0����7N�Qģ�FC�$M�M�� �چ�b"rsbqW"�[�9 )�ji +-%b�0�*�k��a^ݦ�k�1�<Mfug>_�k�Bȥ��b�03s�B�V����9�YC $i!b� p�%��R��:�u1�ͼV�D�4E����-R7�Z�����9T]�J�eV ��C�1�\rm�m�A$�Yġ "23Y)$bML��Ls�[N�Z��LL�l8\�n����&-��5�N�v"��v��>�T�RUȝ����Pk���[,ruw���`���Ϻ4��u��qA��6�Ҁ�7��L���|�G܂��V�JE�v�p}lw�jK�̳>�A����;KS53/����NS����R�8U�>y&B�uy\s��� %��Vc���S�9����b>[��Dbd���e˖-[��]|�fZ��ꆻ��u'�-[���/�`uH��!�4UW0��Ab�ȫ-���b2�k�{�V�b�m�z���8�@�S��L���>}0ݼ?�{Or��k>q�'jB������}�� ��U����x��J[�9��o"j��A�)H�n�nAs�v�Akv'hM1i�pg�%�#�����r�N1�Jx��L��R�8�Ixo1sI1:����L0�b��x���b�D�"̬�'��L�%19�W��zf3o>�)���Hi����;�\,W��)d|*SS�b��6�� j."���ww�:��^��Ե�b����ir��Ue�>�����,�� ����حKi�'��R�E�T�8X����f���\�;U"23Hb��,ƬL4�=HD���J����"�)7����0�P͙����z=u]�B��ު�&��T%J�p���ܫj��zr3[M9 +-���[,Wk�: +-��4U㩦f�Ŵ^�qB`Nݱ���N�$�� �IDATgN���z �JsM�0t]���T���xO}��lٲe�7$�l���^���-�8q��0��b����;I���ɽ�k�[� &"#66Y��$ѭ)i��֠ED��,��8Q5?��!�>�T/��>q��Dg���!�V +-�sI)����5m�f7���1~�����}ϛ}���<�ŝA�����k���n`S�53ha n��]�B$"x�;B��K.V����c�CL7�pC�2'�%߷�1Z��! a1�7~���,���A��܌�� rwS�Z7�k/�� +-����M7�oD0'bbg��9��q`u���A�>�� \���YMA���[����Zw�^B05 �Z�aH��uA��k13fQs��<)M9K�ȵ +-���Kq��q��9Ű'�R\������ +-F [�ę��k��}�E�Ik��r%AR�Y+���@1H1_Q��D�4c��Q�:����k)�ܖR3�LGgEK[��>�B�vf����j����w) +-Q�e�����\Aj�>�֙Y�1�E�v�=��R����r�p����n)�jͪ�fS.AM��\M�H�E�-�mU�lٲe���W#0{ы^������k������ß�ԧ~��e�76�bosU�N�Hn�av�o���o�弝��|�O������<뗞������ �k7��VV4�.7����e�:�Чp�����p���WeE!5UGiY��u9�c{��q����Zu9�u�������r�au`wޭV�h,���j�$�iu��Õ��;����h�����Zg1�{]p��r�sɹT�j��s�Z�,��i][?��f��K�죪 +-@�Al����șɳE3A�iă����Ԍ�f� n��ߎ���7usPicƥ�B�Ԕ%�U%�T�D"�n�q"�8e�E�c�������T��l�'u�Hͥ�;}$ �0?������l0Uf�R�� ��I�2f�8�F�I�ŐWӐ�|�MS�jg�>NE�L�ofbB�I�#t��E-�����ݼ�|c&B�wfF ���1 1�,����Ч�Uq�`�7녈��Љ���vq�����Y�93�����w�C��1��z����)����Bi*���0;,�ј-W����z�c���öe˖-[��m|e��o���+�x��x�5� o��������c{�C���^��������?��?j?w]w����!y�W\!r�ȹo��u���Ձ�6%����;���_=�7?��?��x�_�����k����?���^r����������ܩS�}�?N���{�'n��>���u��x�-7��o��������O}j�X���}��⥗>�~�.��_{���E���G?�u����~������J���;�s������������?��F28 7�g>X�gw�8~�}��/�˟}��9BHju��!f^r�T�:M"\����T��>�����x�\>�1��ꬵ�:s��N��%������1�{����3��tuk���N`sw3!j9GU݈@�n�nHQddlJİ�C�n�&ON��}#�R��Z�y���R՝H�]͔�TKm�������.?*��LKɥ�1�Dͺ���ra�,����8U�ؚ~=�!���kթ�cL�l>�J� v��jڛ�Fn`7w���w���]Z���fP�A�}1���Zډ� �yiU�]w����$}��T&6U�{ڔ��$�}�"̪j� +-f�giH��v]Ԫj֥����'fUM]t��{3a 1Ԫ 0q���]���yD0 +-��357��f3�a������?�k))H�Fo_C[�lٲ���+��|��Ozғ^��W^|��o}�[o����.��C��_��_��������_��G<�w��}�C�zի�}�{_p�������������~W_}�]���P�j�Q +-�����Gk�ZpH���i�S���ͫ_��O}���O��?�<�A|������?���w���+�|��뭷~��|ϛ���������?ﱏ}�����O�ٿ�k�zԣ^���_~��O����]יى'�?~�E]{����}߷����7���?����G��Ϲ0|�#�P�G?�Qo{��.��=�A���@����f���M�/��?���/��~ϥ��o��M�A!���S'"���w�����g�1�� +-$�l b��?���]�]�u��A���-����2�r\�����������/{ş��Ŵp5�9ءnl &3w35c��k.C2�PU���057d�7�.b>�f���TJ-��mR�����|��RJc.f��t ��Mk�(T�l\��9�LMW�T�z͌��8�ZX].%�0�YJ\��]k�E�v�c�j�nZs �Z�0�5i��j��$��)��b�n�m����,�Ӈ���v��Z� +-�N,4����l��Y����$��y�����J1������G�}�Q�����9+11s`S�HL�FD:��1b��[�9�c�M��܆��E8$�����i�un]�Υ�z'��[�lٲe˗�W���+�������/�����W���}��c{�����ݟ��g��]�ʯ��{���뮻��ɓ/|�o��'?��w��V��M�������T�~�v"�n�}�u�྾�����>��^B����������ï����G�ȏ����4��R���g]z����9��������?�g<��o�������!��|�+�}�{;v����o}k�����������l6��w~�|>�_����؏r�V����/��R[�6?�Х�)�su��E����19�����i.�Zk�~�_��o���j��.]Wj&f����2�Ss�.��M�,��&�3���֧?㗮y�;��f�ݤޫ*X��6�9eժ�N-����`�Υ�Z�Zι��n���fK�-���p�s>}x0�"��0�Vs�z=V�H���j���,h.�̫ ����C�&a�3�8M"3U���ݩ�=�w�#�Tm�&!�0K���uQ���5���4�M�ԪZ[�����\j�qg>t)t)���.:og�%�!4o43��e5�\t�ʙ���r\�Ә���3�A���;�)�,s�U5WU5!�DD�Z.����h���Vcn�S�%��zRu�ٖɶ"�{�UM���ot?�TݽY�m,��7����n-(%0s�~6_���nH�lX��g�aww�ؙ�>�[�lٲ囀6В��z�Z.���z��=�n5��x���9K��m_��=�O���۶�����O���w�������/��l6���Ozғ^�|Q�Bx�Ӟv����mos�q��꪿������[����_��_��'?��|�ۯ~�o\�<��/{��J)G|�UW]u�uם��+^�����7s�UW���<�X�x�;��ꪛn��:ïYܼ�W����ϋ�q�\e�Z=��EZ������&��$B�8N���u�{�;����o�˿|�s��ܳ���Yx�0=��u��袋����77�t�8��}������^����ÿ����G�����|������^�m����g>�����o)Z)x�R&���ٛ����?b>������意DF��S-�����~�a����~��_��-��~�G+Y����`���z�o^��L�po'/�(�(Aj�f�K~���=��f�뮻n�S�$D���XĀ�g����_����yȃ�����Y�x3���IY�̝�C�<N JU3�������f�m��[UU��b6�[,D�TK)����P��"sa�Aܘ��iM 7S-fVja�\��;�pK � �~>����Y�%8���,�b��ı���c���l�"�}o�)E�]߱p��L�RJ)͟�)H�� ��3M�8A͊j�5�x�Y�u��`=�9��JUK��1���cpb5��1��4� +-��Ӈ��8MSι2�8�3˵U�rv������j�&s'�7�H8�qj����y5+�j-���r�MK���@s�8�{3��d3�C�c7�4�n��~lٲe�7:��^Ʊ�[U����s��m���8N +-�QȵuN��tZ����¿��'<� ?�������<�����K���'=��O������첫~������G�ɟ������������3������x�3����.�����O�8��'?��k���>`f��rˉ'�������/�agg�ӟ���_��W��;��;����=�A�]vٻ��nf~�����G<�IOz�s��o��o�������w�=�C��k���ӟ��|��N��M +-�8�ӕ��V��*dz[�@_nv��������uO���w?��l��n�]7�y� l:��Qʛ�v�~5�}Hq]J[��]���p�\5 Bw#��l8X�7�_�;���hn��=uz���vO��?qlg\���b�(%3K��e-�*K�/�Z��*1���_��������� ��,�C-����oS��.� B~r]Ի.NS!L<tN.E��ݿ�����?����\`�����fP +-��C �G?�a8���`@� n�c.)f LU ������SbB���[Uk�\-�3�V-�ޮ�a��4M�q*���;q�Ы�D�j��L�!�h�B��B��h�uݔs����\�D�DH)�]�-�q7�֬�ps�9J-�q���^̈́��V�͆~*��s��0��E3/�0sLQ�f +-�`�W�"���j�f��3�.�{1���H�r��^T�!L��K�M�ܽ�tD����X����1�;9�PK�"�TU�����f}�������ͫi[�(��&xCD���g���r4��M%dkd>�<�H2ox�_���-[�l���Wd�PHC +-|4Vv��XJ��\kV��7��(�^�Rj�}�m����k��f���]��f������?�����~��������y��^7�{��/�����믿���/�G2/}�K�'�/��/�ygg����_�җ��/<��_����^��W?�q�{�����������+���%/y�S���_��_>q��o��o?~�'~�'^���^w�u�^z)�O~��z���~�Qٖ/���.�cQ��#��0k�d +-1�;@V�f �����뜩E_Smz���f!��Ā��m\��X�k3uЩ�g8u����S +-q��*�X+�d'r��0U��tS�w�g�M�ë*������>�!I1;}�& �fio>��ig���_��b6��-'O����� Lª�C53���1��l�fQ�Z+ ��D@ub0Usq�����Tk���r�<��E&6@k5f5�E�JU�t4��e���)��� +-�c{�'o�q����-W+��B0�@\� "�*@�ZcLf +-w''bi��ݝ���Rͩ�fZJa&�h�Q�q�C!��K7��?��g]2����|ֹ{���������@s�{0�Jm�#58�Ԛbtsa�Qj�u6 � {��5���j��t)�&T�,�fpTuv/E�Z�=�x��ԙi}��Ji¢fC�Gr�]��|I�����8�y��&�cN14�VCK�&��"p�������<�&�|OϷmٲe˖o,��ϒ�!��*� hZ�!�.s��'U���n�X,���7�������������l2���o{�=����m���?�����l����r5�0��xG��������z�+��/x�����ݽ�?��qX� +-�����8v�ؿ��ߍ1����W����W��O������?�ÿ�����W����~����=���?���Ǐx�S�����_��+��\bz���jw��wVN# +-m�ϦV�����o�A�Y��� /tζ 0S8g[wWu��R"&!��������G�|nCݹi1�rn��{.��ݡ�W۸�|�E��}{&�(��_�/p7n_����=�W��b�k@1��� Td� ��w�+��F[�����L���M�܍Z�j�̀Dl��ɬ�Z����TY����}����Z?m��،p� jW$���؛7!� ]k�jgV����p=�)��\��6�C`f�>�7��!�9��h#x�� ��LĄ�~�c����F�������[�̈V�_��of6�\+�[��s�<b� n�ۯ�f͕8O���P�I��z�bpG��~�ދDN�>ӧ��� �R�!N�t�;\�����˸&�@pa�!J�b�����A4����S�)��V��9��K��SU�A��Y߉�@ޚ�Z8��1�(DjӺD���k�����Z��UAP�� 4+�n6��XT��K@ҧXj�_N)5sx���Y�qKgi-�%��ZR��JDe��lS�R���ά/�&�R`�Bk{�1K�q5m<ӘS`�K��pS5��1Ȃ��TC��P5bo��d�"�"��l��ٻ�8ɪ"Q�qι73��76�q�i�(��܅������QDק>utD}n?���:.��|����8�d� +-ز4�Ue�{ω��'�*���*�n���G�t����L�ndĉc�1���+c~��?���:7��@"���c����|������?������g>���N;��������_��O|� ����/���QF�����_�:"��������s�هzh������Z�|�� +-�����{�y�3�166��A?��|��k~�#�:�(��|�3Gqī^���>����rJ��1���~�}�����o~�+V�|�3�Mҿ��P �j�eEU�Y �}�Ht�R�4���},(kT��,���<G� ����{��?�ϳèT�j0�o��3���T5 +-n�G�E^�!��+���qU����= ?|#a?�F`QeF"P�^u)�=B^���<�@s�}�G8�I��%"Α +-�Yj�Q;xf�Y@���Z�w�\LI QE��'��g4Oב�H��Se��|���}�u�ӲN�.%.<nڼy����899I��j"w�U��l��Td@�M!�X�|YL�N�]x"�� +-��j�<�HU )�4�'�y�1NDND�E��e�ܱ���("�h�AF&��,�K�c���)��#B�, +-ud �ّS�vQ���^�K�*�iwB(7l�,����!�1���Y$��!8R��Aj �GEщ1@��&�vY�"�u������{'�Éc�D苢ID�;O�H��C�$��#b����#B�v��~�d��؏�1�sD��2��^���p�0>�&��i����m��̜DD�D�N92!���8ĘҞ+�! 0K��^=���?%P��aD�������*Cp�{B��JN���)B��E�k����:1E>�#"�32��D�_����c�ٖ� �$����/U�C���jƲ��31�m"1}��������K/�����=t߷���G=�Q�:��w����rˢ�������<�L�PED������@**k���;Oc �V��?�]�D����eYU�QG5�Dt�i��s�9?���9�1?��_��EA�<Hù�x�Vr��&eeD��@�C +-f�� �5W�q��2�'�s@�!�~�L���]����J� +-f�t��a�ߴ�9f�����a^_X�|s feȓ]y�y5�v�e�-K��[I�焀*!�[�!�w��A�!r$�P�����"��p ���3!�n���V�����B��X��2"!"aaU(��l�+JNE�;N 2�Z�� "�0V9����";ՕcA�����N9E��*�ް�����WLtD�S�ɪ�U��Y>�!�28T�3��II����ZE��)a# ��&Y�l|��$�Q��EQTAu2�V��$*��G���UzuTfi���)IA�D�*IX���b��T���L�겉�c�n:�"�u��ν�CQ���Ē8�*#�w1�"xG�06މ)�^մ���iST�U�D"\>1֤ԭy�D�ձ���;������ޅ��&�0�� +-u˲� B��}ENI�$uӔE!�5�0ح���='��cJ�3{�V-� �T���8խ�����K����C TG�n����D��T���{G�)��U�`�z�� �IDAT��9��ચ4٫�ۥ��"�N���z�x(�p�����"��]y!:Q�����α��^U����}5�����{E%6�ѕ���d���(��־$>��3�8�C�-_v�]w}�{��յ�^p���%���>y����7_�����2ʲ,��Ɔ�:�d�P��x�� ����>9Ҹ��?����3�8c||��O|�>����E��>��^��w��_��W���O)��O>r�����\z@B�o����x�\.�������2��Q�� I�5Ǹ��(�h^�6�rb9A�X�r�x{rh�]487γ��s��������Kg�w�Wc���J!8���"G�0��RV����DH�) � c�*@�5bni��lMb��� :�A����b'�wm�ށ�*H���:��2��!����6�\֏��Ga�DD:�V�~���.��4^b�Q���S���V����W.�4Uy�zMt�wNk���~�X���n�6L5��r�5�)�X�w�I�����ar���EnC���Xx�qs����TR�QTU�(�d��n����;�% �����"�!�h��B��>����8�#�"���Ɩ�u% +-*R� aҟ&�Ĥ �TMV�|��P�����E��ܭ�PBA�SB����u&e�8t�R���X�0UU��p�Q6u��帍HD�� +-Ћ��A ���̂�ʲ%�,��9G^�4��`���"�uJUo��&��;�ཇ~�C-���e�D����E��p���(�ʜRj��N1/*�q��+���������5�O��<�MT7lЭ�N�6��<�1x߭��;��G�&�w�<�M��Y�an��1Ƙ�f����jC�EE +-�V��*���h�c/���^����O��_v�a����=�G?� +-�n��o���7^|���y�9e��qD�NE`ٲeOzғ���n�u~�c����RQO;�p�������w������,"��z� ������z�7���o\|��{���G����d��g�{MϿ�3+��_,J��}�@��@Xc��;�A0ՙ��~g� ���/4m�~\ek������V�x����%8ʋ_�����UDTʢ$�~�UAQ="��q��]N�J��MDй�A�EQ����ML��/F�Ηyg��C(�]5E�w2����"T**�����Ӎ�wn!���������^���D ���j����WLtZޭZ�iR����N�[s��p�ec̩n����S�m<b�s��d���uU�9�bT������ꦞ�vE Fv�Q�/��Ǥ��ĤM�:r��^��ITU�9E�\bE@�+�q��Ժi8�n��椘��̬��e@@T"PBte�v>t{SuS+G��Cњ��u7m��6O��zU��6n�\7M�RJ�*�v�,B��T�\~�e���\BdI"1&Dd82Wu�W�#�$�ČH)I^y,%QD, +-Oy��y�#���s�(�ceB9ÛS�T�*��}n����"�ʠ +-λ��D���sD��BJ�"�e1>>�j�Z�VY�T�;W�Ŋ�����+�[9�E��zud��j��UE��D�0��h��R���Q���&%�XYD��֘6��- =+7U�З�b(y1� �sS��t������=�C���=>>~�c��˻�s�}��ꪟ|���}�/�����{܋�� �C?Ӽ�5�*��?�i����7���O}�k_;�㮻�����{��{�y��_�A�q��������X��Y_�W���K��[/|���{��p�S08�4����S9�E�ӳ���2�1)Z��Q���1!�v� +-9y!��P "�A�r�����`?�Ƃ��[Y��)��}G�=!9��\< &���t���ΐ���) j��(��A�[��`��u4UUziy��c��c���Z��*�b�؝ze�5YK����}�pH)����?��x׆�&%$�s��:6MS�6N���4���9�)�^]�Z!�����Q�(�:��N�qղ��\���i���˜#�=�SU���X�U�(���f���:�y'�1I#�$f�(��YcL��EB"�X�ʪ�VM���&FfB�ʲB ���#lyl;( ��榷�9�cݛ�ı�jyGS���nU��:�O�irjÆM�ҫ�n��)�;o��Ml�E��s)&E�^���c��I���^ՈHQ��b�n�&F���@M�ML) :� �9j�ʢ�+4�)��MD�������8DO���)OT7�i��� "�4�����U�TUݫcQ�ĚX�����|$GS�5Ț����͓�:F$r�ޑ�vZ!x_����YrÛ2���\�T�Q_��ԑ�E�Mb���c̶5(eT�uՕ�rN #����δ�_�؇<d������˗ο�����7��ի}(����� E��s�H�� ��:<��C������_��`�ʕ���'N;�x��x�]w}��_u��9�s�E���o}�����~����|��������|�<��~їNW�)�L���t[�93���ꀶ�Bt�3�w�y�M�&ёʠ��}He�)B�~<]0i��9��n(n���cdp����>�w�CR��l��*�0�|T�(˺��}a泪"�:�P:��*���tMc�A�`U'DIJ�@��([eQ7�(�Eѫ���&W[ +-3 ��V�|��q�A�\Q��Xwk�Z��&G�$��)B\�m=Lvw�h;ԍ79��N��+@L,uJMàЭc��q� ��&n�֠��� +-�'�*��n+����&�EI�&�����ݺA�2��1��9VO�"�\`t�RJIzU�c�������S��@����������Ģ,��=�4�IbU;��j�DL1�X:_U�wn�ƆV-_>Ջ��n�@DU]�jM)�u�IDD�i�#b�$wSCD�ԫzH�)!�j(�ϓʚ&z��W7"�"��{G�� �& ^D���ɝ;�yry�����`����$Yn"B���1PP�\(R�>��&�M�U8G�(����)aU����0#a���#�&FI�����5�U���=Y!bb.ChWL�ݵa��bT�$L��s�Hj��w$�SC!!!������c�. ��b]5BE�[<�+7�*���{�F}��Q��}?vA�f�6i������ÙޑyZ��I��]wݵi�����#@!��X((���q�իˢ���~+I����A��o�!����?��z���~zn�����yT���V�, +-H�F�#��`�9��Ś���o�����9���t?���1������,0==�Y'�A�~�r����\�*v#};�ӡ=H��ƒ0�hMU@u�|�-�����|�]nʘ!�=����u�BY*�X�� +-r� +-u��D�U�T�I95)/*�4Ùf��CI�K�!��T�*�"�3Qܵqʅr�W>03 �$�;:��c�����n+Wܵ~����^oRE��nՐsH�r��6����U�K����w��b����$m�E�Q�=���_X�"�"�_�x����z!ulʢ�(�{�ʉ��ݞG�SB�"x�\�B�ߑ���v;��c��^��jy�cT��d���ai�4���N�%*udVE��!9WW������&ڭ� ��:��d攒���[M�I̭V+g�&:���s�w�9� �#j�����Px��'{�wp�ڲ#�w�w�JY�N����!��!�Jn������DT���7w�$R�~mm^�# �!�N���P ��s���� a�$�:�kb�n����z�=VNTuӭ�8G��>]����s"�>��a�?'BO�7�a����c̃ϒ,0��� +:RNC 6�G��|�R���<%��0x�n��z�"(�`��r��T���3ei�YKo�{��{��Q!�ž��o���~�#[�����`T��]�t�{c(��جcJR�o������!��k����a����/V6����$����S��Fu?��E^ �I�/�_�bЎ�i@��W�����%����9���������j1g�@UAQ� @pA�AҲ�NY�\�SD��Xba��&��sU� �H�X��M�l7�a��3r��<!��+ܺ^l�Z��wއ��IE��\��n��1z²�'��qrrF��4�vɬ���J��cS���Kf�\6�.yi��$Mb��v+�a��z�;�.��(F��4MJ�T7 �ԑ'�:���y��"�[�+x���R�"�$�U��vg�Ӿ�λ��mz�T����.�o7V��9*c��M ��TD�w��e�Ƙ�iRBN�c�\���]�sDDcl�EY�\IJݪ�:����a2����U���aBR!�G�\�O���D��;�"��"Ģe�s��!b��;r�D�������a��?�^r���g4%!G +-��@H1��j�Ϣ�E�!0p�nq�S�� +-�g�u���#:b���zu�$U]3��� +-�DX�c�� ����b��#� ��^a`�1������g�=�.䈁|ق���4�H�(gV��?�.ѻ�BdH�A�oDG97��H�nnw����`��6[��~��n���?衇���3Up�����D��T��/y��N��8腸��tA��b���tF��DA%M�^!��.0}��9~5�Sd����D�� +-7M�lT�����5���� jl�;an��+UU�e�U�Ы���X�]xW���1y�D���ϐ�"+s +-�(�Cb����'@!8��n�(�Dgl��������MU�E�EQ�B^p�(�c96���uM�1j��� �ԫ�� ���l��� +-�*�I ս.��������e(���ir���U��'W7͝����?��D��cB�� I@�<!��֯�v�6B#������ln�����*���V51n�����y��nl��VU +���e�i���i�D�#��12aY�� ���Du�2Tu�Ѕ����X��B��n"�װ&�(B�)�?�r����@�'6u{ s�(Fn"61��[D(�B��N���G� +-�&�V+�w���#OT�1�˒�NJHH���L $�����~]�*���.KB$�D����S�i���1�����c��#�3Q�D����*��`��P,�V��Z��D�%&h�b���5��,4�����#A�<_�Yc�1����l�������'�|��G}�G?��{ו����^ͮ�.<��v�RFc�1���<�O������R�~�냅f�c�1&[�9f�e��Oi� +-nf{@�X�Ac�1��`��f f��1�c�1�d�Z`�!<h�4c�1�c��Xݞ1�c�1�,1̌1�c�1f�Y`f�1�c�1Kl��c���6Z�۶`�Jl�Ȣ +-��+w���1�c�1ۄ�N)%fUD"��i�I�J�ML,��\E�YX9��"¢��5V��l����E�9?�X�K�X7I](=�u�4�c�1fK��92��!G ��U��`IuUGA_�'IMUř��bL�@�e���TU�}Q�G��ǚ]��P( +-����rc�1�c�����h3�=ņC�#�rjX)���!@p��51&_z����)ASխy�ɕSpE�����Sի��5�@�w�c�1Ƙ���@n֔t�a@��@3���553��>q��97=��'��E˛h�{5�V��Q�^/b�i�<q�I̢H>4��[k(��l��L �J���Eu��MMu���nΨ���Z�b�<n�Uteg˘��n�\�.=pݭص�^�&r��e�p�Ȩ��E���Q%_��ٺ��|��;7M��j��u�Uw�j��c����I����R�+��]�֍1�c\D���o�.� +-���(�PpHD�ҏ���>����<�s'Q7��$pE|$�U��BQ"H�5ÜkIl�eۡrS7u��3�����D*c] �Z��<9��^Q��JO�X�J�(A�YG���h���XU���$P��T����]�j1��Tt>A�SL�@Z-�����9� x�����#7u�>Q;��RQK= +-c�1�)��w��� �$���r>,Gi���h,[-B��FH��Y��[r�2±[Ff��~}e���Z��W�9���y!*����j3�����ߟ�!����_6P�}jQ79�߄F��;Zp����W��a�c +-.�b�j�(���@�����Er�D��r���eA[yw))%�s��c�1f)1�fs#��DFW�+�PUD@�UG~xF�h�W� ǺI��#�b�9��iЄ$�e��/cV 7�L����'��3�&��8��R�TF����(7�n�N +-�ʢ�f�|4_��G��;Zh�p��Z��:� 2''6�&�ȇY/�H��DX��������]N�4̼�~�c�1f�`�i��ҳ�"���a�rnU�"�V� �C��}ْ��M��� +-e��ё#�sf��e9!5�$!͉�f�������P%�&%���zS[ED�"X�QXԓ����-+i��e�Q-pGlUQ���n�{�����9T��ӏs�#e�wp���u]��6��c�1�$")�%ɕeC��rS� ��|�\����2��2�š+Z� "�HD�M�^�#3���'3��c�k�|�W����?$�Ј�(�^"����0�pF�p3k��0�Fqv@5��oi�E0�c�1Kb��ĺ���֜��H������IS�?�#Q?(ȥo�.1�4�̐g�eH�O�LwQ��_R�ܖ�ͳ�81PQ��}3T�L�g� �5#̈ˈ����alXP�ɏEF��-�5�V��l+�g��f�#���c�1��*]��*�,a �dx�W�Y�F'���G�~��*�4<�����ABI����i���$fHsw�����q�С#"r �X�9$�#�쎌[�Ȩ���������Hu�x3����Ns2x�ݖ�����4�c�1f'����aEGʩ� �G��|�R��C���i���RR�e�IM�p>��Rݍ��F�,@a��o�r�,5��J�\�cUA��1m�lAপ�;PN��M�Q����;��g7��c�j��ʉ�E�"��LE���HkV��ZlT��"[ɗ!U��)�TD��vk��P��ϙ�H�<��)A蔋�t~�� +-t��c�1����0�p(�ى#����ȗ-�MLM��䋲^XR3s�����*������)���̒ɣ�Gf +-nN�@�eK�&Ʀ$_�!U��0�R��(�/ZӃ�P����4 ��%qUO��P��$�CIܫGL��Ό��At��e�B��G��-��h�(Ƙb���@����BW���|nD"��f�ʑ�liS�w���c�1���@f����i����v��Y�l�;�)�Wb��`ٹi�m���.ѕ�1�c̮n~�7;呧�c�1���Yt*�1� 7�F�wD��12�2�7�c�1fWd���8V[4JB�,�ɴ�]���1�<�͗eX�*�[`�c�1恷�L�š��|�"E�_��c�1�<���i�{���6���d�]vف�W�WW^y�sEcv8eYZTf�1����sEQ,ɥ���ʕ+�����ןr�)k����V��ԧ>5�æi����~�}����?�Fjv]K�1��/տ�c�1fX�4|M��1k�۷�~��U�b��u����ӟ��[����ࢋ.��Wf���i)ҍ�l;�ۄOc�1Ƙ�%y0{���|�#/~���g~�����O<�.���^z�ӛ��i�TOc�1Ƙ�%y0C��:�<�)����+ǘXDX���J7gs��O�n��v��uy����qp7�|��ի�>���i�W�q�w��������/�s֬[���K/Y{�mOzғN>�����+_�J��Y�f�w��+���{���蠃��Rիŷ��Uq������Ng �n�1�c�=�O�ȜT��U8%��n#��\w�Dʢ�3妪�5����?�W�]�i����'���?{�Y=��+n�� �IDAT�;�o������n���|�K_z�y��������#�8�'?����x]^��xƥ�^�j������������7��lٲM�6u:��������u iz����f'f��1�c���'C@�C�������*ڝ�N�=����) �������w�{�n������y������N<�Ħi�����-�����/�pݺu�6mz��^���~�3��������wk�馛6n����}���~���3���#ޮ1�c�1�lk�D#�X��1PAĭ����^��}���SN9����_�__����-rV�&J�9'>���4%��K.;��A5�����<k͉ϋ���s�=���;�:J�����W�^��:ʚ��7�x��1����-ml�1�c�Y2[�rm�/��755խ�^���������ߏ~tz�\�j�{�{����/Ҁ����Z�z����ma�g����ӿ9�\���q(,�k��v�m����w���O�E+ �@.���{���)18oE��c�1Ƙ�37 QN���6I ч>��'?��Oz�S?}����מ{}�ӟ^�X́�*�����}��?�ٿ_q��̼���sNo� x�c��<��#Gż��N�1Z��c�1��t�t��e�u'$�=�}���SN9�{���'?�4�'�����}�Io�o�{�{���/~��c���D��z� '~������o�%�����E{��w�q��:7+C�yG-)�R�c�#fys]��KPc�1�"*�rbbbNt��4;0ӔX�����}��SN9墋.�#����^��9[U��k���?~�ڵ�A��O|��{��o�\r��n��#�Z�b��^�+V���"r��G�4D��<MK�1�l+�|��w[Hf�1�'"�^����w����� +-�$%���] ���"�HD�M���x�(��(� '��ԧ> �'>w���ȇ'�ݿ>�����s��=����ed�1)Z��c��͛7[Tf�1f ���͛W���< f����y�e������?����Dnp �p��x�����n]?@T8��~�S�F�֬���QG�?���O~�����'?��.X�b�J$FWl��5��5u]/��1���v�_FC��$@�o%�'����B9ʊ_�{�5��(@�?n��[BD�#����atXl��{��x�e��|�ͻ�\��{������W��$ihѴ*J�r�LЏt+�c�;K�c�Yr;�/���L9����NI��yi�RR�e�� �8�kSݍ�!���F�2DB��" u��$��X�����u@aΘ����uc4�c�1�<�,�� +-�C +-IRy�/��T +-��9��ST$�"ܻlD���C����r������c�1Ƙ�A`����r�=�h���}kl��ɗ��{9�sv�r�� ��e�c��r��-�*��!�f��!�ASJ���e�c�1Ƙ df�])u�K/��+ݵA��]«w:�%��1��(3��1Ƙ�m���W�?�O��'��cB�a�̟1�c�1�,�c�1�c����c�1�c��f�����w}������mo{ۿ�˿��Ӯ[�����?�1�[o�u�ƍK= +-c�1f!�^�c�b�k�q���^v�e����:�x��������������_��}�c��*�����J��Ӟ��k����[n�s�=���.h��w�qǕW^�aÆW����?d�O|�s�\�f�����0��=�qGy䗿��{{�1Ƙ��5�0�l/�ӟ�>���<�1[̶���;��N�1z���N?��[n�eժU��fQUթ�����}�v�}��������}�;���#���>�>\e��v{�k^�G=���c��~,0��6Ig��F,<�mf[Y�~����r�)K1��ޟy�g�y�����?��Û����x�+N:��y��(���ϓc�1�� 0SI���E��n�g������"��H���:��HEY=8�'MU��j���CJ)]u�U7�pÞ{�y�ᇏ��/�����端�z�ڵ�|�#�8���֪�~�_\w�u�p�Wz�W�^�z������7o>��1����}|�^{������7�t�!���=.�p�����'?���<�#V�^=�uͮ�{���= �V�Z5o`�|��y��k��8蠃����뮻�}�c�����͛7_s�5��>���<�1y����+V���u뮿���������7���G<�)Oy�U�c̃����[��c���'hf��K���G?��K8�m%f��fp�(P9Ʀh��H��:V�Y�9���Sj*�VkW~�WU��m��5b�8I�E�^���J�߅ߢՆ ���7�w�y�vX�4�^���}��wk���?x�K_��{����{�G��O~rbbbz�{��O}j�����\p��ի?�O\x�̌�M�{�o}�[�����?w���x���衇�����^{핣������b.z]c`�����}�݈�jժ���_���������}�c�|�#��?��Y�z�k_�ڷ��-�֭۸q����?�����m�4'�|��^����z�'�|�{��~���ׯg�k��o?�3��f�1�,�C���g������o~���G.�� ��R(�"�P�Z��8�C���Rhuڭ�,��(���.J�|���}h�I�o��x>��w�y�\r�/~�믿���|�4[����n{��ꩧ���?>������]}��_��W���{�c�/{�������O>��y������o��o~����t�M'�|���淽�m���w����k����;��җ�4�u����I�x�[�r�!�|���{��~�_�p�Wl������������K����կ���ӟ���C�Ї>��[;�G>��>������O~��<���� ��]c�����x�^�~��K.�DD���N8�9�ԣ�6����� ��@�G���ݱ9�U]�ĪM�:J���$u��U�����(�,u�:�h��[ �@�Yb�:�$�����?����n ���X��ce����8|G��5ԡ37IҜ3/�u��kJ3cnX��$��䃷tَf�ڵ���p�Yg=�Y�BDD<ꨣ��k�������u��6���>/}�K�?���}�{��B���i��v�駷Z��,�=�X��Ї>t衇"�!�r�����F��1������z������g�]v�����'�|�-���w�c�ʕ��<����7s�1��e˖=��O��o~�@��s�9'�іey�G�z�;�c{ߔ1Ƙ�#�f7n��7���Ee��TD�Pe���<�K��EA��3�?ұ��vƙzZ���Xs��� +-9vBD�<Y+��UWJ�yt[��p0��i:��|f��=3�Pְ�Ί��5*w�'��>�*0����Zx�gtAUPUAܲX�Sbp�h5��A%/,v�ᇏ���W_�Ї>���.���M7�t�UW�z�v�}o�>|H��V��O��g���C���f'���{�����~�C��w��iO{ڷ����u���N�0��e9�)����ڇD����`jjj߃1Ƙm-�f]tQ��Y�f���A�Ts����jƲ�"D�Q22#�M�N��H�(G����� +-��#3��� +-1x���@�<Hà��9�SQ@DB� ������q�*+��!�����8GGޑCP�Ƞ���H�b��e�މ,�K8�AD���2��E�.L�|?ߡ���Q�2Ɩ��vD��s�,[�l��o��F"������n������~ҽ�p��(��l��f��~�����ß�a[~���1Ƙ�CQ/zы�z������(�꼱'9�i�0`�c]h�NA%%��Y +-��(�AX�;"��g�����#���X�������,2����;+C��sT� +-ψ(�HH��9��i��b��*�?aN(:U�Vp������d�|#H���$)�R�śf�r�b�Fq�G\}���Ї��ץ����1���T.\4�cvJ3�d+Rh�Z�V�p�T��,�b���"9�E�U`��f���7��-��(Os��`o:��SK��2�g���by��$�(u�O����IU���lYT9��Pg���.�u19a���V��)�(���1���������7D�_lذaӦM[���O� 7��ӟ�t�3�,\��p��~]����w�SU��_���^�w�a�-ᐌ1Ƙ�����%����� +-�c�яE���p#��!�����`��(3��?q�_�H��9��9p�='�p���gY�#����C��?/N9&EK���V�Z��w�㬳�:�s֬Y�nݺ�|�#��v�����C��~�c{�m��q�{���I'�t�E��%/y�{�{��NMM]v�e�s̓���9gΏ���ַ��ǖey?;Ҏ~]�+�կ~u뭷�w�Q�����m�xԣ�n��>��8��O|��~�m���}�{��p� ',���1Ƙ�� zx���أ�^;�1��I!�~�G +-̰�����Tm30�V�}�"�y� +-@���YB�r��Ӭ�I� &������@]h���?,t�zI@Eu&0��-^�c;�����|�{���8��o�A������v�i�|�+���'��Mo*��.���?~�Yg�y�����8�@��N8���N9��������>��r��]�UW]��w�k����v�|�s��ۿ��o}�[����<�̼��/�Yg�ec�1;1df�ԫ"�v+�����5��v9�֒�DVp��fTn�~��(�P0%��j�j�#���1��� +-�߄P��~�I��'R�Y?� , �bΓ��9 sʈYr���pkПc�[ƴ�"Θ����C�( ���W�������0=���ӻ-�uΙ���wNUY�M7;i� �A/�{�9o��'/h�T:��69O�����k���lm����-[6�tc���;W�\�����n��6��3�u�N`�ڵ��ة���7�\�Қvc�����{�{���d���/\�cUCp�'Q��ZV�) ����i���Eu�!� +-3��+F.�C$Td�Fj��?��;��t�Sp�s�6�3��8��T���g���{uN�DJ�{U������:�$*�~������@��#H��O?BSetI٢������-^�s!l��D�rSa�}�]�����6ܽ���ō��Y��c�."Y���&��QD�E9�ZV�.M̜X�|�!��Z�g'�d�X���w��Hlz�s�o��s_3+��p��!�L��8B�����e��� ��@^���H[�x�, :���?�|˄�u��)2��e�c�1�,!d�-K��.CSݫٍZ\�S�9J�y��?���c̶�c�2�]�*�/�u�0�c�1f)Y`�kC�X�Ac�1����"Fc�1ۑU�c�Yr;�/�`��cv\eY.��1���v�_F�=0S�s�=w͚5�����f͚���}���[��'?y�q�����?���o���������w����@��cvZ;����cvVD411�ԣX���e����9����z������秞z����_<�.�첓N:�u�{ݜ��u����N��F9ύ7�x�嗯[�nޭ�]w�����<�)��w�q��_����v�3��%/y�K^���w��Ui����9��@ @-H�H��U)�("�*�T�WD] ����.���Ai"EDi�H�=$@��3��ǹ�����<ߏ��M�9sf���}2�<����~���]��4OPJ !�9��v^��B���C���1��z1<C!t�QJ�^o||<c�>t��\��S�N�:u���N�ݻw��ޫW/!D�~����ݻgΜ ��=�\ݺuïϛ7o�������^�P�ԩӳg��͛�G�ٳg|q���3g�8p`i�0k֬{�g��ݻw?��ދ/���G��+b1!t�`���ŕ�(B�ߵK���3fL�:� Zv�����'%%U�VmРA;w�$�̟?ҤI���K��)S���*_�������\�gGI� +-��>����YE��]tE-"�B!�ʖ�J +-�9BI��T� ]�'[)���B*B�uC�=��ж�@���ݵ���m���]�~�ɛo�B���ӳg�9s�4l�p�ܹ���&��f͚�'O9r��mvv��y�U�v����ۤ�3f�X�r����ҥK�nݢ��[�x� !ݺu����?��{�1,[�l� �`�s��}��)q�Q"�vK玝n��tS���w�/Z��g�{wժU��^�X�j�w�}���ռy��y�˗/y�3�<�dɒ��^J٭[��]�Fv���5u�ԍ7֪U�w�ލ7��g�Ι3g�����駟�y�v�ڝ�,B!�B���}99> hY��}999~KH"��/'��l۶����-B� +-m��_�=z�Rj��mu�\_�m�:uv�ܩ�z�������}�����O��ի�?��s�x��G`ٲe����;v�*U��/_�`Y�{��xt����D7����_w�fff@ǎ�o��������_���~�jժՠA��߿x�qqqqqqQ�6l�̚5�����w_���R���?��m�*�>��C��Q�FӦM5M�^�zVVVx]�t���k���wժU5k���իk�������w�Ԗ-[�~�Ç/�m�6��TY�!�B���)�����x=�a���:���-F�����i���AA:w��v��U 5�����'�R�����5k֪]������?>55��4i�r����=zx<�p��)S�7o���y����W�X��g�efffee����ӦMs{��B[���~����͛�=z�ƍ%�>nܸ������8�}���?�|���n��,���6l�P��N }�3��� +-��vK�̞=;���B��_�v�����KKK۵k�{�W�b��ӎ;9���Tw>����>�o��Շ����ԩӰaÖ-[ְa�`0�n���� +-���N�G!�B]�(˗�Hc@I7���+�L�M^���@ ��m��]�n]��-��E���o�4��㏧��������Aʍ.�֭[�Y���q)n�}~+��ӻw�iӦ����{�Ȳe�|�O~���m���5k�~��7]o������Xjjjrr����ӧO�|~�s�����$>>~ĈJ�I�&����~���9rd�&7 {�e��A�<�?u�T��� <���ŋ hY�oܼ��o�����}x���푣ުY����S�NqT���0�4 ÐRJ)u]�,�j��?�)r`1��'8p`�С�[���+����&��5�b��[��i���B!�B�V�C)����%�BYލ�R�\T[�1�9��z��@�EvB�����cbb��q]�ya�%x���>x�ĉ��~��73!����@Q���n�m�t��9bb�M���e�ܵ�4uF�(�D6l�� +-���$� �t#=�xff�c�/��zaȐ��{��1 �����Pa������߷g�m۶m���c�����֯����o��0���x<���v�;X��o�>�G�����[o�;99���_w�,�7f�{�n�p��n��������'%%E-�!�B!�~o +- �$�\�in`��!��[�?�e��B��r�v�t�O˗�����%���O?ILL�Z��q�� �������/_s�B��������-1!�o��v��ݻW�Z�}]�(�4�D�T��;(��N\\%�8���i:e,j�m�'!����4S�322����3�������6lH۸�q��ڴi��i��Z399999�V��5k&__�r�8����Q8z��T�Xe�1F)�[9:==��B~Æ ۰aC�N�RSS������{���(o�`��;�(B\\ܙ3g|>_QO@!�B���|6%����F"_'J )A�TQdz���rK��˗x��#F�;��g��s����ݧy����}����~�0~���W��F�� �IDAT���F��{�8i�eY_}�U�� 6�C*��� ��F��=3�ɾ}� w�)���@7E��o�f͚͛7@�ߒ��k�2; ����{tj��"�RRn��Fvr�С��Eiڴ����m۶ 4�W^iժ�-��R��Y4l�p��tk�������õk�.W�\Q!�B!��\�����-�n�Z�:�"���3)4�1�m��ow�'%]7q�ɵ��m\��/������n����tw� +-f���x0����u�]��{۶m[���3������G�,��n���8N��/��� +-���Tē+T�жm�%K��ٳ'��D���;�U�[�����6m��g����[ +-?2e����7�x�SO=�iii%����_~�e���~{�̙�n����`G!�B�߃�3%�ʼnfz�ZB�����-Ϟ��~�o[�z��_~��[�,Z0�N�:+V�����w��R�O?��ҥ�o�Q�z�"�F��r#Ņl֢�?��QÆ^�Wq+�ք���y��^�ڥ�3�|gS����8�Ǐ���x�W�ׯ?w��iӦu�֭W�^;N���[�n���HHH7n��`5r�uk������O�6���/�[�0z̘�y�K�.��cƌqg\��Z�j�������,BH����y晞={�+Wn����岂���;��{��������=O�w����;�$&&�KS�j�j�ҥ|�����r��u�ԩ4�G!�B]rB�����r|GD���/'�o�.�@N�/��9+����租t�rΣ�>��3cǎ-���������`����sr�̻�_}u8�c&�`����=�_��������gc��*U�����~8''ǽ��3a�Ξ��Ɔ�0~�x����l��}2c����o۶ͽW�bŊ��n� �� �c�sr|Wj���yc�_o����&�ԠA��K���YYY#F��R�J�����*<�����+T�PpJ)˲���z�ҵk�������8q"<��}����_{.�i��z�!�B(���4H���cmI ����,=%�@�!��cP�� l��^S#��d1m�ϝ[�R�6��nٴ!3#���o/)lT� +-34i;Ĉ��=(n�-�{��xA���^�Y%.���{�R�()w��Y�f�r��v��G%nJ;8�����^]7�q�f�>}�ྤ��W�z�v0�@h Ō�ݘ�w�^������ɷ�/##�ԩS��ק���8�9�]�vh���;v��ŋ;w�kZ�j�y�s�k�ի��[�}��i�榒�H~��{w�"�B�߃���PP¶l��Jp[�/QMg�0�`�r��(�8����%Ŵ���;x0X�m�V�J7<B5F8��fjvv�N�:��DбJ�PRrz��Q�����R +-�%-� +-� =FB�����8w�m+U�T)��r;Rc�p�$̌.y_�ؤ��������J� �aJ)M�ܪ$�*�j)30B!�B�����pq�hLwj�fz��nۊ��D.�mi�"3y'\��!3<^��wl����zQ�$ϡ-a��Cl���%�̍R���i!�B�� ���@ ��\t��(�j�G3 +-�pmK�03��YH�f���Pr���+�jqm 3Lo��J3*��{�v�v����jԨa��t�KJJ*�! �B��˟�H��MM]�p�B!�r]�O��!�B!�P��!�B!��f!�B!T�00C!�B�2��B!�B�1�B!�B���p�5�+e���<7�Bp�oq�~͌��o'B!�B�� ̔��p!!�麡�R�.���ͅR*�PʴszrI�R�5D)XR�x�Ҿ���\1���s��GPܲ�%B!�BW67�Qr+h9�h�ahTr;td)�P\[%��@��뺮1��m�.�����\�'^)��Eu���g�_�{.��c��b�8�B!�B� +-������`@g$��k�V�����R��Gܭ�`�r���������%�L�2o,�~B!���i� W@��*�tf[B��?�[[7�P)P҃U@�`@��[m�8�������*��b�fgJ���+��ͥ#�B�T���@�]sӀ�RJY����\���4���V�JEr���|�p(�TJ��L7rsF��:�KRN��_13Ɠ�����H9-د���!�RnCM7t�4,Ũ��Q� �?(�ǫI�v�{�fz��[R7 "lGH�2�G��?f�B!�. @I��0�� +-B(� ��?I;p$�<1f^�R��J)�ThǙR�������Rn�$B�%uю�Z�� +-���H��XJy��u" �;@���v���\�3��(���"L�M +-J���c0T�x�v�Q���������AG��#���:�J�s. �4J)()� +-J�xJ^R+iT��(��-Euà�y9���6� �N$�mDz(��#?�1#�B!t�h�X@q+h bz<4��Tb�R��?����a����� +-@P��� ��]FJY��P|�d�w���Enĥ�@9�o�-���[��Q`^Ȫ +-�=1��;��A�&T�u];祚P:�'r�LrۖD�-��H �8\g:!�2�P���a�Qt��c;�h�7����z�~a��=^#��� p!5ZR�S¨��Q�}��kL��B?\E4��S���!E�B�;���:_B��g�Z�%ei�/#�B�Rj�fll,c��v�-������P�ЁS�i�Tߖ��)P�s���H��4"v:�7U��Bd�B�I(q�J +-khB(�@�\�O�2�`��$���m�i�n�:*����b(@u���2��a�8\ +-%g�r!!:1�@������M)B)!/��G�g�E��y��$"��R�!T8!Dff&�d!�.?)e �,+>>����f�P��a�PFT!�@�f�E�zV|[B�wh����"^��E3B��� �y��`ģ�NUHrd� ��� +-�evM)'!��'T�MM��mٜ;��v���#��z�Y)����;ѷ��J������a��<_\svk�zF����vJ� =���!T��g�bT�B�I)Ϟ=W�)��+��$C�%Z=Ƕ�i�p��4e %�$(��bv%�v��Y���J +-7�Q* L3�R⥄�)��/�{��?r�JZկt��-���F�'�X����V��s�/�BX�U�C@!t��"~i��T.!����IY���V��i�˽Y�h]�����1:�.�XGJ����tEn}SJ�s΅B�fxα�t�(�����/�Rz�P��J/���M84̼�4����xa3*Υ3B�p�\�B��]��(�P����vI� ���.�mY���O�ضJ��[w��BA���'tBc-�Ṽӡ�(P�UTUFG) �s��:B �i�"j�;�Z�PL7=1^���ϭ0��D� +-nG�L� ����J�+�AH�F���+�:�Ƣ�-�J���ZU-�GTĨJ5��S�1#�B!tyi�@�f0n9AtF��D�У� ��\� r�Y�m��b�QJ�>!a���U�@���¡��[;1|�Y�sv�=:JE�a��"�G���sE�f�ڹWa�%�S����::V@ �1JJ)� �7��"e8�-�nh#47.������9=��RXL�Tc�q��P�;h�Ї0���љ�od@ZĨJ5��Q�1#�B!ty�Q�L8��m[B5�4 +-�y(J1m �uŅ\(�Y����K]r��\��1BL��s,��*x�t��8`�Bs�f\�#��� �����C���Qq���s�f��v��8ʙ0�㥎��&�R��vw�/�Ml��6'�R�0�Z�PD3Mi١����XԨJ3��R�1#�B!tY!-�Щ���-�����X�������o����e�{LLL��Хs�ر�B!III�t���dXb��UI� +-h�|��l��ox�P�(�Ȯ��_�B!��1�f`��/$A��,R��t��!�B�k��7������@�)u9|�B!�����3���n'C!�B]s؛o�I�!�S�� ������ +-Ǚ3g�����⋃BjԨq�džЅ���)�RZZ��_]�J�ʕ+�_䜏;�رc)))�p��� &dgg[7|ϪU����[]ד���Ν�`��ƍF^���Ç���MӪU�����۴i�ʗ/���xI&�B�w/66�������TF���e=��}��9u�T�Z�fΜٮ]���~[,���G�3f�ɓ'#_�R�3��_u� cƌٲeK���;w>���馛� --m̘1�mG>$;;{̘1�r�MOO3fLzz���B!t��TF��s�̙<y�w�}wo�PJ͝;7''���g�!t����2dH�z��x� M�_a!��W�o5��Ȓ��Z�dM)�#�t��>� ]��5�f͚��B��Ψ{��߿nݺ'N4hР}����V�\i�fӦM�,Y�knݺիW��o߾n�:˲�6mڢE����|�_~�e]5k��رc�J���w��q����n�����k���hӦMӦM� O�>�dɒcǎ]���[�NHHp_Blٲe�Ν���)))7�|3�4._��R�J�Z� +-?!##cÆ �����K3�������iӦ;v�zH�֭�~��5k���5jԾ}��)�E5?q�ĪU�>\�n����GeA�۷�_~9s�Lrr�$��ƶk����M�6999��Ϗ��0`@�Sv���D���?lذa����k�nݺu� +-Μ9�r�ʽ{�6oM�6����j^{��'N̜9�bŊe=�B�ϯ��z���nݺEn�B̙3�A�7�xc��b fJ8�Å� +-eL� ��gW �t��jx�: ?��BJ)��<��k�o����<^�C]���`yO>�d��d_~��!CL�l֬����]w͘1C���?����6l��^JLLlٲ�R��������{����c����>�}ξ}��~��]�vu��iܸq�a|��Wn�˗/��''M���/T�^�ȑ#���K�.��[�`�ݻw/_�|˖-?��S�ϷhѢ����ٳ��_�3gN���u]_�z�СC�{�=��3v��m۶mٲ�4M���s�>��۷o/�H,XУG����7�|320ۿ��݇2u��5j�9sf���Æ =z������˖-{�'N�>ݢE����C��ƍkԨ���9s�0��;�Y��o�q��ɔ��N�:�k�����o�9r�ɓ'o���V�Z:e�������ӨQ�ѣG7l�p�֭���{������q���'OΜ9�o߾����AJ���c�ܹ3f�p�t�B�n�i�������ի���S1k�,����zt�%�`��h�aQ��5��>E�u���O�yA��åJ/_`B��SS�Z��B�q��:Ќ.�>}��w�}���{/^��f�ҥ�<����?�����߿��W^ ����~�����#G�4o�|��Ń�={��������zٲe#F�X�v-�ض��s�U�Xqݺu_~��ʕ+o��Ʒ�~[E,KO�4��e����?���p/G�]�p� ֯_?n�8wi�jժn��믿�Z��������7n��<���ݻݯ@)5}���ݻ�p� ��SO=�iӦ#G�<��#߱�q��ٿ���;>��ÿ���/��!���C������7�ݻw� G�)W��O<ᖲ8q�ĠA�^|�ũS����{s����?�|�����s�=�F�:|��I������;s�Lff�o�����sƌ:t1b�֭[w��ݲe�Q�F]��O�������D-�"���ѿ�ӧOϙ3GJ�����fP�s �0=������H����.B�a�z��q5�1�b�^S���w�$��]{SG�ELL��ɓ'O��q�Ʈ]�v��a�ҥ�o��FÆ _}�U�������۷�l���&&&j��iڨQ�|��p&d�Ν;t���?���e��͛�ꫯ�I�111�<y�c����5jD���z��h�"�9�p�u]�R�i�ݻww��U�|�#F$''��v���v����Rے%K�'�A��� !��_���&M�B�n�^y�6m�B(��<�HŊ�N�yCd�/���ĉÇ�P��T�VmĈ+W��?>��ܹ��ɓ��z�;7TpCٰ!C���ۗR��x��r�����*U������ +-�o����wީ�z\\\Ϟ=�l�r���"�5\�fϞ=t��:l߾��M�B�Z��f��ٳfͺ��2����� +-(c���0��%�T�_� �ͺ@���-ş�O�2Ί�\ ����>���cJJ[����3ʈN (%�� +-����0J�%��~A�DJ%B4F +-Y��sEu�����K��x�w������ѣ�t�2r��Q�Feee����/��R�r�j۠A��S�N����5jԘ8qb�*�� �m��+V�/��۷��?�"��2�+V���~��B� +-�?��w�}�f� 0 |�k]?����͛�x2##��V���O~��C��u}�����f$M�4)����G*Thܸ�5k"o�l�f͚����� 6��[���t�:�ҙ3g�� ��ڶm5�B�^ό������ }>_|||1�BE�y�E��عsgϞ=?��W_}u��ѷ�z��#(�BW76���cbb�뮫)*�P���� q���|>�UH*��?$`9��+m� ��:y��s#����VI�%��aDEW�˼�H�����.��쩔rd!+��v ���.66�o߾˗/���~����K+����������-ڷoߺuk�p+��ڵ+|�����E�^����n�a�ڵo��֧�~ڰa����]I/��Bǎ322�����F>�{�پ}�ƍ�<Ɓ�����HJdFNN���Wжm�jժ9w���ѣ�P�n��{�o��ʕ+w�ڕ��Z�^�.]��W�S.��`�ǗEt��� 7� kҤɘ1cʕ+7dȐ����>�,|�=��m�>3�x4�BW�0x�=�\eQ�h��P�)���e)� �����QJ@I�9��Ry<\�P���@��Qn��.^������D��>Dc@I胐R��J)%�\�r��BhR)��sS(�у�e�)W�\߾}����۷ϭM�.(��]nj۶�_��W� �C�=�r*Tx��G�ノ'2�f͚��w����?���-[���4���٤}�����˖-���_�p�w�}wQF�q�����y睴�U�Ν;O�8Ѳ��ʕ�>掙Rz�m��]���_ܽ{w�>}�͛�$��)_�ܘ*�x1�X���һw����_���/���{�����]�^�:�dffF69q���B��3 +-@4�������esE +-��Q�iZ��Ffx<��k����1uꖼ��Q ����x +-�����1*�E�U�P�!�ͥ�ex�,*Lu��p����;BQ���-:gJ��>�(rS�8p��jԨ��c�M�8126�ZR�x<���ꫨ�:��{jy�1�����˗����!7�~JNNNIIq�fggG����}ꩧ�L��|�N�:]�H\�z�k������]�v-�fw�맟~ +-��p�B�pK�ggg?��S�G�^�j����'L�P|I��|ͪV�ZӦM�N��/�������B=��C5j�/�������9�6mZÆ ��;�B��L���iY��6���M]Z��|Q���S��4��RH�.tq�JH���3z z�c��-gŏ��' +-Ǒ��ł'����Z�bŐ!C����;&&&���o#G�|������^�5k�}��7r�Ȥ�����O�8q� �&����ks��8p���ëU����>eʔw�}7>>�M!{��n���k�J)���Gx���[n��o߾�z����w?7�ۮ�5k��7�L�2�E�[�ly��W���~�������ß|��pB�y�$l�С�`�������ڱc�~��u���;}��A�����u��Y�n��O?=l�0�y��G�� �IDAT��m����,�T���널�+֬Y�=)���|m�x<#F�0`���?߿�4W�^������K��U�T>|���>�hѢ�={֩SgĈ�����Ν;۶=k֬�K���?�qw�!�BW7�"����RJ���(;p��!�R)7�J�� �R�̊,�^+t�HPJqIBA�R�rKz���KA �+��r��*U�4e���G}��������c�=��S�ΪU�F�ٻwo�HII5jTQ�SkԨ���?���;�2Q�*U�~����Ұa�j=jԨ^x�n��֗^z��V�\y�ر���?�z�-������_�n��`����v�z��`���s��u�{��h�⦛nڴi�;���IؠA��̙��O�c(� ��4'O���<��ɓ5j�7n\� +-BBBjj�#ƎnҸq� &��Q�)_�:u�4cƌ���|�����{�{キ�Vw�qǴi�RSS۷o_�bŧ�z*!!�����hҤ�ԩS�җ!�Е�! +-l��N `�����#�@�V�'&�IҊ��8��C� Ѩ�"�#�UG$�Fh�2WdUF!$��ZAd[�]����(#y� �9���5jz�M6WA���<Q'���*��p5HM��q���^O f˖-;z���wߍ������e��y�3Bdff +-!���o8{����KLL,j3U$�ߟ��������JOO�x<qqq�4B�ϗ���L�TFF���q� ����ڵk[�n=mڴ�������Ɩ��eY'O��z{7n�x��7/[�,99ٲ,)�ѣG�v�ڪU�E�5���-�<��(����-ˊ��?���Rʓ'Oj�w��KA!tޒ�������ɰ��qұ Ԉ:~Kr� +-�nF\PR������H ۳k�ƴ�P�V�B��*�uS��d]!�����X�X�SJJ +-��Fr��RB�� +-�T�*�>_��ݻ����T +-`���;w��ݻ�MMn*~�J8\�,���Ǐ��?1]8�X�bccK����"�ǔ����ʕ+W�j?!�-�p�{$n !��D陦Y��ǜ9s�֭۬Y��+ժUkժU1�0/d�W=Bȹ�QJ����B�~�����b,TYQH�z��B +-�%-2�S� +-8����RBp�3u���S۶m�����z�w�̱,;�X�|yVʲ�P�� +-m�,�A)!R)�!����&���ҍ~�F�#4B4�lJ*A��ף�!�[L��)�`���%w��2��~u��Y�~��Y�n��6�כ����W_���/n��B�s�Y�1��(�2�4t���\��i����B�f��h߾}�M�X���6mZ�x����ᄏ��z)sU(p�*��gB4�W�^�v�ƔJV��J(BQ�0F@�pW#R�F��4i�ԭ�_̣��� ������ѭ[�b��>W��wߙ3g^~��ݻw��4hŊ��.V!����3���Tq��rF��&�ފ���S�}r�֯_���r�B�R'O�ܶm[vv�u�]״iSw��<--�Z�jqqq�W��,�C�����ޱcG0LJJjԨ�i��Rw�������W�ޤI��Hs�ԩ�{����(�v��q���͛SF�;�N�:����Ǐ{�ކ V�Za�h���������'N�hРAll��?�cǎ�y֭[�R�8���k��#�y��n��=`'l]������p� �����(�6mzqײ4M{�� ����8NBB�E��B!t *���E�L�8�RJJiZZ����u]���MKK[�v�C=�8����7o~�С��L�T�N�V�^�p����ؘ�� 6�����=�Rj����֭�4�4�_�u͚5���s�*���ϟ?�رc۶ms�֯_�С����ܹs7l���*T8s��/��2`���u��֭[YS�J����������G�0hРJq}����:|�P|||0\�bE���[�n �J�Y�fm�1��x~����+�i�Q|A!�:?�/0���<y�dRR��ĉs��mРA�>}4M��Ș0a²e�n��v�����7h�`РA��0�.]���RJ���>��v��u��5k��;n߾}�̙�g�~衇��nܸ�G�͚5B|���6m�ҥ�[�J�*ݺuk֬�i�'O���O�.]Zh`�v�گ������m۾��ۛn��f͚����=���תUK)5gΜ~�!%%�B� +-kݼy�7�x��w�~����3gZ�u)�j�����JY��!��%tE��]���СC��9�����y�fBH�����TJ����M_LHH�_��֭[Á���뮻��KJ����r� È������=O�=��:%%�q�ƛ6m:p�@rr�{O�6mZ�l ���իW/333##� �ڵkj�*U�;�.�3)B�[����/X� 66֝TFF�֭[۴iS�V-��v�ڥ���ܹ�e˖?���aw�q�[1�V�ZժU۹s��|�B���4�@ P֣@!tM�"R�.m`�u�֭[�@���kݹsg������ �X�bE��S�N���`0�~����Fe�@)��[-Z���hѢm۶n9����@ p���F�Z�jmڴ�رc��,��!��p/�6n�x���'N�>}�|>_)k�ϝ;������^���= +-�������{��?y�ԩ����W�V-�N��v��ƺG���@B]�(��?:�]���k-[�d�Ez��YBH䩣�'99�]^+��v��թSgٲe+V�X�fM�Ν۷o����6����ֽTP�R��͛�̙S�|�ƍ�t�M+W�<|�p)��iӦ�۷�hѢ^�z�+n�gΜᜇoKNN�\��{ �2��5�1��Y�B]f�R�4cccY)+�K�1�"���N�<��C]������V�ڿ�������~�^��{�lvvv�m9c���ӳfͪU������[�4Ξ=�`��J�*�v�m����M��o�>�~7������!t5a�]���!��խl��թSǶ�-[������,�����-Z���c�LӬQ��ѣG322ܫJ��72��]^�;r�R�N�:nT&�������ٳ��`�#��5j���q�Ƃ�z��+W>r�Hx"B����B!�Bך�Z.?�s��[�n�3g��ӧkժ7n�بQ�ƍ�٭�تU�z��麾~�zB���_��z��0a��ɓ;u���z���N�8q뭷V�T��1$&&��M�9�k֬q7��*V��~�����nݺ={�$$$?~�����5jԨ^�z]�͛��_��9�k�.wa�[n���o�L�ҡC�X�~}dw!�B�k��J +-�9BI��T� ]�I�Jr�v����t��ɽR|[%�)�� +-@�3����c�͟?�����RժU�v��թS�}���֭[�z5��+W�O�>n��U�>��s��q�z���~�[��D��o����˗O�>�0�f͚ըQc�ʕ��jժ%$$l߾�^�z͛7�l�f<fddD�W{뭷V�^�E�^�w� 3f�p�ٴiS۶M�lܸ�eY�-�={6�4%%�m۶�V�*�PB!�BW7"�PN0ȁ2�(%�RQ��1B����%��:#J8�P��zu +-� ,�mC�)%�� ��8�N��P�BQQY���,)e�J� +-�Ls+:V�\��3W<跔$$�;[�J��%�ݱU�\9��c)�={�q��CUJ�:u*66�Эw�l�>��R�Z�E!�Be��2$BPh�*�v0�Hf�x4��:D�xF�@:���4�kj@ +-^L[��B�0H�ʐ��^�q7�.�B!����2����|+B�1F��pC/T�r���3�B(M#%�(��U��fƘZtka����^S#Jr۶�P@�f�m^��_J7Œ�Fn����AG���|�*�y�$�}�y���mG����Ph�lʴ��N�B!�:G�%�)� R))�����^E�=o�2����T@)%����W)lˁ���t�A[��&%�c��]����������S��i�� Z��A (!D(�� +-��#���:+�:*!�B�+_!ф�+´�\D B�1=J�T�`Ө��PJ�K������R�(a;BQ�k���4 +-���$�m��} ��H �8\g:!�2�P����WT*�T,�`�ͤc;��r��^蛁B!�B��(�؎ �0��VD))%()܀�0E�=�aQF@ +- �7��� +-��� +-� ��@Yxsa,�O)���4 +-*a����\����<� T��M�BWB!�B״�+f��A[ݓ�ߗw�P��a�PFT���%�=�R����@H D +-�4*e�L�� +-�F&RBr� �PN��D����PX���Т�B!�B��EfJ�A������ �nc�D������R*��b�&!�&2�(� L��Q I�}d�p!�B!t9�fJ:��(fz�*!J )$�p�C7>���Qx�A)# �R1Mcı�$RF)�*u��� R��7���%K.B(Z�!�B!��p#��-�QX"e)��J��,>����FFH����ʘ��nEF�J)xnReD�Dw�$wx��E���p���s�����>�� �B!�P���m�BF��v^� �tF��-'h�Έ�#���J��b�(�9W�JH���v$�0��c����0ʨ��":u�?��[N0�FC� ��R��yбJ�PRJ!1�yG�e8�-�k���J��HuC���9�1&��G�رce=�B!R�b��ܣ��=J8N��-���-��pl�۶"�j�i��\b[��λ$�c�QTgQ�� +-r+3�� c�d4�c��e[�c[@�f�:��u+B ��:���+����"�S��-u�tq3<^��� ���ѻ�:WIIIe=�B!���/s�DA��ߊu�I'�Ii�+� +-����)&&�{G!�B�.�'ë $��%�6�!�B!�����%쀭��(��q�L�j�3B!�Bג+70#�G8�q��i��c#B!�B�Jt�fT3<W��B!�B(s�B!�B��a`�B!�Be3�B!�*c��.-���2��|u�Wu���S%�r�T +-�4��y��B!���i�����s!�T�J5�е�#����p!!�麡��\�v �Ȃ��� ��t,�+�����z<!�B�G���� L�u�Q���R��#��I4�04*�F�[�\%L7t#�?7ܣ��uT�bŊ�={~��7��]Q�e�v��էO�O?�i��1< �!�B����D3�F� +-�v0�8��=P��BQ�c�����p�,��E�x�����b��Z��g�}v�wsϼy����X5�Z�j-[��۷�a2�����m��BRԙ3g-�>9�VY�!�B!t�h�@Y�mJ�1F�� �Rp4oq�j:�-!��4R��'|֬YQ���A�y�K�,�����?^`T��fƘ��ݻgΜ������d���%K��ԭ[履�']�h�6��_*��6B*B5=jULr��۶}�@�=f� �m�u�����:��a���i�֧B��240�E�~*QԘ����M��R��0��U��j$�����3�B!�����)������#��H(����\MOO�^�R�s L���W�V�����ҥKKj�22/���_\�r�u�ڟ�:fϞ�o�9� +-L3LCgD:V��-$��6�Ľ(+�V7�4���B1�` ���A3t +-�q�*���7O����H�t�4u��t�ȽVܘ��mI ��kjTqˊ� +-�x<O(Pc�y<�G�=f!�B] +-Yn��sE�����R���(n-AL���V,�j��*��"L�����3f��ׯ�СC����ϋ̔���J z��#�oX��+��S#�N����kV��ѣg�;{� +-�Wz=��?���k~]_�r�w�ޡ}{�B(�p� ����/�~�Cޯ3�iFچ_��9#�TV�o�������~���˗oٲe���s�Ν={v�N�|�A���ʚ:u�ƍiՓ�z����͵г�/��ƠG�����3�}U�n��o#��ҥKv�������6o��ws����}G��o���G��cG�N�>}���5��Q#w�aP�B!��U":0SұA�ih�V��RBJPD(U0 (�R*;;�b� +-�����C����̸ȍ��sQB�]�w@JJ +-�12aaÆ�9s�Z��ӧ�>�x�Qo�x�e��F!--�_�~�w�N����cR�?~�O<��_��#G><6�|�o���_�JJ�U��&M�(�(�rcÇ�ƌcǎB<��������^��_�~��^�zzz�;�NMM O�W_-_���G�B�Nf�x��g���=zh��������{ߞ=|���� �>���>{�G)Pj�O?���7##�jժ�&M�z<%�LB!�BW������A[=��)� +-�n.��H���B����;6%%�r���۷_�na#0t�УG����()%�����ӦM�b�o��ν}�NJJz��ׁB�nݺ?���Çػ��))c��53�$���w���ٳ�;rh���SS�ᄄ��ϛ��o�y���.��ٻ��^g�Mi�Ν���L���~2v�ϫ�M^~������e��o��|�����|�W�>|`���;t�4lذe˖E�IRE,����ݵ6eʔ���;����7M�RSS���x ���Ǐ?}��}��+�}C!�B]�"�/%�ʼnfz���W��P*!!�1J��֍0�� +-��k�^�|�ĉm��>}��߿���݉��L�����wxTU����[f���"RE���+E��)� ,���uE*���"(�\EaQ�B/ +-� ����{��;�L�dB�����[�}�&�l^�sޣ�裏>���~���k�<p�Y�,+T�馛�y睊+QBBB������M��h�ԩ۷o��G�v�JD�m?��+V,�9۷'�s�u�֝1c眈~��)e�nݼ�v�ޝ��^�M�]O?�tǎc S�LINN~�'���:"*Z���&0�^|��?+M�<�M�6��+k_���;�� M���?��cȐ!mڴ�>�}�>,�����\2�2j���6|~_�9��3�J*���Rļf�y�%�5k�T�R���T�nݎ�H�ѭ˪U���߿��c�Ə�w`����֙��ګ� ~� g߁������o�������#�u�͛7��y6n���mDt���j͚5DԱcG"���-f������ĉ�����U�V%�p�ȃQ�2e"olٲe��u��э7�HD�'�V�z����Y�dxi^���....|011Qk}���ˊ'n���������.U&����m�)�D�0��J���)�Jb��U��:KDY�B�]��c���ݻ�^�zկ_�{��Q"�� Wz�����mSs��W�]���?����3�>�����S�N�N��ݫף�xl͚�'M��#%���GD%J��R +-�Kb6j�˲_|��Ν;{�4�kҤQ�kF�]�z�2�*�2��qqqw�~{�[�p�R�a����OD�B7 ��-V���}�RSS2na��$�ww�RHE,{X���OD%K��������.pN�ow��w��'��)�����,*]�U,F7\�[Tc�c��wA��FGjƹ��q?���0m�)7t\�uG��P]-����RM�0����K�,Y�l���:uz��'�D�8�-�����qΉʕ+GDǏN�k��[�z�;c�0�ZժD� �`�f�D��������ʴRJ)"�Z�;��/��v�ڷ��=�4�N�:K)��㱎����_~���U��F��BH��N�:D�{�n/N˶H:{���J�*>��:Aι���i�LK'HDZ�`0�Pȼ\^� +-E�������..�N闿�=�����U���cg9+#�t�vӫv鷖˞S��_�çb����)c�2-]�q2��� �����,���x{���Vf6��ٲe�~��7D�6�^�D����~�`��(t� 7�.]:�и��X�I�������z���DԢE���$'a�J��� �IDAT'_U�N� +-�,��g���h����6�[ф����NOOZ�!�{���� ��� ������ED�xu��/��¡�{N���[�h� �oߞ�>��C�̰?���'O�t�M���J]�BŔ����tb�/����D����[>�u��&M�#��s熏�JN�r=������c��w�X�%b��sLiZ�E��&�ݑ�^2�����\�3�ĸi�M��g'O�|����tHٲe�L���yÎO�-�����������_|��ƍo������k�K�.��ʕ�g�,[���ٳ�M���գg��o�y� }o�u�m�?~|���ݺu{��W�~?]q��T�I�&]��C���_|�SJ͛7�\�r>��1V�L� $&Fn����w�Сw��s�����ݺu۾}�K/�T�L�7�x#!!��ڷo�y�{キS�NK�.���O��0���,�����m`�/�;����k��~|||�V�֬Y��oDy�������9�����B)]������O�h��.(�dd���o>��>��O>��1V�\��5kN�>�o߾�1�،3�㎁��ٮ]�����{� �8w�ܡC��?~���DԤI�^�z��I�&������?���o��O�>s��Y�re�����I�&���/��O�^�z�ѣGO�6�1֦M�ɓ'_v�e�١C����3gΜ9sf�ƍW�\ټy�\$�0�,Yҿ�1cƌ3�bŊ���v�����B�b�z��܍_���.oZ��)��)�c���E�~$� j�����R�jGnƤ�<�2�_0ܾ}{����"))�lٲ�t�X�hQ�n��ϟ߰a���T)�֭[{��]�|�={�D��{JŊ�-��lrr���/[�l�*����cǎU�^��n�X��������������gѡS��4q�גy,�ki���ˊ M��F5r�t3R�8���e�.R�v ��7�K!1;�z����7�;v,�`�J��)�u�� +-K,1�ꫯ�-[���V�\��|� ��ɵj�b9z���@�x�k�`�9Y�e4��yM�h���f��ǧ"��u�ˇ�5�\�����!R��j}���W_}��ѣRʤ��{�g߾}�>�la���뺟~���?~�m�����?��C�Ԯ]�F�q���B��������Zg;��oԮ]{Ŋ�>4����߁�z�/���c-��Y]S���ef&��u��EФ�Yv/��>8|��R�J��Y�V�M�6}��w�yga��E08p`�=RRR.���?��o����å<��σ{������)S����t�M�>�h�Z��Kt�����ow�sԃ�z)֣~L�K���z�P��4}��"H��Um��ƍ{�7v���U�����´`���ӧϟ?�[�nD��^�p�S����/^���Y�f^g�M3&�f͚5k�������~*��R7�NSQ��|dF����ԭ .���%$$\}�ՅE.�TB1f�XO�W�y�f"jذ��W�X]�]�۳g��?�|���M�6h� ��C�~��={�T�^��nHLL$����o���L�2ᑓ��v��y�5ׄ{�~��7���M�4�m۶m�w�n����W�\٠A�ijj������T�r��͛�(Q»^k�z�� 6��y��W_s�5G�ٶm[RR���[�d ]{��� kݸq#-Y��4��իW�^}۶m���M�4�F^�j���kԨѺu�֮]{�W\w�uE����?W�Z�cǎƍ7m�42�"���Ӱ�Ĺ�i���{}����YHg��֎ЙV�]���hѢ���U%�1cƻ�[�bŽ{��8qbٲe�Z��N-_�|РAǎ��k�,YҬY��'֭[���=��3%K��ꫯ�+Ǎ7jԨ����={�$��G��i�fܸq��+V<x���;v,_��/�мy�;w>��III-Z��8q�m�}�Q͚5�֯���s�=ׯ_�`08`������ky��(99yѢED�q��pb�����u�҅2v��e�/�;v�S��֭��+�ԩS�_~�ݻ�СCz�Ç;v��ѣ�qx猼"<{�(�����ç�ռ�2i�y�s�Yĉ�����t7�"�����RSSSS�Y�H'�4���VZH-���'Z�@Zj�S8�����ѣO�>=�PϞ=�.]�8N�k���ە+Wny�֭eʔ5j�w��?��۷�7cǎ/��r� � :u��W�^_���A|0��������5�Jݵ�^�kT���ƍ���{�=�8���#�+Vl͚5~��U�����Çk�w����sϽ��3gΜ7o�֭[�뮶m۞:u��캮뺑����˻�;p�@"JKKs]���n�5�������G�ٲe�ȑ#�Ν۬Y�g�y�_~پ}���^��/z+�Dx����������aٖ��29#��<L%\W(M<��ܴ"Ʒb���mq����^�ap��}緞���J�|3j�Rs�4�->/���O�>}�� 6�m۶Y�f˖-�v��ѣ�֭�m�ޥK�����k���:t�_�����^� +-�y�U�V}���Dt� 7ѦM��h�֭{��y��W�̙�h���Ŋ�[�n�Q���k���c��|��˗/Z��駟�jY���w�q���������EZk/���+kԨ�97M���0M�4����1�4��=,� +-��7�|ӛxٺuk">|x]-�*^�x�N�6o��U���}S����46 �Q� +-_���VX83L˶"���4qӌm}������|V�3n����K��P̴b����������oڴ��?VJ�t�M/��Bd�Ƕ���ŊKKK�6��駟ʗ/�ey�:u��_~!"o)��?�LDk֬i۶m۶m����믿��ŋ�����k����]��w�M�����с�W�>lذ��z�_�~K�.��xVX��}�����§�\4555z�g7����������?& 1�!�� +-�,��(�ߡ����[���Ű����xl�*誜3�TAW���PAW�VJ9B]刈��ZK�\�W�re�vj��PNƽ���H�=�;�U�^1)zT�Ĝ_L�x�,d�D��Gv�ʜy�md|"%3nόJk� ��l1�2YQ !47�|�~p�%&&���kŊ�<�����]��e��S���_/����#qqqD�o�>"*Q�D�~�,X�����;v�X�F�*U��^�����_�ux�Zt�dȤ���RSS{�bŊqΟ���k�&$$�m۶k^��<���Q"<?����\zn��\�3��-1��L�����^��YHgQ��Z +-�Ȱs�=����*f��}�ŭE0���p�M˶��Kf��&��=��e�Z��+�X�+�2��F0"MJk�)��Z�ic�5i�c(��Ug��ry!�TʉXߧ5I�9�>ooC��:3*E�Q�ْRI��W�ν���^�z�3����-[N�2%�KI)))D��ءC�l۶m�̙���eY}��Y�t���Q�F����-��OT�Z5�5j4eʔ�|���}��Y�~}l����7B���(�����ѹ����#����g[��ۨ~?��3j^�"(d�TZ +-��a���7,���|>�2�N Kk�P>�����R�j8�3"np��m/W��uP�4�mz˱x(�:���+41�,�`�����*���c�����s���2F��l�Y32���mxQ���K=4t0c!�������4Ƌ�g���~�w�-*KNN&�J�*�{�M7�DD=ϗ_~ID�F�^o�Y�fQ����͛Ϟ={���jժQ�F,Az���_1!ğ��}}��W���{�֭��,�L�2Qfz�!g.J����pz�%�.u��?֏\!����w���Q+2K7���/�_R�U�2���C�0M^���?��f�\ו���/���&"!�"��^Ɉ1N��1o�%�K�B�0b�k-� +-g�S�B����� �&�8#�Y�j�yE��Ӣ��^�a�R&�"r���F(��# +-J Wjn�P�������}�ݣ�>:dȐ�͛�)Sf˖-�?���wߝo���n���ٳg0୷ުV�ښ5kx��'�|�k�A�8� ֣G�a�W%6l�СC���W�ޫ����#�H)[�n���矕R��w�ԩS'O���s�ծ];55u�ܹmڴ)_�<�{��ӧO����~�*UJ�.9�������7n������i�����7�z��o*�=�#�����GK�g�\J'�h�F5j�t3�8�]qL���Q�2���|9�8�3L���KD��5�I�p��L�e�2�B^.GDDJ*Gj�2F(H!��P}LI� +-�ͿM|�Ar�*Ƴ�!_�����ƙty��u�1�O%J��1cƔ)SV�XѧO�V�Z 6��g�}�w�}/���|ӧO4h�C=ԤI����'N|���X�ջwo"j�w�R�Jކ����b��OΚ5k 4�_�����˕+GD={��ѣ��?^�V�F�լY�����~��k�mѢE�&Mr����}��w�=�ԯ_�ܹ�GR���ക.u<W�d�Jzc��c���^%��.���|L�^��!�X���1���s�%��bR�p�i妧;����N�5jHJӟm �w����S2��Z1fq�J���f�9�B ��BKMę��+�""�L�qF,c�fn��<.11�,�1"%��2���r�eqN-*#j�/<�5�I���~A(��0ry�y���'ת�f�|�l�:�D -�,�}�̼v��%�&���R9rDJY�L�Y����ѣGO���i�<����/y\)u�С���l�6�R,V�X^��ȑ#�ax=��i����p��W#�Wh�2��n4�4<������0�W1%�"vN��{��b����+�)����*��`ւ��^�'��1���q:͏a0�B�P���Y�a�h�8r�*���[|�o��s)�����:T�1��J2ll�PX�([��i����*T�p�ɕ��Z��/_>ʀ�J�:k�Q����i�Ӑ�/J�/��bNctq �h��v1M芈U +-���f/%�`0�t��*�$@-\W�i��P�!#���6�N��Zy��m���C�4HY���Zk�2z��<�~h���yu�#�X�fDS��̻X����Jj�u����љ��,r��@KW(fƺ������������ev���K�qF���9w�WVF3-������B(Ff��!Z !4��\P �UDd������d�3FZK)�f�/��},�v�#�Õ�,�TF�������8�J�V�њQ�֘��R��ɸ7�w�8gLiM$���G{�ܣ��l��By�c ��,c�cD���Pi��3fZI"M�7#4��������B��|�1�Q Whn�#�����t6��1�)�n�^�K�;A�N�[C���LV�5��7��.��9e$YZ +-��[�Q�P� /�#%\����a0n�\H)�&"� Ӷ,+Ɲ��ɀW��>��y���������� +-�� F��TF�(��2�k���3f��12fZH�D�3���K��{T1�e�4�T�v~�?��ۤEƾ�Q�&fg�6BAqni%r4�R��a�2������\"����~m�S���|�d��Q]�1�-��Ai�^���E������κ�m�PZ7m]?�������_-1�2�,>�8�XĊqӲ;�����K�_-1#�(Zbe6������s�bM���V�,�N�����������8�������(dH������� +-3������B����������D�IOws�T���8+��M+�:��J3f�e[;[?~l�;����O�!�k����֭���� �IDd���,��ZK��&��(Ǯ����x���鏳�%���������m�,�3"n1�Ӕ��b�m�&W� �iޘ1c�V����>f���~���~�0~��}�c{��2(��ˑ��^n������0B)�T4~��n7wްa}��������+5��Q2������������r�]�VL;-k)�����#���0}�;�G�=�o�^m��|��|�͑o�ٱc�!C�t��9���a� �&,[� c�i��&b�3"�+�Ty��mۺdɗ�=�K��1⌑�2��LW(f���4������\�1�B*�v��2)4q3\m�e8A)W��fӦM�Ə���Y�'�ס}���sND�@�u�ŋ8в�v���:2c|�lX������d�u�V�fpND�`�29�k~"c�ɈH��3%��ܲL�ˠP)��������@�R*��^��Rf�uP�`z@p;ޟm'fo)3�����vi��rL9��.+��<v�l�ʮ���_/��o[�~��]:���N�2�A����߸qc��i��T���n۶5=��|��<�Ȼ����%�۴�u���U�֘I'=ಜ������ +-��iڶ]�������q!�y~h����Bjf�1�B�������~�ؔ)��x�ap�0���O�8AD�K�� �ϴ�?ND�ƍ����K�*�lٲ֭[�><c&ב�Ir��s�y�ş/ܿo_�Ν�M����m�~���?v7j�讻��Ϝ93>�m�E���nŲ����gϞe˖=p����e˖֭[���'r����Y�fmذ�F�����\�rL/ B�0���R����8g���?+��YF^�[n�fFO�l��R)�Ljm�\�ݓO%"�߿`�f��ؾ]����t�67M�8��ڷoOD� Z�xq���)}6�ȷ�Z����������c�N�<��{��NM�:��G����\��ԩSǎ�t��ҥK�+�����V�F�%K�)R�ԩS�G�~��7����8΄ ~����{�꧟~�իב#G����Y�f�1b��͚5�@8�c�6r3�����"�t�P�uM�Q�2���|v�=24�����m�i�_�5</�q�k�y��[n����X��]�y��oW���D$�ؿ��d~Y�]�v�狏�8�e��4G��߸q�>ЩS��{�oذv���۷6,|��;v�<yj�]'O���m�֭[���)))�w�.Q��믿���LKK�۷oBBBRR���듓�+W������S�Ti�����8�����8ϔR���A��qNd��)!$1��1��b��ז���?�k��T�e��:��1v�UW��x���y����j�/i��I7�i�9�]�v���[}>�K/���3v���'��u�v��eΜ9���78-Z�e��E��w��~�a����z�)"�P�B�f�.\�gϞ�U�N�:u]��ͫT�/^|���?��֭[�ԩ�����P������P�"3%�"V���猤��2�8j�T�=ᄈ��������e@��h�֭�Ǝ�W�����͚5�\�61c�⡌,��q�����Z��Ǐ�-[v͚5 ��� +-yS"����>|�ĉb�5i"*���X�bD�p�GRRR�V��f�"Z�`��+��III�#1�����3��I!q��c���+5V���a2וBi�3"R��s�ϭ�/ZT��5˗/�mqND7�|���NDWT�֮�MD4y��3f��<����Q:\��R5FDZ�P�+|9�p�Nk���c6��3�%J�j�ʶm-]���Ga9�6F��[n۶-�o^�V�ʔ)���������Y81�Rx;�幓��B(Ff�*3L�A7$�`Z��"n[f�z��w�-]{��=������ FǏ�����1"���_K�,Y�^�ܞ���B�F2�$��"���ڕ�-@��#��дJ�Z�B_Y�vRR��/����3����H���@�M�:u/^<jԨ&M��~�����@,22-�����9����,���8B1�����A�������Z��Q�q����o7�0d��H۶m?��\�*�1��ci�t��ڵk�z�Ԝ�3�.�+�Z����&M��������eT���7}Ѯ�v\B���2n�~3��q�Խ�����{��G�ѽ{��݉hӦM��z�%K*T��ǐܗ[�賸��b�s'�3"�M����I��s��_|���~<���O�E�ǎ�6mZ߾}z�쮙Q��u�С_�~�'OB��Ӈs�x�b)�;�S�Q������r�}��s�K�.w�y��^8篽�ھ}�V�ZU�d�s�]����� �IDAT����~�����K/�䵹kРA��ʼn��Y�>mڴZ�j���[|��/_��'�8�1�����_�Rf.�:g^z��?�<!!�f͚ݻw�Сù~b�@ �}��J�*/^��RJ%%%%&&�U냋WZZZa������Q�)1��!1������������!1�����(dH������� +-3������Bv>���٤��]��&"ӗ�÷�����b��[�V�u\!�f�0,˶��7`�v���+�RJ*Md�|�Y�yR�ڰ��(��^��t�6,�ɉ��Ƿ ������7�Q�` �*fڶmr%�@�U1��^%\W(M����G+�B��9{��R)�m��i��ŕT����@�8i)����ٖe�~��I���%g��^n��'����,�f;4i"Ɛ�����\JL"RRh��nZ��Rj��/�����!��%���&�r���-N���RJ��qnZ�ezu9�܌��MOu��_��d����`Z@�8S9�+�q��c�P��v*�6n��;�tG�F������峙t\�41n�>_��kL��'�R�D�5f�������H+��FfI�q�I*��2大������eb1�{�i�2=t\�%b�q>���T�P�0M�9i%]7P�q��� M$���M;#�a^ +-�l&��@Ps˶9#-el��tW1ôl��VR�BZ�IDZ���i�#�9.3$-ǰl�Ŕp7�<���Y~�I��d�B)"C�����`i��#�"J���9cD^߿�����0��Ip��*�2�$"f����r�ePz��JerN�s���fDČȼ�(���6��"�a�T�R��*f��|ٖeY����#43}~�ir���L;#�L�7�۶�鮔�⌈7"R*�5V�����\:"J]Z+�H+�,9/5�l7�ァ���b� �$Ӷ#fV�,�$�f�3��l���o���T�M+��P�ZIE�����II��+���4�q�|�����ҖYҌ[~��7�Υ%#7�<�3�w�ic�e[2�*f���r]G����*/��8���{J�t�|��l�ŬK��"$f������<3�(MD��A���^r&��Dk%y�&1O��tGq��١4H�A�l��������|�D�I��R�;��3�7Z�AGq�g� :��7�����Y����B�-1ƉT�*3�&F��(�����������ĉ�&#%EF>��+�e�/���"kU*�{O����*n�,Ӳm�D� =�Q��g,�"��g��� n��Ⱥ\�!������ZK!������_�ID�0mC�@�,�i麊�me��LI!#�"W��w�VBM��""%W�aZ�fnZ:AWq;�挈Y�-A'hp�ɉ�w]7$�`��p��7� ro�0ƍ�B^�����mqoM\0]K�0i�� +�gq�6݀p�L�]�P���������y^Z�M��\�����.,�ܫ��Y�R�u��inF.ce�� +-m���X���"=�x�q��#��#�ܴ}\�يf̴}�q��m͜e��Ξ.f��8�:�p�m0mYF�9_��9��S�/g������9LJ�9j6����V�!�����_R2������B���������!1�����(dH������� +-3������B���������!1�����(dfap�(��.m�;6�������$RNz��r��v\��EMK�R)%�&2� >#�t��>�a�'-�Ae��lI������w���m�,�3"n1�OJ��P�8�+��1���u�E����2O/+���:u�4mڴ3�bܸq�:uڴi�������N�Ӳ��?&#M�4c+kq;.>!>.Η���SO�n�>�H�x��g�,�3�X�֭�y�X���>bĈ֭[[����={v�?e4Z�B1ӊ���p���ŋ'%%�a�����ŋSRR�p�������䒍H!q3�zc,�J�SO=u���eK���J �ʣ#,[�����O?�t�j!T�UG��lڴ�СC�?^�|�Ͽ��_�~=z�p]W)�t�#uΙ�Zi�;+�T�qU�UB�N !47-�L���������B(2�$o)3����z��e˖�t��� ""bܴl�ʘ28y��֭[�1�3RB����M�^{���RiҌ������M�pdF�J��i��ʕ�C_k!)/RI�}�-z�������쉙�Bjf�gZ@Z�|��7,np�H+)�pJ���&��rb��\�[���n����D�,�?��DZx�/F��֮^������ӨQ����^�h��4{�̸��.]:O�������y���v���/��2�lٲG���P��{�6%%e֬Y6l�Q�F�~�*W��E�bŊ͛7?��C7n\�p�}�:w�ܹs�(Ŋ_}�ձcǮ���n�Ͳ�ȳiii�f�Z�vmɒ%;v�x� 7�!%%e�̙E����;cz������p�ʖ�e�e�����irV����,�����u�eĔ�q�թSg����{�푣}~_�隔��q��SO�9�s^�\���Mz�7�l�d��^}���/��ɴi�L�lݦ�Rjȃ�4q��_7jԨ>�o�2u�e�觟~�իב#G����Y�f�1b��͚5#��s������Q�������Ǝ;y��{�7g�J��zh�ĉqqq���cǎ=z��y�T��]�~��{o߾�t��iii/��ҤI� 9���_�~K�.��� +-�����u +-�Q�2���|9�8�3L�)�Ks�<����������M�X��:�71---�������[�;w>r���;�W���/����$�5kV���III��Nu�z���&M�8���_ONNu���7g�ǟ~���)--�o߾ III�ׯONN�\��>�Tf�3f����/O�8�e��4G��k��ƍ�8q���O�8q��������6m0`�w6==�w��������:���2bĈ>}�d�g��ꫯ^��.]���������%�RBHb�y�ڳq&�+[�d�hѢcƌ�:g;�,�+���k�������}��*U�4y�����{�H�"|�A�bň�Q�Ʒ��y��I�jԨa۶m�Ç�X�~���z�;uϝ�K�*�ɼ�2��S��ڵkĈ�*U"��ŋ<xӦM[�n 5y��m�r�k]�~�;v������ŋ�w��={��۷�e˼I�S�Nݾ}���>ڵkW"�m�_���|جY��x㍻���'����������+r*�B;���b��x���6_Q�ʡ���4i��#�D�\E~�����Ȑ�?��ѣ�4h�g�}6��O�س���í[���˲���e˖D������#��*U���B(�ߞDDk֬!��X�»�k���T�N�H\\\x���D�����˖-��ݻw����m�6!!!|�e˖ӧO_�n]�V��u��1�O�~���C�Z���[oE{3�����p �H̤��e��sQ Ǖ���lF�1��M�����ݷ�F�+�W���gΜ9y�.��DĘ�u�2e���=tk��,X�٧e�W ��%Jh�ed�Q��'5q�����џ'N�_�>����ի}e-"ڿ?m۶Ͷ��0�Z�*S�L���C@x�l��ŋ�O�۷��J�(��G��{��.;r��K/�4jԨ�.�����KI81�R���J+)�bdfk��Bi��K��ت���t��s�Hk����'O���⼇h�9��P�e�3f(%4/Qb����}�ݖ-�[�ؚ�v����5Qb��5!��j��4l���ED� �;ڊ����שSg��ţF�jҤI��.������v��y��kݺu��v�ڋ/kW�z�r�hѢ˗/6lؘ1cn���뮻�L�������BF^�����<)Ḏ�R��㸎{]���o07MNJ +-�u]o3������;�&1j�������a0FD����+ծ]��e�7n�~ݺ5k~�y,%��Ϭ�1F���-z]Ӧ˾�����R��f��e�۷'�I�&��gU�h�믿~���[�l�H)�M�f۶7��M�6D4a�-���@ �ױc�֭[w�ȑ��� B�aH�����p�'I�/>!!.�F�KHHȹ�43� 9Ŀ���.��m��q� E�)R$!>��8˜tx���<�Ƙm�#����~����[�l9l�����`����vÆ o�����q�ø�s���~{тO�xl�UW��& z|�Mn��Dc�MPJ�j�j����]��6m�t�ΝDԡC�~��M�<y��_|�ŗ_~��c� 2$�7x�W�/��r��a"�0a�i��۷?~��ٳ;u�q���{�jժDt��7�|�͟�y���gϞ=q��k����_��u�X��a�6n܈�f������7�>�^{��lGz��m�b��M��T�Һu�}��)S�|���Dd�f���_{�5��ODM�6]�b�����^� �?�x�%(�ۣ֤�7ɒ�ի��?<0x�����СC���i�jժ��[o}��DT�|��"6nܸN�:����ر�A�4h�����w�}=��(Qbܸq>�`���s�:t������'�&M����+�C����� v뭷V�^=�H������"Ť�Qz] \�ݹs���}��Ç=z�f͚�ai���g����رc����^����ERJ%%%%&&V�P!������۫W�ٹ����Ǐ�Q�F�36�IIIe˖-Y�d��s*�.y�������ő���Bi��K�#Ι���i@b������Ne,L�����������ΦK�V�����p�Ab�����PȐ��������s�Y�����f!5�P*(����X�������%#1�J��+�Ҍ�e�V��3��{&#�.���Y�2��X���D��e�F-�Ae��l�"������xS���b�m�&W� \���=���Ƙmq��g�J)-�kjZ�*�s��R���>W��J�-t������h8i)����ٖe�~��I����ޝ߽g2�a�9�Ln[�6gDDJe�r��������|������IDJ +-M��u�iNPJ��|�ME��F�BxS �e2N��r$7��_�c���1�i����Ę֮Йu2�7���&7I���\��"��1f�쎈�R��E�J��ea������D�<�72��9�GPNzjjj���"C�{c9W�0#"��"�Zx�g�Q +-=�d-�֮ݨ�ve(��J�24IR���r#��d��&�������gz�$b�H�` (�����2�/��g221�L�]EJ)�Hi"Ff�uhZH�81"b̲)�\���W�U괖�q��&��i0�I�<>Jh��2������WD1Kk�i%��#Q1M3�>���w�<�3���4y���;+�Ok��N�Y� 73��g<4�&M^��qn0�93�)�J���Ѐ�����.~���i�-��P�L�2C���/�]Ϣߛ��Q0� %B�U�'1j-�V� +-�#��g�H�O�$ +-�x��zZ��"Çi������Zz�}���ʮؖdE��LF�*��}��*j-dF����IKWhf�\�������D�sFZE�襕R���D��LF�.�计I�\���8ZFfeQ�G����.�O7/ɭ��r]I6/�����X�D� ���Jۜ��@��id�,�p\�����U��Gu�KD�W�G����ɂ��<r}ƋI�E�.c]��nuc������.LJ�9�@ (ɰ,�i�Rs;..�)大�?�F����=�5dո��(]�,'giiigw@�����y�7}~�ŵpG(f�~��J���LdeP����/|)c� �����␑~1n���������8_n}+��q`\��џm)X�O�����V�.���p!�$����\2 +-���8��cp�$����\2 +-����� \H� ��������2�������������@!Cb�����PȐ������2$f��������$RNz��ˎP����������c&3,�"w��J +-��a +�����8�L"f��yL9�.q�<����*��ڛ��G��h��D����6��=Єׯ���|D��K�ؒK�������"e�<$�T��3���_{���bۡhIWÊ���f����\¦)���%��}<���̛֠�5٣d@�I�����������B(2�����.��pVV�{�9o\����C���E�����KjD��u�| 6�'��*ED��?��CV�������쉙�Bjf�&;K(S�����h�z�[w�}V�D6��y�l��f��V�Ѫ]�����Ȟ"���n���*¶�oQG�DDw^�.-خ6�UK�ſ���5u��5���mܫgo�2T�x�Q�W-���տ�=�}V�4�Z5-�n��J&�w�O�2�U����Ja{�鯒����)�A���+˲��,��`�r]�~���T��k���d��������X"�Y��P�oާ?؈Y�������l�YF^f����n�?Z�f���8��;=��Xn�s��]N���r��8�&���\���[��]�~��)A=�ᮠf5��5�Ҵn�6���hY�Kծ�6W���? zc%�L'���<��T�]�ˋ�5���[��勱�u�#�6�U^�����ZUb/u7��C�&���M����u����F�",�!��Emj^��3W R�<1�-�]wB��F������"�H8�;n0�"�m<�� �����\�&fZ���k^ƉNg�`�J��o��"+�k�7�G�� +-ֲ6�oE�`���I��lp#���z�sy8@�*���S��X��Mۏk"ܘ�����(���} �}7���3Q�,z���4`�H:���ф���[��#dFa�����⋝�~)6�6���K���0 ��L��.aS����?4���w�/!W��J��.F��{M6�7�}����\��Kh~�U��T�U��%�~M��Ă�uQ�4�!�����p�ɲ�L !�&?k��3v ��O_lP���=-�O�7ʌ��uFP�������}��MY���]&7���%����wL�gBN٠N�E FDw4�%��?�������_T��a��71~�X�CKM��}��e�,�$"2�&�U�1��]��&"ڛJ}&W���_�ߡ��N9ND~QDԼFh�V�X���v�tL�|�Q�߮��p� �����.j�3%�"f��y�D�v�jw%���HDOƴ��sJа�r�jy{Cޡ�1��Ѥ*��Y�(+⧤�z_Z��~�ы��⬈�R��r�̭���U/È�i5V�b�w�Z �&��I0b�e�!FT�Oɧh�O��n6��g�ޡ����dmD��r��*~�e�B FD�㉈6��G�Օy�%O�tS-ND���b�d��+������D$fRE�2�ܯ<�d�����} "�j[h��E��������V��ͬW���R<��(Չ)�+_��(�Ke�����'4�gDT��2�>�����G�Jֿ}�nj���_W���C�k�LT�O#���ʰM�Պ�#��Y��v����ѹ��U][��?�:x:�������% ��i)�&n�Ѷҹ8tJ�;[��9���R����,�[��ož4Z�UU+kT+E˒5�*S}o�aMD�н�ͥ���c�NE6~�\��tK>E�.��O�4n����7�ʷj�MF��������ZU�秿��o����4̮���������$$$d`���IH��!-NH��F�m{/����K?m�׆~��>�x[L��6\���0��% +-"<�`� +-!�IIB��u��kx�}ΩS�J*�J��/��g���ԇ��Z��KN�-�x�D�e��/w������Q5��w~���tƱ�(����/�GW�s~d��g���N�����HD���u��2":n*Q�[�F�:�K�4~_]�9z����Li�69�h>����3�}��y�S*n�K+�D4g:��#������'���k{���p�,u�|%D��ɾ� ������S�36��u�Ȫ2~g���G���Go���h���y�|�|������a�n:�(^2_m�{�"���/6�^d�����l�NTW�f��{��~��������w�>l�YS��S�u���d��r���ONR?T�� !-����o�r�G^8��}ڼ�Y/�wJ���"������� �IDAT�̘��<W?�)�ޢ.<�o���z9u�w�z�����F}'�����0~��`zyz����U�Gj�N����7��2_�x�&� ��W�?=�����&�p����O-�D�9Z�B�V��߾._������έt�n�$��w��.���Pg�SD��$��f�eu�w�-O�?_����""�k�"���/⥧����η������z�+_ +-��.D��K�.4�;�������J54q�=7�k�������QԶ]J �L�x�v� D����2�_�=���4�;��L^�5�;<fsX�>5��G�T6�Yo�r'����ڟ[�uw9�����`̌�`0 3����88�������@�!������4������@�!������4������@�Uw֒�lf�¬uő�>�#*�.#�m�gEF�����f�ĜK˩ l�86*��\�!� ��F5�&�$����4�w�%IEQ\(Ċ��Nz�z�)��o#��������"����Ҧ:yQ�H�x�{'�����`�����������`��$!V��[.+���u�+���{�3�E6�&[���-� +-�����p�`�KSKQ�IZN='����RLaB�kg��T��U2��}����Z p #:a_t���)j,RYww��������=��X0�\��M����_0s���:�M��Z�J��V���et2�`�^-�ImF��*���&"��B �V�w�]pB�VDDb�"Vk&��C^��ջ�d�3I$s"D�U\?uNBꈈ�Q�&�R)��X�1�n�@0����f1���UT(��J��+�H�L����j[��e���~�m���!"f�'�� f���H��!�P�r&�����õ��"��� �[H'R�����4@U2H%�h�����&�i����?! BB���j��,Ro�p�'8�������"V���Z�CBĦ�e<#m+���`dq�11!$�=MY�d�!)�|HL���@cb"��(յ�7�6�`�'�2�����h�""� S�Z�18뉵�,���4M]C��z�r��6k��?q�2ib" ��'9P�*�+H���EiA\�k�`�o]`c�λ������!"�&�.��"��)G}KZ�\`2T��lȶ�Ӓ%��b&�]�I��|��֬�uN(���|L�ֲs#�P+"A�{�=�ɍ��5��������D���$��uY&���I�p�!ڲ2F9�"b�MEQC�e�I��*�Hk�N�߄�!���!f6�z&�H� 3)� �%�YϺ������@��{��Q+��FW��X�'�U._\ZJ�.�/�P.�����e��0���j=�O��� �~������� ��Le,�F�M�de����������wf#�k'5VlԘM������C��̴QzL:fmxlz�����C��V������`�A0�����h23������&;8ט��{ϱ�������@ê�L���u>��QG���5x[�6s>�D�Y)mF��ۂ�r) �P��ٍ�����8�Oe.-�6���ب�rن{���f�k[ۢ(����r9�2d�o3�Z/*¶������0V�w��X3Q��Tʬu&1Æ��۪���^�kx��(��Rj����=�x���������z뭅Ba$O���E�Z)j>�8���`1������CD�;!ejcB�D:K��b��OC�ݾ}�}��g�mkk;�䓉�D.������W��K�/��K���ӧO�2E�6&& +-!l b2��� DD�8Ҝ���+�)V�{ϥ����<xއ�2�Ѭ���s���� �����0r�HBb�{ƄX)����{��*Uô��[�?��O����!x�f�=������ˇ��X��M����暶u�[o]�҆ 6l�0a�-�sR��<�I��~7д̮�۫ݓ�X/����y�&�p������!C$"D�D��r�9)3Q��ׂ �v����_}��3�zϒk����#�����ϙg��lٲ.�`讙٨�� A����;����=��v�ܱ�����e�i��ꫯ�z�O\r1��}�=�9��EW~���h"Z���K"z������+�gμ��K|�����{�wǎ�-���K"�)`�������TO�|�!������1���1`�'�x�T*���L�t�қn��o|�w�}�/~�/}�7o>��c��9U�^��)��B��_�ʊ�7��I�&����p� w�u���Bk֬����z�k��R�$"7�X��SO��[o%�/}�&����h���_|�?�����\���2mڴ+V\wݵ�<�ܴ#'"�������Ꙥ'��B�P(Ě*S&N�$� +-ƀmW�X�q�F�����{���s����j9cѻ��]�bE�W f;v��ҹek�朵��~��'+������o�ܹu��;��^���������?��������[:�X�`��v[GG������/W�ʕ+���#�<���k��3g����իWox����{��N�4F�����k���+k���֊)�u�j���ݽk�]wݵy�f�:�s���������8��������e �w�s� �g�j�hkk#�k����)S���EQDD_|�^��_���G�5�ꪫ���/���&M:�Ry���(Ic�q�$I�!�BEi���Y�^|ɧ���������G���b��{j_H!?<�A�����o���9��_��^y����O��3�8�����EB "��%�����7�dٲe˖-kiiioo���z�;�9q����{.�a�jG��"UgBN�<������EQ��k�{��gϞ}�����o���e�����p "Rڰ���Qp��;��Y/��^{z ����˿���j������c��qtϺ� 6�ٟ����&�W��ɒ%����Hi��-|�嗉��ɇ�7�2e +-uv�^��"$"��HY"�����w�����k����v� ?�����o|m����������6��`�if����,��{w�������>��s�ȅ.-uw��i�e����x��{��-e^D�s;w�ܸq�`w|-Ps��H�B�.$�����&���Dt�)������ U]҅P)�Ϭ�~��w�}��~���S���~�~V$��������2I!���,�\` +- ��-�(2J�w�=�Xww�y�_%�$RD����g>s�M7 ܫT6�-t�mk���ɓ߳�=�=�l[k[~����[n����s�e�L�!+�`�a�&Qכ��D�;6m""���y>���"�իW7�������F�Z.���&�L'���mY�X"��n��+�8�n=}�s�{�{�{�u���;z7�8b"�ٺ�z�fٿ,;묳>����\s�Gq��7?��������?�x��sԊc�D�(�-�Fi�����n���c�=zǎ�|饗~�+_9��F�I?�y������o�����`�0ß��v��}�w����9>w�ܳ�:�W��Յ^8�nO?��'�|��+���LDS�N������/5���/��������Z�j�̙/������n��n ��3g�z�g�q�(n�����`D�{���ޫk۶m;v�;wn#������7o^�%lڴ�97g���gZ���;����8D�`�@0����fA$�����h23������&C0�����h23������&;��/��i�̈7�������j0��lf�¬uőn8��V��·|"S������ʥ4�B1n��������4.��\ZNm`DZQ�e� �0t��uAH��j��^Td�������`�("�2/*J�8���P�k�4�~��*.N�8�XL��M�u�Md��������x`�(x'�LmLH�Hg��^̰+��k�<ʁ&qN�1G����y""�U�61��K""Vif��$B���Sx\��9�F���z�9'*��2 ������Ny�X�1!VJ�넬�w��FU�mG��f&"�D\>=Rq߱+!�v9��mY_��ڶ�I*?����,�'m��h�������HD���ĥ��sR((f� Ç�}i;f6Jl��c +-B�d�@#p�Q>�%yB�g,&�����v����X����#Xec�e�����0�ꆺDB$���D�6�\cض��9͚����=���b�NkT�Y)��xq�8+�?���-8�E����������}̄UT(��J����H�8l׳�ڎkM�����X;i��T[36XE��af"�^�L����x-Z�����㈪��d���Wv5V�c_�6Dz&E����f<K�u��������`�)"V�I���B~x8�ҶRW�Cȍp�Z�"� �H��I姺[�z�ؼ�����EDJ��]5�g=�ֽSIpY��i� +-���q�2i�!�+������?`0r^���ٗ�a>��6��������`�����Km9�Hs��J���� +-�d�~��pm%8�Z(1��"� �����fŬCpB!�0�pk%�W*��`�И(��%=�� �b�2�����8p�LR �Y�e¬L�� ��mp��=�،�XT����V'1��<�i�މ� ��C`�"��`Z��,�� � ��+{g=��_��������a�R�V�.8!b�M��'.-�^� ֗j����}����p�����J���ٮ �����`, ����Dq�o�����-��$F��������Cq�L5t������� #f������M�`������df������Mvp�1�v�!*�C4x�-wg��a�l 6K�"Dd��Ɂ���yW�������uI��9�f�LGF���%���:�Y�(���}��[�|�!2��I���mf��A��֦W[8(�9��(�c�M3':J�""F]����8)ʿ[O�MEZQ�i����\ZNm`DZQ�e� ��.)��k���\Μ���86,�w[8Hp�:/ß9`k�(��1;{��������������f>*&�2/**$�f�Hs��Y�Lb��H�� 3�+w��W���㤐Ϩ��*�Һ��BBČ�����8�"R�ע�Z� ����wB�g(C�Hg��^�a�;uAHi][���(J���Ȉ�rw��Tu���,��&1+�uǽ��|,���q�ϕkLe�f�L��5S|�e����)�ܝQ���t�D�� 먐D�����$Xk��A����ʪ�$f��ʼ�^O$�f��>+�`mݰ=������^���� �ჷ��;u����)�Zc6�u��!�v�>*L��X�+�����12P��Z����.\+�ȇJnZ�s��.�fl��'.K�������V��b�,!x�} ݳDI|���Q��[��T�kaTf\�6Q��$xg���!"�i��Hk&�Mˁ��$��qLYf�A�(����z����S�$ι���I��\(� +-�e:��e�K˙'� Sp6����N���PϫL����ge+&�F`Rk��B�T�_)J*��k�{��<�'��w������ ̂sNX��ayJc&��S�I�����zCS���f�/�!�s �%"V=1+زl����} 'I5k���'��b�����R�z/Q#�!��6I�v�(�*�\�MR�?3Fq�l� �2�MV�z�LE�ĕ}�C~JL�q��c��T�����L���Uq|��D�٦�B~��(� ����Ji"a�ZG4�T�� ��s��>�{����������~˕`3�Y�q� !�� o�I\e�a�6͜0�H�DH��̳I�n�����vƺ�n��RՑ�a�)�z��C�u�DL�F�<%V��N��0qݕ���{M +-a�����X�� +-U\{�ཐҵ�5�z�k�빁��~ݱ{W������_�3qY9��-�VQ��+���r6I!����.#"RQ�4� P���6���k�(Re���3��RZӫ�?1�_��Bc�P$�����w����a�j��ﰟJ�6s���b�W|��D�zW�T�F��y��C�~ݱ{W������_]0��S�&)�' ��-�ΧVf76�XDž QA��R,Yid5�ĥ��>Q�u\�`|�͜u�P�����@�i)�DI�I�M3l-�����p�3 6M��ꢞV���:5LBă) �����߉8�4�dzV���X�MDlZ�� +-��8_7`m��M݇���}�j���Z3G"��q�|�^� �%������u�i���\����ٻ�������^�i9*�?��Hi���N�������/lf)�`�z�����|��87V �!�hE�YW��:0����MY��ז���7Yg��0�+�(xW^������������������➹�|��������j��J���8L�H+"�&�.��"�� ����sB$>Qp� D�M>,��n+Z�����F�ˋ#�H�w���Xi]�4�����I��N،&-���8�e���GZ3I�Q4!1D��Ɩ]V�`�2�.�d@oD5ZYkӔ�f�l���>�(�.��2E�)x���PCϫ�&�T���������҆���T�b��7^�f���������v����h��(���LR �Y�e¬L���_̃�zg3"bQ��D��f�!V:Jz6 �������Rq�����F筵����$��S}=�q��lf��\��tTy�:)8˜�|�����$�̺,s�J�8Q��68�&)H�Y�����I���~j�y��IȬ�� ��`z���:J�Yg3V�D���+������b�R�<�0�uww7�������H������df�S��ʕ+�4}���7s�̱�֨�9Ǻ� ��������6�my���D4eʔ��cz��x[����?���~��_� +-��R@��b��QQ26�۬������Kc���ڴ�GuTkk��#�騠�~G�,#�B���:�����u����ƥ� f���s��9��W�Z��k������ku��m۶mڴi,�:uj~�Z��ںe˖b�8w��Y�f��E������^3���ֺڰa�Ν;O=��B��Y�z���y�D����ꫯ.X�@D֯_���}�ы-b�4M_z饭[��3�<c�9ꨣ��'��������`��ѱk��>{y�V�jmm�<k}���4�4i����G}�+��9s�֭[o������ &8���~���-ڻw�������^,��O<��)����\kMD�=�����O8�Z0{�GBy0ۺu�>��ٹn�:km~~GG��?��]�v�}��y�U�Vђ%K�������@�`���FD���;�#�M���ֶt����m۶�{g~�W\1}���{��^�z�̙ι�o�}��ݗ]v�����O?���'�LD>�`{{�E]t�g���?��OΘ1��s�m�~֬Ys��q����o������?8cƌ�����?�igg���(�P�������*��O;�1c�GAD'�t��ݻ����O��x�/����ӧ�ĉ�,YBD�W����Z�x����Hk�dɒB���o�[���O�G���C�Д)S�q��W�/^��w���$�ܹs�h۶m�U�0E���������6V!���c���3g�ܴiӦM�&N�H�14"���TJ�p� }Zmٲ����T������;��f�5k��>W�0�gx0�c"*��#z(�������0VS]KD���������lFf{w�$�' �ٳ��j���O���`���ݻ�:ꨑ����������cL����[�n�ԩ��ԧj�|��^x���}���ӦMۺuk��}�����_~��;v�ٍzƌD�k�����Gy���������_�d�h�ƍ{��]�`��uN;�4�����}��Z�R�DDs���s�9�kiiI�d�ڵ�e�w�~�W�M�6e�"�4i�%�������3����������FI�[���u�x������;����<������m߾���niiy���ׯ_������_���;�<��y��uvvnذ���_g掎��+W�ٳ礓N* +-kݸq�1f˖-��w_�T��'?���ڵk�|�McLk�B���jIDATk�C=��J�s�9���|�Ͷ��ٳg����lڴi�ƍ'�|r>4�m۶��f�={���6:�������1�ʸnݺ�'�6��i��Ν��ںq���?��+��������>���̼p��|��%�\��#�����_�~=s�1.$�w��]I��Z�*�vlڴi���ggϞ�w>��w���>��=��3iҤ�.��^���h���9眍7>��SO=�� 뫌�������5��7���vǎS�N�/�HD!�����'��>M�z�(�;����J�R������zKk=y���5��sY����Y����>������Y�����������������������������������������������������������������������������������������������������������������������������������������T��e��A�Y)őQ�s�O��^�&d���e�BDY��T2�`zNW�NCT���,��������M3/J�H1�lZ!�W�!���Sbc"�$��V��Y�z�����( +-!4��������Ƌ����m��3�����IEND�B`� +\ No newline at end of file ++��� IHDR�����p����+���� pHYs�������+�� �IDATx��w|��ǟٻ\ !B @��M�"���U��_l��X@E�}�aT� ++��H������i�\r;�?f�l���Ryޯ3������.�g�}�Rl�2����O��$y}Ee\�C˽�o�TnA�aX���C�"�fc����R��u6� � �O���n �P*���4nT�H ��p8Q)ŧ�BA��l6���ۂ �+�k�b��5� ��(���;���n��J������#((H��n�Tc\���Lמ�2Ji�T�����v��H���t���Wv+�zcu��K��Q!����V�w���TGqqqe�Aʊ��t8�%� ���z��@�zZ���5�����hG*��Q�M@߀3��c�U�\������H�E �ԠR�� �� E�*�"�2ReE���� �f):y-I��¢Siy'Ϝ;�?)��G�ݴ��@h��V�\iڸyt����rn-R3�����6�T�'�1�Ì eA��Yr"5{��[��k�Z@*�D��Q�y)e����u{��Y��G�!%�>�h�FA�B`�Z#=Τf9v���=��-�/..���5�> �Ӳo,���rdﮰȺ��B�����JR��lUk�\'�:uj�ҥ{����� �ܹ����7n\��B)G��|iW���`"��بIӬ���7�ik����Cn>s�d����Q�Ν9e�X(���v6�i��Ax._�<eʔ���>� 88���� ���\�dɚ5kF�������^�vm�ƍӦM4hЄ �/�\@�b˖-3f����4=��k���۷\��t:-��<���.'�~��ef�n�(&�GoJ)!�RZXX�au�;%�����K)�Z�圼�rꉑ�����i4�T&���=/^|����.�x衇>��㰰��n�TK�,9z��g�}�L,F�=lذiӦ�3�����y� :��G�jČ3�ϟ߾}{ӳ�v�6m�ڵk�~���zj���qqq�KL�>}�ʕ���^$���<��R\\|��&�ssr6�O<��4nҴ��!�BB����s��i�Z�yy��B�W�����~��v�(�7$t~j�#���j��{��"b�5�˗����?t��v��i�_���n�On�ƨ�����]�Z*��DU_�x�ԩ����b�:$$��\�pa�z.x�1�:uj�ڵ�~�iPP��Thh�;�s���w�ܹU�V�ŝNgrr�ŋ 22�u���maNN��ӧ۷o���������LOիWﯿ��������LW��\�K��ɓ�{�ٳg�i�FIܵk�/�0gΜX���N�SŢ��F1M ++rss�~�Uq�{�=�@��5'�����V���Ⱥ)αU��E�K��ʛ[�����Q�!!�Y7���/[�*�[�� �i�c�L���}�z�����a�^�:%''����< Si���V�<j�*ҳ�s�С��z��:t(K9rd�Z�~�����Tn���Y�t�رc�ښQ�V�{�g���ӧO7Ͱo߾����͛���]�xq�Ν���Aj6�H@W���fϞ���Ι3� zE['$$x,n5j��"��!BaaaØ��"Ǧu� �-����������E� �۴.q�-�6�ir��q�E�YT��bN��f����sϔ������u��E�a��gΜ�ڥc���(��l�q93���S�7�ծ�k�^J��� 6�ߍ��8fr���ݺm��}���?p�H���o�F�\⺍.�4lX_??��}���U��v-�����۵�^Ԛ*SR��u��ݻ_xᅙ3g��ՋO�馛jժ5y�����lٲ��� ��}�&O��&C�.]~��G�S��.�lْ��mڴi��DžR��������Z9����������ڵk�����ڵk\�r�Q�FV�5'''33�f�խ[���Q322�v{tt�� ��Tkڴi3gΜ�S�Ι3����{m ���"i_�!�n�,,,L�x!/pȥ=Cc�RJ/���eM������a�n���(�ɓ�"4lP��-cG��$�� ���p�p8���̱� �Gϝ��S��g�^�����a���w��ڹÖ���8�w���ؿϢ��^���~ɢ�)��<�b����8Ey����^�0�k'�S������l�:n��=�Цu\�7��@nn^LL��~����o�e���lp�1f��Tu����͛gΜ���v���x�w��o���SO=���ow�С⛇ õk�BCC�d����v��)BHpppJJJ�&M���!lwnQ�o�~�ڵ������w�رY�fiii;v������l�ѣ�ڵkWxxxzz����F�N�8q�С����ԯ_?v������������ѣ�Vd7� ��o�~���S�N��z����9�������tA��*�)�d�RJk��X��pR ++��B��a�X�������O>�Ұ�F��G&�i��-������XZ�?�zu��w���ƕ��{���{x��o�7�?����+���B�q���|����>b�O��L��iӖ��w����%q-�����_~]���E[��<y��O?|�6���ԏ��)� ��9���>}�g�}ƻj��ܹ�{�7}��+VTd��" ���wK*55Ս�NHHرcGbbb�F����BBB��ԩS���L����ٳ�q��aaa�z�������۷�8qBY�p��աC�\�r����]�t���E1??_�PlllLLL^^^bbbZZZÆ }6R��������BT�Gk3y]T$�������%}�ߠadT][�u�\(�I��^-*�34�naa���� kW��}�gyݡ}��_�}��%�V�3�'�4�?k�ojԨ�� � ;;�n/8q�T��%�퍸�f��b�Xbb���@nn���� ��ײ�E���kQ�N�k3�<���n�+Zd�8�0v%�l�Œ��0n�8�HJJ2�ӹsgAF�Ua�B���s�Λ7o��;\eسg��F�ڵx�̙�'Onذ�]�v���)))����wQQQqqqNNN�:ul6[ZZڕ+Wrss٫WFLL���t�R@@�[� B�Z��<�5���`A ++ ++*.��T0#m���vî]�^|��w�}�����矟7o����<�1���`R�j�&;R�(�o�!'��`��@��7�,�� �2�]�"����c�m���,��{� ++ ++|���8�֛�������i�.����?�����������߿$���#Q��зO��Ȉ��Z�l�W�|w�-7 ����۴�{�ٗG�~�bJj�RC!�)=���s%�v����/VL{�R?~�����ۉy����� &���b�4o�|���M�4ٿ^^��n���;{��ٳgSRR�֭k�Xrss]���,BHH�(�| ��n�{��ϖ����dv�����/ϛ7�S�N o���ԩS�9�MY��źvZ��C����w�]�Dݕ�ǀ!�,VkaaaFZ��t:����tK>���m#n��R��z�yl�����c��6�H�車^X�yiH��m�6��bٸ��c�z��؉����x���k~NK��`�g|]� ++�g,[��w�{�^�lYe�A*�ƍ���w���F�pNNΫ��ڣG7�999�@f`.(( ��z�С��о}����)�uԪU+//OyË �]�v������b�NHHx뭷�y���d��M�C, ��\D��F�;v� ++��!@)�Z!!^)**���Y-d����<���qcF<���h��o#"�;����1�Oy�~<�z��ǎ�u�p���W/i��s�/F�t:���-�^ݖ-b=v���)�s�~�^�(e�����;v���т �� ++����X����>�(11��2v���n�T&L���Ə?v�؎;֯_��ŋ�w����w�u�֤��Ν;fdd���?-Z��_��(�'N��]�v������ߨ����肂����F���h��sssϝ;gڒƍ'''�۷/..��p����k�{� U���k�.WK8�Vb�����[o}���0_ o���������5��밐ZAA�Y���N維[j� ++�p�|�f� 5����+YYΟ�HO�������^����]�Þ���~k�˟��%�V�@���-|�Vp��}_��w�/|m���2�֛���������!�F>�ؤ���]�6>�T@����W�U���ڶ�s��G�׀��'&?عS����,[A)m͓�}�}��t���+?��%W�"H��2v��.]�,_�|ɒ%,�H�N�,Xаaä��3f����F쨨����cǎ�8q����z��i�Z�֭ۥK��ٳ�Ҵi�F��i�f۶m�W� ���JM5q��ٳ�={֮]� ++�%�ިF�=���ڴi��o�^��X,�����TBB%K<�@�B]ɮ=��i����G�R��t:� ֭����j��BH����kx��^��^�E1��f�hQ���Ң�"���H�v{^^~Td����^J�����<^����v��/-(((,((��/V���o�&A�sr ++�"#�i��JM�Atח��r�t�lٲ�>��Ij�ͬtAAAO<���k*�"�!��ݻ��_~y���]e(**����| ++�҂�A���&hެ�)((��lJA�=��m��zM� �K��'�\JM9{�4�0� ++��7�_����V���\SJ��ΦMc;uh륶���&��#�J�>BX�8~������j��^�z5;'�}�6�jhH��xY����c��4����r�ѩS'7�C����ȧ���jx�8A���|�оC�ءC�ڵ����Na�jB3lA �б��A��ԯ�����z�n������̛UٍBAAj8:��nݶ������v{�H)P*R ++�D&00�^TT��-{������ gϝ�v-�q�u��<�FT�9AJLvv6wCj���n"�^^k��&S�]��*F|@�Q (�� ++"77��!5���ᅢ H�P�C\jkA�t�����3��A�Q_ik�A����fSv ++D���bAy� e�!����� T�H��b�`x~)#&�� H r�F� ++E�Z�j9��!�"�tD��Al6ڭ��T��F���OMR5�/Hu5 ++� ����9�/� � �����^�lG*�[#� R9��FAA�(�4�"� �� �9�\<8�-����AA�``>j���I}AA����!� � �3��z�>!� � �����0Rc@�AA*�[�Q�W/P�"� ������Am� � �cP^#� � ����|�-5�t]��� � H�Ƈ���AA��tAAA���AAA|���5z�T/�YAA�\P#� � ������윜u�7�]��ĉ���P7*�E�f��<�H�Z>� ++� � �Tq�rq�IP�t~�ղ���J\�q��?�h��W��q�'�:���u���WK��Ůj���;�_�%�V<�?����'�u��C#G?��z鋯�Nzd�i�w�[0r�ײ���/�Z:�?�2�����&<��Ͽ{�S�:���� � ��L��W�^�w���n߹���>�p��� �m�48((8((�Y��o��s�~�ٿ�w���cW�^5�$((hu�zv�oߡ����F��'i��S��ՍJ��v�� cقe��x�h�� Jbꥴ���{�%�������Ӛ�Y���uAA��@������������6kz�����_x��{��عۀ᷏ycֻG�&�6k�������1g�th���s�b ++�l߹�f�%���(r����G�Ʒ�X,��i�V??��G��D>�v�П~����e�� � ���2��YoL���D�������h``���3�l��M���V�zQO~������tҬ7��VҾ]<�>r����}︻��b��+V�J�ק��A�v���{��6k2h`�7f�[��!� � HI)���?���ǎ����ɏL�k�<(0((0(�e�'�_�jE^^�w����`~���###9VT\�w߁�iѼ�����S�϶k������M[��߯w�n]��m�e����͛����}��t���G � � �F#�����D��Z�I{��ߗK��?H)m�}���w���Ι鱖��9�o�!Q�;��ޭ���{��&����������fM.]J�ܩ��?Ǎ�N9�ΦMb�w����ϕ�GAA���i�X��-�Ly�Ł�._�ŏ�u��C��:kæ� !�x��ݾ]����I{�w�����߽[�9�Ӹ��R��Z+��]��2l�?[��/-=����c�EE�T�n"5�[#� R��&�5������� �S�}q��C���l���,�l��ͽzv�n7t)((\�gb��m\I�ܼ�-o{��'�q�����m�_��o��'4$��'�;��`��� � HE�3ym�X���9w��=�&QJ�a�x�n�::�o�I{<5�Q��];�e�]��>��x%���ظ�o�kV�բ��ۆ���ݻu]�g"/���Qw,�����'��A������?���_�(���k���aaa��(AA*o�5{���$�ؕc7z��Ξ;ߦ��� i�8%�R���XJ�n]�%�����s����w��ڷ�W7JI<��̷�^LI�k�X,/������{ߘ�H�=���֮];q�����u��͚5�wީ�F!� Rqё�9����7��Ru�hi)y�\��/���KDQ�ӧϔ)Sƌ�����ܐ�v��ѣgϞmذa۶m !gΜ��l���III�ڵ�[�nAA�{�v{�"""X)c��˗333ccc>|���]�*�s��9r$<<�}������������ѦM�����~�ر�����PVd�����իW������.]���kڴ)��ѣG۵kw�ȑ���{�p�A�����z����Ru�B�5�L�4 ��̙�$:�ιs����o]�v=r�ȤI�Ǝ��{不�<x044���^�_����>k������ӟ�yll��˗���֭�7o^ӦM333ϝ;�t�Ҁ���[�N�:��oLII �裏8��SO5l�0,,l���-j۶����>aQ�F@JJ������f͚͚5k����6l�={��!C�ٻ�{ӦM=z��1c�o� ++AAj$>�F�*J�N.^}��W^ye����ƍ5jTÆ `���+W�\�bE� �^��lD�f͚%K�����̙3;t���3�B/^�hѢY�f}����D�HII�6mZ߾}322��o߾�ݻ�\���;�|��(����� ���~��'�[��Y�f���o���ȑ#W�Z������[�nݢE��+W?~|ɒ%���;v�6mZ�>}X#W�\i��� ++A���#h��>�0�uU�I�&����^��m۶�}��k֬���5�A�����0�i낂�_�522r���۶ma˖-v�ݘH�tC{�� �QQQ���YYY�Э[�_�uŊ999�v����˗�<y�����п�������X�z��w�IY�~}ll�}��mۖ��s�ʕ�TièQ�P[#� ���_M�1���Æ 2d��ŋ_|��Ν;�9s�cǎ�9�Avv�(��w�>u�K8p�i��???Q`Ĉ 6\�h� �M�v�M7]�t�瞋���ӧO˖-�m�����:tؾ}{�=�o���+����������OV�#�G ++���FA��8ė���0+��j0`�'�|����� 7�"""���G�ٿ%��t�@IHH�ڵ���>mڴ���ŋ��ǿ���P\\��5!�;�HLL�Z�=z�`�+������S�L����� � �;�[x ��mQX�U��:t��n��o���>�t�����&M��u�]����_�����cǎ��D]A����O,\���ѣ����v� �� �IDATG�9v�i��K;�������yyy���� ������լ��C����J�{���_~�孷��RF���7�lٲ%''� ���oy�� �\��A|F۶m,X��������}�Ο?? �S�N����ٳ/_�\�^�g�}�XvԨQ���'N���������[�je�hziQ4h0u�������йs�֩Sg���O?���A�:w�ܻwo���nݺ�^�v-s�����ϛ7o���)))���'NTN!� R"J��%����ZP�L�%���}�O�6?_�Z�j�(^�v�v�ڂ��QqqqNNNXX!�}�)�ҫW����(����yyy�k���٬xhh��AA�������3�$�A�nA�IM�� � � \ڈ � � >��k��ʠ�AA�2A�5R�)/�kAA���AAA|.mD�2h�FA����ƀ�AA��A��ʂAA�(�AA�g�����AA�J��AAA|.mD�c�Z�V� ��AA��(����H���Bl6��b�� � RbA`���$h]���j-F}�B�����AA�5��f���8�k�JQ�2���B�A�X,���^(�g���!� � U�R�YG5�\����M�� Rc(��u��k{�����%��x��9�h�$f��Ə ��%U��AA��-i����L�ȸ�q���?/ݐ��/OMK˸{�Ľ���� � R��Nڻ�����}��Ϸ�kq��i??��G���\IK�w�#I{���*�u��A��ёU��@t)�����oV���������������|���fM'=<E�/?~��Kd���>s����b�5;zd������F ӣ��N �����y)((ȇ�!� R���痢TY��_|����L[_���}��c��_����3^�ӫ��旙u�g��/�Z榒'O;��[� �ޭ��3�F������26�:�&i�R�ȫJ�AAe�k7���f���ɹ�Ǻw���������G��/�����aw�qk�ڍ��m�d��>��/���~t�?���7nI��8p����~����SR�~�b���^����+WV'�O���*ٶc���I�6l>�|B�9i�������M���JAA�����CΜ=7�������mu���t_����_��S�����~Ö�ώ���x� ��!������K3:��߶}wxx��߲n��g�%"<���h>Y�n���>�tqhh�7_|�|��ć�̛���+W������W� ����vϨ;n�ڹ�=EAA��`i�U+>�����ֵK�w������o����K��g� �yr�-�<VR�t���/gf������K?r�x�?nY��^z��;Fܲn����=a��3)�7g��k���W����=�'�<tИ{�<t���' i���Æ���� � ⑲Z���4�t)�������&���1���УO���5k7�j����Z�G�&O{y��zV�Y�z�z� ++ ++����;F���o~S�����k�ޫW���o�X,�{��}���8q�}��{����s��?~Y ++��{voP?��������nղyl�2v���N� � U��Z� �����'�=0�yl���=}���gϝg��~��!����O��?�����wlM|��t�͏��g�@�:a�k��0�HKO�N����lӸ��p��w���_�(&��x��e�#R�� � � DY�ד&����ǵo���v�칿V����m��Z��ӓi��'Nmظ��_���vhh���n24o��N�<ӵKG�8y�4�4�m���7{�����o�~X�����Qwݶ`���,[��z閛�3�:�Jh��.�>�%��M$\ ++�G�4B��B��R���2x!@4�@D� ��HB(�n� j2�P ++��v�)B����Ds�D�:��גtmҴ���Ў�h�,Pi$}6��;J78����Dc�W�PO����J���,|��]A�Ԕ�z��[�l۾k��~�ee��V�Z>�� �������2�����K��ڶy���>��w��~:�ƾ�6xo�B��k�<���c�yo�"9�ƾソ�s�� �/��7�D#T��|�ʎ�Z\s,�w�]�r�dPU(��{U�j�5��G�"����R[��f��U6��� �ҕ�?�w�Q�%�zE%����a'�o�)�$�;,]�w�hȍ���)�.�%ޡ�R`z�7(%�Y[P9�j�XA�T��k��������/>��۬ia��yl�c�'^c�SϾ4wΌn ]��P�Ų��ف�w�3~�}��6}��W�����=������� ++�S��g������n/>��y��e�x]� �e� e��(+D)��i�2�i�7p�_)�@�S��w�K+��y 覬{L�y�0/�;6�d�D��7H�e�;�ȩm�h&B� ���P�cT �|4�(�Xy�����j�� ?�t��cS�"[�Y� ++A|���6z��o�_���ĵϝ���Mb����n��q��U���>��?��[�V���T6�NW��T�)�6�:*l�Ƈ�]T�(��/���"@����"�ا��H1W�A�� ۨ�ώRQɦ9<4m3!��q�L�%ry�ǃ�xP�q�t�86h�E�0��q�G��<��'!��9]7��TNi&*�s���ZW�=��hZ��5J�G�<� %�t�6���Z!(0���W%�lQ�.��9�<��O�x_���H�F:@��e�l�Ld^c�M2�VXE|�T[��/D�l�7�� ++�eal�G��za�ZCoT�:����#�f�8���M�@���)P���j��j1�W���On���r�j�g�n����f����J��$1?奒6-�,?��#����A�R:����}=dЀ'�[�mA*�*f闕�� ��(-'�QSJbb��R�����T���� ++�9�?ɺ��1k]�֊ږ��R ����EK<�"�E�|�) t��b�����,�rԩ�iT~�y�� 2��t^�:�-;g(S8�XG ]\�{ʨx���dW2l� �55P^?��#���� ��_�UL/"%Egw��"�M��({NͿ�*D��k|�K/����V�'�䥯.k̿R� �jz%&aL�ق"�]�~W�N�-�4Q̧������e]��p�Uŵ�S ++&wJo�v�~M8��W��w��]�`�f����x �!qP[#R��@y �5T[#����@k��S=�S���Y�5��u�_^t�9�ct�0ˢ隶#ޯ�S���R��@y+�n�PrWơ�hD~$��1/��`|'�s&��u)[9�����js����4�nB&*����2 ++n��u��]� R��Ly]CA�u5F^�F ! ���3�Ù!]�6��T�z�Qcn����4�ē��5y��fGf���b��US����T|{S�bZ6��p��S_)���%�}�n���冗w��IF�n҇FnE�\��*G��k�^\#�� ++��ǕA� ++��abB�� -��0�>3� ���J���$Meu��"](��rm�7��7�j7��t�/5T��al�����%-(p�NoÐ��E�`���N+bT�C1�Op�8��S��o�Yħ���v�+�]v�W������� H��k��(���γJ�Ƅ)�� 0�*Rb�&��:�m���(g���pQ����^�!�j��ᕈR�V%�Kina�5y\�O"/�3S�|�SWi"{�K_���=djm�ڋ��m�$~���4�7������J��%��A���+y����j����7Y�)�H2������PA����/�"�짢�q �-�@%�n�Yf�kO�=|���ut�Kf�):c�^-��dh��f~!������%àiW:jE��|)�/� ++�.,n��Z�M�w^� *��(*�vy �v��@@�ڄ�C�h�z��H����R���>���K(�j�d�RBq\j��|�͜��y��XJ�W�ϼ͘�W�c��MS�9šD�s�67n����Oi��n�浀��Q}�����Y�-�lT�$���nD(PɵF�B�ꌅ��� ++]Y�eUa�"��;(�������po�/+��Z�c��\&Q o�·���a�)��k���)�E���at�Չg� W_�t�-TB�aO�#���~��$�-O�{></�4\Ѽ�:ͭͦ��o�~��-lL ++jT�K�C�jT�&D��zm;A��nvJ�6SE)(��F��[k0i����j=dM�Є�s��L̽%3fk������*z���� ++��6wk� 5ݱ.Z6;��ƖgV���^�o���AQ���3%�u�j��v'L��-L̗�>)�&�:[���TmU.��c�r3��J��M� H��u�D��1��*/�E��b�¯o3�%�4T����j!�m[cv���Vi>IP�mhJ�@J�{I���-Ӡ��rv�P͔���e�yO�]�ؠ��,�9�)(�hwaT#�TB��(�m"WJe�8�zȂ\+�!`j?�=�T]_k�͈���4f' P���qˡ�cC����Ot�P��q�#� ���j�r�B�W�{/�ٟ|��&J��5�"Kld���&zR�X�,�%�a��$3ol�S�opC�B���:ֵ�T[��HewvR"-U��,����Y'��Uz� ++]��R���6�`2cH�����c�[]zK��դ�(�v`��"��y� H��A*��Z�{�N��Ų2�פ�2�ί�m��Te��HIO��o��KD�]�[Q�O�_1UBJ~�U�j�� �K1� ++ɪ����[A��t���7�d�x� �Ǟ���lgA�.4n�ذ���1()z���}p^!T`���Q���n���#�P��&rkA*��U�����]+�����% o�,u���v�h9ח��˂�j�����R%&� [����j��.���5^�W�S��]�N�b�ɶM��fW����|ev�OgK ++y���H�7���?��n8��o�a.�S�v�l��� �j��8�@ ++�* ++[���x���dN�����ƨ�B*�&x6�N&�ь� H�RRy]�e0R�����6e�ъ=TC��`x�yN^���rN����f�AU���˖*fHu_G��Q�!��Y��6��us{�cC�ᴫ��TLTx�Nm�mG�\�r0Y{=����_�-���ߖ�4TH��1-F��mo^A!߁@�)����|{a���{]����o���?��"�A��};�ݰk��c���wã�e���\��=�v9��Ko#�b�m��rB��ܯ�����-h;H�7*�r��#r}��������+�i���YG�l b��*�z+Ɉ� ��0u��O��B��[�.h����!D�"�!ٲO�"�ʫB���d�'kr���(B�����9,8�G���[B�����I��G'���6|�1����K�X�J�~ַw��z�oh�Ӎ�@��:�r��<�����ɻo ��Ȱ�F�";�h�l�vq�u�y0�'�1���)yH�g�l�����T�J�5�|y��y@�צ��� ꈱg@]���"� Hŀ� ++��M/R&*kpM��i�(K�P]Za��������.��j�W��}�P�n͙�]�Y�&�?��)Ȼ�*Kg�C���qWb�����ɳ��ܴ���Ng��� !7�n^�p|���%k��8t�s\,�@�����ty��UGϜW���b��?��v�^7�|�|����Vl���/��C�;6�Q�ԥU36Q��RK4�w�������Ĥ��H�yA��'% ++�PS�GW�މ��s��.S����(����j�r*�%�K�FwJ�~�#� Hy�������X)0_S»�*�)��V9�k,/�(�jp�M�������͊D$�9�̊�Iv�Z��6ZM�u� ++O�W}T���Ջ<z�"�8E���Kq1 ��l??kX`���R1;/��c��xhL�����Bǹ�,{�d�o!���OϺ���$*c�r��� �Ϥ��h� (�Ft�o���Y\���_��iAAJ�'�6��{#1HQ>��5ռL0�S��ڵ���u<7]ⅻven��O���� ��쇅�-G��P^#H�b�� r�f~����Z�e�]}^�Rc�a�J����D�P�p� ���[��1�ʦs�Z�umv�`S���F��bDh0�\��g_s����@�Σ��3�>;n�}��6'�켂̫�Wrr���7C9R�ߡ~VK��/:,dd�nN�x�\ ++KO���o/��:�:�h���i���jd��]�Mdlë�d4��HfiB�f^Ck-��&��p���$&���G9p���Y��TY��s4��!R�`��8t�W�Ƈj.I#P��;�u�UwFz����C�����Q�P ++�fM$��dC��� ++�tB��� ++�N�Ȕ��)Z�V P'$((��bzfB|K��:ЋYW�Y�%"Aϕ�T�������2�G����_��ԬkJ��8�)�����НGO���y2�# o�K1u� "�&!�>9��ngy0 N���ٱ��IV+��)\�ei��E�'�'��%� R����R��u�(�UҺF��=�~�������+�E �&_�3P�;ژ�Z�yaQ������E@n�����}��ȗ��#���XD:KX����� ��r��¸!}/�g~�zs��o̠^������B�%䵚��.���B�B��*���G��8���9;�RJ�!�q�d��mt�?u!5�^�4�tkE����zQ�,F�4��U�.>8���UU���J�"P (��AWC�paCd�?�~M����l�SƦ/4A*tA*��ڬA�<�VV��.mo�{zw�_�����Q�7���0}�/;DPAqQd��[�q���f����[�hl�?��|ru���"�ǫy���Q�PtD����!ё�.^"�o=p,���(2\�a���I..��E�W�p5'�tjzƵ����YW.e^�تyR�)NR�m[�5C��� 0wb";������D$�5�a>�C���! 9e"��X���@,�ba_�p����:�(��B]?ݣ�$Qn� Hŀ��@M��U��i����4/)M�.�կr�˩5��&�������^��bF�Ժf�3W��bm���C�R���YT�(��6����{���!��ѳ�j�6�_��U(���� mZ\ʼz%7�g�V�����+�uj��w�����_j��g��o�(��q25�nXhݰ��0�h٨^��ڇ�\�.N�m�݈}ɧ�CC��8'+uw�US7�!*_���x���<z�2Ҹ)�q�V��l6�����8�c �҂A cC�����m���]�� �k� �&r�ޠ�ki�?B� �t*Ǩ�d�+9��A(��6&��3Z �$5�\�a.�ө�3�����/�3�A�N<�!��m{��>>j��)n�}��ً�w����ё���Zn5��EM�EՋ�V;���[zu��_��r����/�|U�6��ui�ﺱ�L��*��;��#��lH:�er�ө+�N��c@����gbJ�}duJ4W�op1����}u➪ω� ++�k�Ei��*�gR��K .�P��s}Am� H�CDG��Ln�!>��m�G {�mv��eι�vgPɚ䖠 ��=2o�-X���P�h#&k�4bL>�UH2Mq��T�K7�jb�9�^���J_�+�ޙ7�xuK��8���E�|-��6���\>%����tV@ ++}(ћ�],Ǧy���(O��@�T$(%���l�O���;k���G�<��W�G�ȗ�P�[�7n�{�{�x�>�z��r1���kt� ++b4��t��mt�WB�N"]Oc�ֶ�PR� i"�o�eyL�U�<�]�hm�9wx3Q�@r���1���y�ʋ�P�z#O�_ ++������T,�"f7�X��Ģ��� �IDATn�$UF�Z��1��0Z�*KP�F%1\Z�.w;8�+�F���+�\NA��p�7�I�o�,��x-nf�QJ"Kz� !R��X^?7�����윜^����U����r������/��mԍ�R��eG)"��O��zPUӨg͊i����D�wn�@�A���0S|�ǁ[�D(��O9��(�Q�z�O�D)���W�o�~�eg.8���z�97{!�g��r����S�*EAa��{�N�n%�ޕ��5W�����<�;.�%��y���� ++��ztoCPY#R�X^�����3���-..�m�RV��D�T��N��v%L��6qh����Z�d��C���8)���.�#�-��B:����� ++����Y(ͫV�ݗ���tA��E)�&D�?�4�$Q�;��w"�^��U �AWѣ�c]%���W�ڛ5JW7�3�y5s�7�q������=�p"^��ތ�A���7� �#|,��yr�O������M���'<~��w����PJ�8�桃�������נ~���o���رkϜ�>��c�{vgE��aAA�kӟ�m_ʓ*#��=�g$�w�z��sUm|�ϥ�^0ѲzQn��JJs��h����Zs�zM�I�)$㮠9#��#�ۭC$U--� ��G��`6q4�p��C�*Y�&���2�a+���4�V�2�ۊ�m��$��u�L�V�́�Ǔi=,�;����F)_|�z箤ɏNy�m�&�@@��Ͽ�TR�8�c瞸�橗�N�9;��!����Z�������~�99�ys�{�N�@~���3g���#�O��\�W�lu�P��(q~EB(Ȼ�D�G��+�O��Z)+� ��Hjjjk�&�Z���f��Yc\<eM�cb�k�2DZ�i��p9^�6��E�h�ϛ�5�L�A���[���;3��*Ƌ���v�W�3-�A`C#�_��x���U�j9�`h�DZ��$J#K�1>u�D�K��7c�Y� H��K���CG�mߵ�������>v�=w6�i����7Κ3��ka�k��������ҩC�ڍ������e�X,K�������kvN�K�?p�X�A���6^L��R5O�w��������nz%-�.ۊ���?�v44l��||�[aa�25E��6���)�uك���0��q���l��i»=��D��P"��1:7��#c��Y|y�7�P�0�C(e����%�7 �,�5]�Jc���c�:�,��)����6?� Hy�� ��o���S�##"�x��xSj���(nڼ�}ݰ��A7��X,�lu����)_'>0�Oe]���#Ր���Rd���PUMr��U�WA�[��K�4'�U����3�Te�D����0̙�B��:��mpve"�'�)�y��:I�^�&Fh�r�-�ʸiԧ[EXq���qB$�r�G*�؆�@P�P"����Y,�,/�*R[j��5�"'��=Rd�.r��DmSAނS]Ie���ʁ ����Q�I ,@A�� �)��"��� ++���u%���8�<X�A|�����+WBn~����cO�<�u�����m�.~��-�p)-����!���S�R{��Zv��]{~����}{)�F�zsx�:�?��W��@��(�yP�_�U�I������ ++��x�5j8Y���N��ǂ*� ������~rIm�$Q�ݿ�G���,�}��吝{+�j �����d%����Tؓ�B�3�~4�;��B��.��@@T>�ӎ�!����J�d�"�������,��z,����F�J���(�y��+-���3.�P�a�i(���v`�B�+&���u�rs��x��Xɏ:���s9A���7�!��{�.��%�����sSf͞���M�:����_;�7l�Գ� ,=33�S���a�M�^~��!d��O>>��1����* ++kR���0�����c�bW�O���"u�?vڨ#�Z+% +)�����������"&W1k�J�E ��I� ++@D¢�PB�M�(�l�J�A���� �E}��(�ߤ��1SX�ё�o�yǽA�֨R�zWUU̖� ++��Z̏ ��bȩ,XtA9��}c\V*��\�4�p�O�K�THB��<nn��c � H��y����{���6�5�8��~K���~���ƌr_|Ƞ��[�{Ͼ���Я�������j/��C��֠At�a?�����0{� ����5�Zըfr���ƃ��o.v[1���A��S��`I�� �zQ�*_�y9a-�^H5�u�᷄4�|c�$��ē��XLg�-�0�_*�8姡�)����:B�.Ȇ�6�� \��#��b����E��1��P��v:��s�v�E�tJ) !�P"�PJ �u<WZY}a��%��shm�Ǟ���1��{���Teu�{��n������6��iȍ3ޜ�{�-o�榒�MbZ����۶�2x��n�Z�Ʒn�"֨�/����=���?X�N H�¤����cR��!��Y�5�]��o��� ++�[��yZq�d�v1�%��횂&-y���BY5m5�OaǼo��Ϙw��_r�ٱ���c$�pB���Q0�X�X����!������4Kq�1���+�9��Uޏ��EP"�PA�B��kJ�ʝզpw��:�Ww��yֺm��E�B,���&> w!S�s��D� �;� R��z��K3?�7��s�#�~��+�xx�3�7q2x�ǟ.��l�8k��l;��;�~�ctt����n��w�Wf�����{��۾e�M���@��=s5(/�կj����\ۈ�W�v��K������p�vu��CH�J�dQ���ªV�Q�&b����9T�x#h{� S;��F��G�RH�-�ݛj��X��5�K�$�İ\Q�A�)�?j�2)/4\�N�n�7E��]B[�R*= r6��"���F���~� He��|��F�{�-^:�Ə?]ܫ� �ծx�g��G ���h�Չ�P�)M����f�S�"m�E2�NB23��-��n�����j�+�~s>�a"�H ++���|�F�Z ����uA��I�=ū��5�TBޓQ�?�c�W�@�F �_H�k\�ع�*�RB��gMh�b끣� �v����� ����(*�Z^����B�7%3��jZ?j��3@(���^�n�����r��9��*��O-�un@���Z4�c�1р(�r��_t~L�^�pR�f;��'��yU�B�L�W����B��_����j6�q��A*":�<gr����^xi&�̙�j�^=tݟ��т�3�*�K>��b�M�;K6�sO�����T4�ɦ�Y�krIgQM:'[��r�2;�8{��� c;�ʙ���Bc5�����ٓ?��5]�x���������^ ��� ++ ++��ϯ��u��g�ޱ��G�=ptx��`ݮ}�BGߎ��MMk�d˞�M=�:�!�y��.�Z�atTp����<����um�(*���w57/�ߖg/H����m\B�-4x���m��[U�.��t�b�o ++�w�7�������+�I����5�@���:��䅉�J�*A����/E��Z���������Y����/FaP��В"��JvaI+�����҉�@ �<����� �urS�~&�5� �j�W��`�ש�������O]y�m���LJ��!�n�/(��o�,�ljZJzf�������o� )�dl�Wsr��V��h����7H˼ڬA���I9y�O�mݬ��b�k�(7�ޢqQ��Q��A�R3�#�lc/(�X,߮Z+�0���1�':�}TM���i�o*�n�[�$���juĉ�搨C��Ю���-?�R]��R��pAv�?D���ss�'X� �� A�"�宍R�1�|V�u%˱$M5{ c/�C��:\^�+j��"�a��:���UP����A��8<���e����k*��@$o*;-�Fk�zֺHS�Q�`�z�R���Y �FF���T�$�ʕ��w��-t8(�V�:q�A��6��ddvoߦnD�v͛� ++��q^ ll�R�^P RڪYc���"�H����dfJ�M���X,��g/4��KEJdwI)uV��J�~��,?ab5J��{�hȬB�)*�O}T��ʯ��ݓ�p��B)U��Ox���̎N��IJ��?���S�w0� GY�C�\����9��K��p�9�<��W�@@T|)8��攤�&>��mR��ШjɝW�-`j���t��V��5J'XeYGu�إ�k���h&����:�����G ���^%�]�[<q��Qd���.HJ��PZLJ����6�L�|5[�o��fs�(x������P ++n�2��Mh#�8���]6�*��]�����\�n��Ɩ��� ��� �7Xx�gf�~�to��.Բ����x]��ZKIF�A���T^�����T�4�DQ5Rvy�@E��(i��|�ȶL ++���;'ln�J��b%�R�:L�>ǜT�E�AMI:r��*�T3��8*�1�F_$ msN���� �2�@������wCേ��o7��CD6��ê8�(�3z�yLk(�N%��ښr��wl2��ұ�PP&��B� ����H��z��(!�Տ�NJ��Q՚����Q�DꠔZ4Z�ʎ��&*��R��w�*Lљ�R�T$�tGE}�������q�m#��~��5�k�F�Ӝ:a�(KP&>l2C�r� @�S�=|(XL��R�R3�����>%"�R� J�P�Mʨ�:f g=�.���`�m����1�(�C7�7���Uh<��y����@�)���A�p0�2Z�] � kX��oA�;(��"��0� ��PΉ���P� p�3�r�)�P��(�j"yy������� ++nōn������;Q�5,s$@�@9��a�K�wi���5�L�0#ȥd?�)ݢ���,�?���S������x �-\v���Q��gL(?APc�pa]g�1Q3�=�;"����E�(ᴕ�"H6yAV�,��5k�����TNQ ++�����7Fk�,�� � D�P^��;G��"�T#�"T��[E�a� I�����p ��(�t%��g�R�Z@^} ++m�;eO ++*���ͼhbVIE[�܀%���Q6@�,ZA�:O�֣(@"��^&�U[;��,t7��9Z�BJ�ׯ ���|}9�:JR�:�MaBZ;- :�7�h��i�ļ�F�]�^�/�8B+_8I ������#p_��E�TT��f �5�fPW*S>��f�Lߺ�H^@T����A�"Ay�T ���U��;��6`Imp�3����P�k���Ys���´ ++AVВ멺jOv*���j�&D�D�6���L�a�/�Eg��^J:L6�J�cU�ɑ �����/�U��%�J=d��_E�����������bȥl��5Luᖯ�;l�9'y�d�<_�*E�#�䮸�3�嚲�;@�� 5�p�P�a���[ܹDi�D�vb�;�FD�2S ++)m��JS9x6�sQ*����R)�܄(Q�!����RQ�O ��sJ�>9� ��k���z���g���(�����ɛ�6(�"A���������6��8��6ɀ��`� ��� �Z�6�8�����G���]a��������������:}�\WU�z ++���#�1YQ��n��= +++!zDhBdi5# �V�Hԃ{L֔�4�[�ӵ��\���{=*�W���E��]��݁[%�<,Pz��ֵq;�sOt�uۧL��a�.�&dʬ��v�@΄�U��UZ�� �p���2�t��Ѷ�;:��}�1����̰�w�b�C�3��8>�� I@�n����Թ��C��� z����s�d��?��C����GB�L�<�Yw�z�>@��zp�-Yn�EY~��:�d���p����M�2�;D��v���Xf��E�Cr �Wƶ��mK��J,R��_��SM=���n;r�p�Y���0<]�� ��H@@`D���G`�W {�Ȼ�nd&�xNM���h�c�@:�-�A^���������[�G�y��@:�/���.�DD"`l������ۂܧ�k�N��v���v5�O�ai*�v���҅{��r�d��m�N/@OW2B�K�3�#mv��˺h�J��zc�٘�,��"�OY�:�,l��%d�&i-bC�5#�¥��SX�8t[����]X�Y�W�ߥ�M����]l%�y,�S?��C�]���}��gc ���p�sz�\����.���,S� -I�ơ�i�Z4��o體�� U��6��ù�{�#Xw2���0�I����� W�%�}`��~H�|�&Ǚm�x<�Ì��L��P�j��3�Rȶ�:��җ ��g�EY|���,�8`����`v\,�?����1D7����={�^���0bBΰ�6a��Z+�2J{ �C���d��:ȭÇOOgE8D��E��\f,��B��/E�A�ú���A�;a ��fL0댎��:��ːARm*�6ѓ堖�jU��*�>�bӔ�%=����i�Q����>��,��� ++Ü#6㙦d�@D���0��s�����>N�'�ܭ�>���]����(�\�C��y:�{�#M���"�,>Md�uY��/z�h�(=T,di��b�����l�$�D�c��yi��b�6 �%䨲ns��n�k�~��}�&��a����3���v���2�|��\7.�G�=����2�����3�"$7p:�I�yX�J��gf_ d��|T�d�An9�=��-K����D��n�N�ܲ�V����?�:k:`�b���NhYy�%�Җ�=+B=Z��Ĵw�� �Yui)����;O+�-�[���l�M�[g�E�Yz����GS�{0'�����C\�؊#s�dm�M"t�PF�t%]��G�� 1�f�P�aǣ��s��o��{��� �7� K@d&g��$�W�LJT1PsB�� ���3��Hb�CΐlM=��n�����d���DY�xN���IZ��tG|�����"R+�ܻ�.ML���~ ++�!9*�Á��4<���`X�{v%ݫO�7��/�����"�vY{L�q(�|-�yY>�H�K�r�E��C�z�e��2�G���ɀ��g�IV�<sZήl�"�,�'��ן,���?������P8���x����2.�qgGo��̈>vM�䄊��59i�P�|(5u���)����ڝ���&��� �"�<�PQ�*CPǠ�r�B@, [w�܈2eII̞$�}�����\�+�{��34M{-#KHu�!f����J���[��q�x�tN�2h�QZ�M���aJ߂��c�T��=IȰ8S�'�>#�������=���]�MOqEt|#�&�����.fM�0Wvخ7��~!�d��H�39��~�>���Bx# ����)�Q��M8Y*�"�,�����Y��csw���0�N��z��!��g��Q:�W:���g��nm_���-L1wi����a.�C��6��-�س�=�$���/�����DS�M* ++h94�0�0�82ΐ��Ģ ����1�� ���?=n��d��Fpm�^w 9�ma�"p̸���;�SdvƝ�h��� ++Ѷ������Y�վ��s����+{��l����i�a�/-�D�W�P%~�ҟI���"�B��>�A������RD��_)�a�y��m�� ++����������Yd��aG�^�� ++��N.!~ʧ�� s� V����CG9���B5"�Ɔ�"�u窬�~g��l{��֕q�������1u��~D��' I� ]�EUŇ�q���G�dW�R�q�>� ++F@���ң[�pwj����$��g��ĚuX�K'��|k<�/9�49�۶3����,�9c�6r)A N��T�.2c %��+�����i<�vƵ�o\.k��=� "p�e,���py�3Ӄ�猐��K��N���/"��{��<�<=c�,���̜x�wZ�� �IDAT��fI�C�3����xYd�ŧ�,����.�_���9p�i�t%�#آ���Y�]��~�マwɱG�D+���<����DƱ�zj�̐?�i���n�o��OD(�/<��jq.�1n2����$�g�c�!�)�6�1�"�#@t*�9B`�4g��$�V ����M��eM.��:n�],��p��S0��֯b��0�L!���sk֓v���g8Tv�'9�w�'w +C�[��U�� \�����~��]H����9���,Ǎ]��\[�Ǧa�З�+$�Ń�L[���[0tz;��@@�3�2ʗEYf�k�:��eYd��h��l�8y�.� ��Dtً�`h��7$8���}+�Y���ؐڇ`�����`�����gҚ,��`̫�l�����4� ++�1D�R3ƑYA"H� IJ�L��;Ԓ�$�psB��C�2H[�vjf���ә* �ݰ�Z2�w]���A���:.C{E�df[����m��=�D�ğ���Q�%���nu�+l{�6`�ٓ�J��!n��]��A�����+���[,����{�x�Kz_��n3ck)��}L`mv�,x��VՑ�����H!2"���q�Թ�������W�Yd���EV��������-}M!�L..�0]jqhn��6�I�1��"��� �"�H4B6�I�Y���j�KKޞQ����0&�$` ++^��ZP|i%���"�ET�W��0�3��9�c텗���!� �C�s�6�'{q��{�d�����.��SFS��/3'W_��H<������`���d�d����l�2��- >=W�`b܈h������;�0;�����iM���Y:�8XDY:�����a����{�ެ��E�,�!�,��mp��L�7�����El:n�oBDI�w�j�#���=��&�,����A�^g���@k��$������U�fH �c3��d��4�v�i�DNF�%d[�("��\��s�K�l1���i�C����a�i[���W<YO����{g��4^�r�JXS�*SU� �����{N���L��EM��X��#�!�%LW���q.�̊����x�8��'���i�k��p����#��ed�T_�E.ݣ�����Eg���>���s�̦o�ݾ���&��Yۥ}!#�Rk����֢[)'����y�`M'<S���$i#�d}�a��$��d9v܋�j��ȫ�g�EYd��'���,�08j1P{�� S��U$,�l[��+�Yd˩FniѶ� ++�@"/�w��o#��_S����'WHݴV�V[ʕi����!Z��H����Z�(�x� (��t�4(�ؐ� ��5��bYD�s����iNHU^2���MJ&���I$)��ߗ[hx��r�["[��F��tӓ�r�l?��.~�@�'�ْ:p��v� ������6}�!>8���ux��D; ++ƽ@J�ʠ4�����稿�=���chEF��w�-����=f���g��a7���Y�3��XY~�o�x�U���_ �wDҭ���D#̊��"�,>%d�u�k���������������6cʳ{�$�j�i*#)��̱�:.�C0E����+-Byy>Ƭ2!k[�?�9|���∶�l�ph����Z3�9[��(�JyHd�''!~���������q�kB�∖�SC��S�ʙ�T^�poL75DE7bƖ����bfA% ā��$)����+qt�����c$�� ��Ci����{Ո0�nHD+�%�x�qp�{#����$�b�K�h��gRHǴ#2k/7���ތ8{@�D��J�� ++�6�>��+�-��D8c$%cܔ"m� �YV�v�L�,��Y���=*�Z�k���AB&IrB~��ܐOS��Ud�qƤ�d���2 <��G��@��<AZ�r����~�EY>d����(���C��?���$�|]��;��E~{��!�2 ++T�%��&I)�zs %�]]VV���6v����~��k���| $m�����#��$����fU|��ƺ�-�<����-��˯�$+�CJ""��*�J�KK��wn����|�<��3�i0nni�s�<�[�[�~Kݚ�� �/��XR�����F�Y��=�)Ƞ/�셳ٴ����eo����[���[5y\i(��t��XW���}-1�?ﬓW.qΒc:������$��8�����U+��=RO&k�n"0����'�U��̎�ƃ�vL]���v�N^�������r��=���]� ������s�z�|̸�Ɔ��2 �hn�߾u撥}�wm_xڲ]��u�Y�~&1/��`�V�K���K%�.�_|�k^��.>��~��8u��\Q�@�����n��`$'��8����|��M뺚T�̴YD�J&�K�T ++��Z���H8�p��M�x��/\�������6��L=U5qJO[Ki���=ݭͪ��8]C�0�TK�~f?���3j�n�jmB�b��ù�$eO����a��NĢ3,������?|ò�:��Kv�;}g7��G>���nN$���&�ڲ�dTՄ�3�v�(�m��N{sc{s#x���7�l���SH2M�-�=�̹MYd���@�^g�#膇QS�*bzJ�P���h*�F�*�Q*� ++�~{���~#qͬ�BOЊ� on����g�����<�ztN0���Q�A]��._����ja[m��'� �O�C��݉���Q%,\������q���Z]���\��=������ۉ�[/,=�&�͵�ool�*�'��DASG�+�?��ܜ@O_,?7��E�"�����:u\Ykg�)��RS��U�z*������c�1�O�7MΚZ�j����!�nL���ݴ@Z��%��'� �g*�2m���P(�H�ę�HҴ�JGU��QU�M u۶��A��`/)��D�z�k������m�7!���S�xߤ9�C��"��F2>f未IS����1��N��oܳs��������Lj>ߎ�VV����NYpTqeu87OQ����)�Q��M��`�� ����'�O[�]f�ų@Aڮy��s"N��ꁎvCO����B}����މ��������Sp��{���E*���͜SRY�E��z;ڌT2��l���q�)3�FU5���e���T":дo�ԅG'cQ�W@TT�3�*����(��M�jmn?XKd�a��i0� s���:K*�U��h� �~D{���ISK**�/����++ ++�Z6�JA�}jՊ��3�,X��`g��ػ�b~"E��g�j��Ys��`W{�@_���-(�h>��d�YJw��{�-�ܳ*8�xmE�d'�Yd���D�^g���s�<�r+i����aG<�\pEAD�[Z��zc���|Sg��;f⦭�����|�O�&�� ++����{Un$��7����@A$��4��R���)`r��SjJ�Ŏ�zX���0���Nkjl4t�����]�H"�D���Br��JQ��3�,��$������!.]8��S~���X��v�� }���d*�oi��Ms0�0L��@H��s*��f�{{��%�'������3&�ں�c����4O[��ȉ�XbgmcGg�+0mb��)56��Q�i���&I����陵䘞���}�|̸pnʴ��*�HNT_0'�|̸���y�����T"^9yr�� ����3��`h�8�Ѿ����w����(�X��ɪ�ʉD{��m\CBɄ�����x�킊� s��o�Ҹc�EG���I#Bna�/LD��X˾ݽ-�ß���K�D@��q�|�>���ܢd����ʉSv�Yi�:�ܳ�]8RTYS1~ra��ʉ�ٖ�^U�Г�?/�B���v�yǁ�S�\������zÑ>�lo�WU�}w�SN^����U�M+��2�T��-����hT���G6��Y�e#8��W�@��g.Yj�a�jw@Ieu㞝�5cz�[z�[�'N��ܼ�?�f֤�sO����=���Κ0�8?xp ����fO,�MSۣl�Z;|u=��;��;�L����(�6�q���k �����L��;ô�$K���"�ÇO�^{��[�������J�,^x��&��I�"�,>9n��������&����攞d����4B�����G�I����DC���G�-zǶ���%���[.;���ܽ?�b��?Ľ����H7L)��ꊽ�MBX�����WX}G�SQn=�8S#��D�@����~ǎ���K��`���&�}�K���U]7��nx�-�'W=����Κ��z�N�����S���������1s������>Dd�Ia�vt_�l懻:�ݰHF��`��ަZ�y^�gʁ� ++����P~�ҥ�߯}w���'@C�@�ބ$UUm;�_zh�̼��@(�'D�_TBBH!���¹�<&3�J���J%��~�?� ~�����#N:�~ۖ�}�g�x�4��֎�:��|TKcŤi�c��Z�Nos㼳.PT �4�4��7B���c����]���L�w������9�mK��I�m������ �(��65|�>��{� ����'`_w���O���f"�s�E�cc��s�9�R ++f�����>=C���uyť�X���`NQq$��H&�m�{�Ϟ�w�{��g��ށ������Ec�Ϙ�ԕ*/��*2�C��tjUB���;������h�K���/>��S����_����U���5n�0�����L��AXtĘ��ps[��q��{�g��'�=�|�"a*e��[g%�Fͨ�W���D2�3��XӀ�{��u7���ϕ$J��r�� ��Ȧ� ��Ǭ)$�,�8��8����a����_\��+.��֛F������7�z��>3���o��� u��ZH�P�~S�vv�+�����M]���i��4�(!���0�*,� *Eե���(.̻�����$�0wR4���}�}ͽ���x"��#�<�~�@�ں��u@�t�Ǯ�x���y�aN~.g��ިq�/�i���$��n��N���O�G*�5U��Omj�I�7Վ�.^�������{��+�sVm��?����=}���Ț�ۓ1_k��SʦM�����__L�7�9���g?����Q���7n����%���_Z}�9�r�S���)���>����u�����\Q�nZ7�����넞bD\U��R��,�P$��vw��0{> ����Pn����IS��jk���a*�"R)�&QTY��������SF"(w�xm���ؖH`�J ���p��;�E*5���H4~��P^���|����I3�]���,Xvd$���GD�ι�Q��W>�;��N_[��Ys;PT���2��Rv�����+-W|�1��j���q�֚�s�] FM������X�_6�|������Ф�G�ڮ��9�+gL,��o��v�g�CG�]��ebRM���k>���Gd���e�R�@�� mj��Ha������h'|�������h���Ԧ�����A��l������_'��7�s�}��k_}�S?;��g����\?�������KQ�E���N�ݱ���!�i����?ح3����� Ū� ++N�!�Z�#�@,4���Yd�����U� Ӹ���&���}ttM��}���ӦN^v������W����g؏=��`4��/~�����D"au�ƛo[x�SN:��=uY��"�?��T�b�� �~�lD���dR2Ӕ��K���h���~]������ckj�I����. <��QТ��ݴ}TYQ@S|�u���ظuRU��z;p;{��� C�U~��ͨ.[0i|@S�sE�@�!ɧ�4���v!"����N}函}����m�Z��kozf���wn=�� ++�0����{��z���U{��K�zk�fN^�d�L@�鞽��������3a�FSȫoYP�K��t�����_�̑RRck�^5�*�z�~v��3��x���]���vw�&z���_S\U3��R�8�$������`MzQ"���/,;�̺��w5�{�y]�F*�RT�)�������rJ�U�_�E�H��Ը����@������~��ȎR)� ��ooQ|�5��,ITN�������\^���ѳ�����T"ָ�=���Y.�%�'���lY�,�h��>�$���;������]�+�̈]5n�b *=��u3�H�b��x%�)-G�|�~���y��q��)*%�@(�(l̬{��7u<��.����Ng'W�ϘX���*QU�LE�5�u��b�i{�'�$��l��9�۷���3q���6#��q��v4և� ++��K=ND�ڴ�3�`k?"��_ڛJ�s������7�`s�����c���!�20���$gL���ut�VUַ ��g-<1�C����{�AH ++I��O|�A���55���M$��a�����3k�f�EY|�������ݓL&�|�~�����ӓ;v��iS'}�s�Y�`�S��ٕ_���_����9T#�]��ֶG������������}��',=�PG�۰���{8�����������_����=�^��+>��/�'���{���]0<�y�o|���p옡����{>ؼ����DZ��-�c�A&>��?�Ӵ�7g��}���i&E���T��?��yg�`Qi~*�2���K�e�̔ �G͞z�O����T�o۱FII�i-����UR�eE��=�e���ξ�����뽃�������N�VY:gB ��Bi�ū��3�2����?����ҍ���D����������S���ԁ��������p�o��{�-+���8nvkGߛ�������y�Ϝ{TIq�W��{{:���ҕ^�ʊm���=�"��HR<)�;�i��h�0mb���e�p$70q�Q��Ѩ���DM_G[8��������F���=���(�B��� ��"������HAaokS����\����@^q I3�Ivw��dop���s�"�O���p�-�� TT�ɳ\���,�ٴmKQ�Xθ?I���"��u��Ѯ�p~A(����5�3c��j5v���s��mAi� ++�<D���e��9�E��w��6|�>��R��I�{V����E5ck��@~E�@g�`W�BO$(��� ++G�z?\/Ɵ�vG�n�y�F�� �q��N��rþ3��xg��Hط��s��I{�y�V�Z���/P|>�� ++/d�R5uv�i{7���<SO�����9��}W���+�;Zf��l���i����p�p�)3S)���[P�S��0R�>x���=�o��W�d�b��Ҝ�?�SfN�^��Φ������̘T�nsc,�X4{�������0M!IJ"�EA��:��>��*�Vä�$0d@��msAa�(EZ�2�,�����Ǣ��j�q���=�9��o���W���o����R�{��}��7\~م�|틷��'�^x���{(v���v�]����;������o߱����_����}c0�g�Bn߱�������ӷ}�.!>���-���i����/]�/�m(6o�v�w~�s���Y��t]���bp0��)�����W�S�ϯo%$3�"%�����G�nxwO#3M5��d��- ���Ტ�K�wwG��싮ۼ��)$m���p����K;D�h�H������]��,����˯�3:G��F�ʃx����ѝ�Z��H�D�mؕ0����!�)@H�ޒ)6��iՁ��W��Ϭ���r��1�%�y!$j��(�{cն����S����>q�ⱓƔ ++� R�7�(�&�SR��B@K[W,�4L���9� �i&���[�������m�5�\)��o�J�4�vA9�ٖ�uw��}��Baf2����cݝ���SX��7�T�z�_� ŀHRn�����y�6�݉� E07�1cs(����!�ܲ*_�bǛ�S��v�~�5�@d��?�`�G�� �IDATm���n�*)L�y�N��>u���f�PFW}����j��f2ټ}�4̼�ʶ}�Z�-����ݻ杜�2�mih۽��m��a�����&���]��u�7�{&vn��q��hBol�� )S�x�����w�G�m=��Ƭ��-}��;��QuL̈́] }� �A2�9�|ӫIE�{�F ++���D{�U�imԓq��j��\[�������E����xycSJ<0 �]4ob��y�?)�#�����o����Y}�ɳ�)�7O�ް���^���������������ڂiUw<��/�#�Oa!���M���TJ��� �7q)��yI(a��2��� ++�e�EY|�@�������_� ++���+k�o��~�����q3S���y�W��-\0����!���{���e\�k���N9��;o���Υ'�#���\p��� �\���u�N�t���Q_��w��{n��OW�Z���{� ���ؼe�nGΟ��:���ε_�y{�{��ΞuĬ�0��[x?����γ�|��n���M�ފ�����V��noo�Q�L?��V�]���߸p��SN>~�IU�۶�Z���Ғ��- �B��蚵�=樵�6��7.�?g��I�nݶs�[�JKN8���546?��s�>���wޢi��㖤�ߒaB�>d3�l��qq�����C�6�ʫ9��4dAa���t!�!��)����a�U��CU����� c����^�CG��Kֶ�u`������ƀ# 2�8CQ�#0���3Ua���U��Sr!�O�*vw�*���V$�� ++"#�A ++��DH@D(e��8�c2I�[/���� ++r"ChR1��8�)�-D$D`���9���S#�V�����Ә�9W�����`���%$&MW+s�rhdT:�˘8 ++3�:�m�������S�ѭZ2|Wr�W����v��_a�.9��.`����9-�����R�����T��*���} ++2�HĐCsDƬ��(%��))ST��9��B�Pڥ�m� ++�!�m�1C�{����l�OH�Xo�OB�% M��� %��\��Z�JR`<��e� !����RJBƻ��z<�@������OS5���B�v���~Ɩ�M����K����AYd�E�x�_8�c���^wǭ7��z�;��znN��+���O~�7�x��c�|��W=��'.�w� �]w��?��%��\�Ϊh,��������v��k�����-n��������t±���f믔}�ug����QM�-��??�@�x��ǻ���~�!o�����������;���o\���>��64^u�5�x� ?��;~���^{�Eˮ���W��~�����o����o���S;;��p�#/=�Dss�7�����Q�d2�����{��,;�t����x��Ǝ�ik���}?�н����g�{QJy�-w��e��,>u������H8��c S)�������U%���NX��k��$ h ++��c�H(��585��~���_��� ��mX^`D&'b�P1�Pp�@ rIB�),ʂ���Bu�TU�K%?w��?=����$٘V^ؠ�����H"!CDP9�8�M.� ��Τ0`�#��US%i�!�'��ȈP�1")�0E,;�ŃA��H��f�l�G21#�+G��W��!b��Jΐ/G�����eU���t����>��!��v����4��Ǒ� 3T�*&I ����~�I���#������8� BS��Ǥ�`�!�����d��`RHIV�pD� �����䜛�pl7�K���d N(h!4�1kh%)��G}�SxWT��=�*�h,�� �1� �$C�{-��d,|-����& t��A`�OAI�4�@Pؼ^e��z�:������1�I#��,��"�O�^���[9!;v������?�yWW��a�;�.\0��?=��GW[�}���)�hx��+�?�����~��6o�ߙ>��c[��x��'��*w��}ᥟ����{���������5�N?��g�{���/�����������lN$������_��YG��}����ݼF���yy����T�x��y�=K���Wg�=�KW_i�C.��K������]Jjlj���������w�a��������Oe���;n>���/������ͭ����(w���+����?�a*�f����9�99���Sۺrá|���S�����IԈ�$�))�3�ԍ�a(�T�U$�~3�g.�~e}=���8���D���L2BD&�3�5� )LɅ�)C����pOO҈���˖�y�Ճ��$�$@�,���Kʔݪ����AQ��E4UY���I�u2 rkS�4� � 4��\��(��Ea%�2%HDB""$0d<f4�bڤpw��٨�G{�H0B'�/͘�pe"�k[ywN6�[[�<��\���U�[X��E���g�b�Cطw��p�����> ��v�s̔�J��Μ���9 ��2� �DIQ����`p� ��|�X���.�~Ē ��N� ++KB"&�"1�����92F\�"�� ƅ�k{�IP�c�JƑ��,�>d\D"�������D�+����4��>��s#8C0uP�;�@�d/��ޓ<�v�WO�! �i����M2Hc���+ ++I�)"! �� �ޔ8@{�Ł4 ��We�E�{��5�ܪ/������ϧ��RJ�����s�>���;b����N?�����6k�[+V-=vIuU%�L�:y�Y+�yעו��nj���5Փ'M�`��C��7�ZYYY�֊U�000�H$kkL�0��L�8}�k���v�wt@4[���|�e8����y�=ᄋn��jo��ο��G��W^~qMu��}��#C�8���_|�Ն��o�WTTx��'@nn��N}��?j8F|���'��g�<zJъ-���T2)H]7� ���8����R�3N�S���uH�LIȄ ++"��B_0 ���<�ں�}1e��q[?�6dD��I�@�d(A��!�R���P��*���ݯ*HI�h�Dp�I����[��t��~k��v�B*�ALQ"d���[uΉ1T�Ɩ�).%�����⍌���1n��2�����r#�<I�!1"R���r��hq��S�c�c' wY�Cp�\d���A���֛�4�a�<��k�瑌#>X��Y]Og$RZ�Et�B�s�.�)�#��=��T{ށ�*]aCa�~�<��o�yz�������*�%1��#��H��d�`�����0/�s�\UPr��I��BH.��dϷ���GF�1��k�)]��%�ȑɁ8b�NG���>Y��,�| +�Q)QEҝBW�'I��{m�E�'4 Qc��n��8q )@�R�L��� ++��Zk���6�3 ˤ��c�EYd� �c���Q6N�6e� ��o:�ĥ7�x�k�u�߷�kCCSyY�G�v�Y��������������n��}��k~~^KK���5M��c�j���SS��_\n}]0�ϧY��;f��{�r������emW���-���5_�z�������Ǟx暯��.�+ �b�xGGg~^��l~~���?jD����#&�&)���n� ++ӔRC��٣h�0�T�3.9q�3��Oܲ�U5���!r���EF3g���A����@Z��[ }���@H1T�Є�M��P�l��"aU>��0O�D�B�T��ǔ���%s��̈́��q�RO~�kӥ�~���>`���i ++" B[�@����H�����I���h|��0B�d|r��.M���;b��M��4KK���7��y�n���=A��U���a�Qt�%��`�U�E=Դ�K��?�K�3�Dd�\^�fјJ�k�'��3��I��4���|Qn���� \��HC��d����O�(�e��lh��H�Q!%ej�1�`��C�$.�0�)��B�#1 P ]��������2ѷ�4����~S�;�H ++���1� s@�f��i�Z�c�yf��s�N�i����z�$��(�i�*&""C�bR��d�� �����u�����?�۔EYd��������[�L�6�3�^p�]�[�p��c��~�U�זֶ?<��/n�!���b��?���5�3�Oy����V��qcGﯫw����O�:yȱ�0�6�{��j|����yy����ލ0RU5JUU���==��VbZ�B�3N;��SO����~������Cıckƍ�Ϊ��d��������e��?+��A4f���ù����J ++��ۚ��0�HNN2�SM%����S�)K&� �b+H�D:�j<#�J�?(����iS˶�l$b ��A�A!�@t��ks�"��������/ ++��K�2a���5b�@��"@Ә/1DJ��J@�D�I#H: ��+�E|l��ݯ�ۏ�cb����� �ZO��Pt��'}<���6)Y�g\Q�k�,�*$��]��I�s�?_�e�;�٠��q(,G�-���ʱH��������������C*oc�i�.���-`DNmo#L[Q��Ҫ��ŭ H� �$8p���@���jB�H�WIZ�.�Gԥ5aPei�˦��i9x(%(%�.@5� �5#fr��L��A�%|>5��ΓI]�I�'J ++��P|!M�5R 9��%` ���\IE�ǁsg�@@�"����M{O�5^e�� ++��42�h*"��9 �$$�D!AZ+z�1���!C�o��Yp�HOAYd��'������g=���=����t����.���]���O�6lZv��-;�%G���=��_�[v�?lp�٧��D�;v�w�g��d��M�?�����{������/��������^s݁�~g4���eC��}��Q)�箼��o���g����k�+c ++ ++W.���Gz�{kj���觿().:������t� �ͭm���� +�y���? ++!��~�//�ݷ��5���c�sF8:��3ছ�8p��o��xᯯ\y���PVZ"�x��u����������F����hm�hooپ�nہ�)�KǕ�)�L2��Gu=��������;�H��dJU��$I��L����D"H�D[�@AE)@�zaR�0I ++��a��($�L�Lt����zc��R{WJ��h4&#�������y���\!t"?�=]FwL�O3�����)]��9v�������o��*!W��B���WD�jt�%�{S��<�)���j�qR "c`�h�����6�p����B�$���!@���IIv6�DI( 3wp�AI��'���u�O�n�t�H���?3�>[r3�KG-��ȸ��!$)��LC��@$�ʀFA@@��:3� ++!s&��+��C� )����!A@ R ++� �4%��k���I7�a�!H�0�Х�j ++* ++c�9>�K�LJ���{F"��9НBC���zW����7�F)fY."vj�&i��}�P.0��: ���@��Q��lT�����n&�I�_a ++��9B0�i��rP9g�QJ�X��8�M�;�%�ݢ ++Yd�E���85�U]p�~|�o���O~��7�z��B�@0��?9�%�0o���g�vҤ���a��\t��=��� K��� ��q?��yy�w�vӌ�S��Ə���ؔ��s���x�FZ8�Sz��.Xv�qG��G߽����[9�g�y�?��߾�������_'��0~����+ ++�5_���n:��t��U��]��X,��i7\���Z�hhl>������G��k��������~��^VU��̲��x±ӧM�������u��`a��?�ф.,�3Y��|��;^P�Q}�)b�$S���������E���������)j����] �� Q�$�"L�T�Wg>� ++���1��m%���7ő=8J�L�EFS���$d<j�����c\TD{��$i�!8hR��i�0���k�� H�����,4�(� ]�D��� !�$S���GF;��9*��srES-�ي�].��4K B`O*�jP۪-�����N���F@����hه0o�B��"�rr�^^nH�n��tr���[��bV�x�[�t&��$��@�Ξj�GAD��v.;��@0�#/i/6%2o���@�`��1��7FSf�D@D��R��� ++4M21�Д�����Q�ԓQ�q&�͝}F,�T����)����b4��T�ҵ��7���bQ�[�$s 7qH���8�Ef�;��={z�n ++Ua�#�*Cf��j\��zY���I�8C(��Yq`�?©_D���,��"�O+�� Ӹ�;?����W�q�o|���D�7w����X�Q���Y^V:�M���QR\t����]]���s��R��w����D4+.*��5n<�����E�� %���j� ++���Ԟs���Ϭ�Ӥ�ܜ�ݐ�붶���|MKw��{�'�u�i�sS��ӓg�3A�� �$Q9Z�$S�*:���j�~m9�W����Y�J��heJ�$& "D ���3�*ܺ���CHj%ђLR�����CӨ���<u���!�����>~s�}�gZ��4����ӿ��O�6�)s�/���J�NJ.��k���Ԕ9?8[�V*�P�랞j�����SJ1�O�( ++�~��1���_���Q "�I�Z&�'ay2��(:K��1@�A2�8W�b�x�EQ��;_�y5�i[�A��d�����X��@���Y��9sB/�&�L�w��;ŧ>����!g(䠧z|�'�+�z�'��-�33��Z�"��b�"&9�s��s@���BO!������E�d �� ��g<�p�O���r� =����a�/������(<D��vJ����� ��#_��z�Kc�'��Dd�gb���~��S���S-m,��1D�U}��R B�|���']_9l$ւ��Z;�j�Vޘ�CE��fI�d�Z85ϛ��zBH�6��b����P�{�c��ꕁ5��&��Q`-8���u��/�*B�Z���S�< S����8g�.g�3�8�Ye��!C��c���x��/�����tv�_����u�ҥ�O�{���k��M��/}�u?�����ܗ^�ʗ��:���������K.��o��-�]�~&�������5p@mlO����u놓�q�:���{��sK�;<���3Ε���d���Y%�P����~}7ub�Wrqd��{|��>,�%��n��������}�q���%Pq��#�� r���)N�M2�i)+��P<ɔrVgE�L���� �b�p�]kKB�������cȐ��T��ʁW �r�E���!�T3�k`������du`Hk� iKƂxݎ:�M��X���d������8����w���'2�~���G�I���'�Zs����}����#u%��G�Iq�i+G�D�H�B���ܝ�ԝ=�����A�o�xE+3S��TK':�p�VJ��d���= ~�U�a���f[��"��xM[+"������RP�՚B}��e���F}�����ǰ��Oh�aO�)�3ԧ��� Ȃ%��=>�g�p)����>����������S��N����#@d�1~t��n�麁�CG�)�i�U��)Ú�t����3���?�^�굿���'���y�����ӷ�?������{��z�uW�{*\H�,(_*/d�JIB ����h �\��9���-G'�qA��!���S�һ����C@&��\<xj��Lgx�r7-��N�� ��6�A)P��\�X�`z�i7X��L����<n@��>��J�J��k҆<�hYoo�T�J)��$U�Kq�����4WV��T)P=����@�JH�NW�;z�90����Sg:K�έ6�-Y"�X9�s-hG��9���5��� ++��}_7�~� Ŧ'��ß1.��� �IDAT��!� ��>�Թ/��f���TLp�y�u��8��*g�!� ++F����-�'�>�a�o�`e���v�3��4��5�[Gd��$��j("�mw�'��d���u�dV�1fr�f3�m(�,I ��V���<N� �qU�4��_lA�7h��^2uݦ��y#�8�/(�����d��vf9��ΆG�z,��y삂��./��G�8�t���������/��gk�8��Y�"Gw��O~Z�t��\����4?��u�����n�^������0H��W��}c������b %��慨�)%9GK\ �����P! ++r�1�'}ƥ�E_���:��Nv��@P��'��{R�;mՎ�Kڝ���H\��$S��Bz����Z�8^o�"�j�z�Ke�h�Z�j��q�x{Ŋj�g��i�����t�p�W*4����jo���s6���>��������^�����g��I`��s�82NJ0��ӳ:Ӥ ��"K�5��լ YK�Z@�;�Ν:�~O���لOi��wk�?R��\��ӽcOW��\�Y�c��'jIN�=!@h;��Eu@�I���|y�t��<Qz��_�RaA�J�4��� �8n��R���#�G�%��1����cG'�x#G�-u&��G� �~���kO:�d!��6���Z�V��Fӵ��b|�p��,Y=�y�L̘ծW9��M��b>�>�������#�0�"��Y@!Fz��R�!�T�4��^�yY��𤐌#����C���������,�Ήsw}�8#]�ty����g���^�;^�٥��O�ףϻ�1<�����2%|DD��s)I!|_x�'�t��0�<�������ewxJ�,I���A7�e���jh➩�g�L���9��G�L�g��bH��b��v��|�|��Ǥ,���qg*�h��7t��|��Ӥт��{��J��J�U��t ��VT{�1��G�g��9z���s����/^1Pa [�5�,Y���8c��R����hb��Y˵j`if[��}�k�D�s��5�7^y�n��z���[��=y�����Ʉt&_~�\��gpP<��9���gw" s��C7�C{��z�r��3�r��q�ȑ��䉢��$�Ӳ�[5�����f�JQ���\�̚Mƚ�\ˀ&`��C��8DVV�v�K�"g-9�:7e��A���ò��|eE�kk���Xh�-h:Uo�zj��S���ˎ��8��1'�~ ++�;�q.4�p*Mքѡ�V9�Lb����z;͒�)A����_�0T-I�i��@��ہ�{B�Žyfz4�5�[n����Xx�ۮ����S��.]�t�A�z�L��맦��O��~��Jpm��KO i�F��2B 2���=����Rq���舰9���ͻ����8o����jފQ���m��N�XgQ#��A$`a|���\�&""t���J�V����_����7�����?�����[�w�r�L�@�����M��/|Wz�g�[������k��q�Cvl^�w�}d��n%"C�a���ۏ�1�{�@!��r�Fdx��AЊ�?~ߧ��]���U��w���/����B�����Ce@8~r~����ޯ��5���o ++W_�%�탇�۷w����3�jMM�YnVWZ3IՒ���\~��K��4Wk�������(��μ�����}����s�[^�s'w߽����s;"����?� Z���K#+������yKsj⢷���O���ˮ}�t���������o���_����ðV^x9���N.���+}��b�/�W_t呬x��'^~�f�������k���G����~��7���L[o���+;Y���sh�-�~��dfo�xu+3&������;W��ٴ���>��сʻ_�Y��b���x�yg�>~[�=E�_۵r��e�0�<�xB�_ߵoj�S�s`��У��؝�a?�N0���D���V-�6�4��M#���F���Cg�)�l()ϱ7�)S#�2���&�d������o��%d�H_��sr�T��x�W~Ԧk�w�Yn9�\g���-���k�����ﺼ�t�����n�3�s���S�&)cc�@L�Fg���XKF�aTP���YgR��R��Ş�����}�W)����J���{��6o��b�9�i~�E�r#w?tĒp`5 O�8�W���{:JD�1�N���?1�sǙ��Wt:|���k��{����'�}�˞En����������_�u��ʷ�ر�߸�'}����x��X5ػ��I�9 0�/߱u늡K�Xbf��>�ǯ{��\(��p��3��;���G~���D�_^}���#�`��у�NFox�����S��ǥ�X{����ذr�#c��i�)"z�+��-M�I���& ++^G ~��3�s��^��б�\}V�n������y�{iih�d閗����_��d���a�o��l�t��^o��d�жs�C#����m�͒sŁ!FϹ� >r�y�ѕK㧘��j��7\����������v�ns%�}�s�Qw��t���f��r59[M�.{�?2|�#"��M�������jQ���������zO��W���9�K�Mc��5��LY�h�mX�#��.^�J�Z]g.�eY�':��[W��O�q���#�(P����{�V�gj� +�?{�ʹ�9&�r���K���wn��ͻ�՚�9�<7�i�6?wIql������`����yQ���In<F:͘�:�'��G�h��e�4���p^Β�uQnmT*�\X�J��CP)�Z���I1ٚn�Eudבf3&k��! q��_�b���?9�d������@�.]�[t����?G���d�G|���?1݈c)�������ԑ�T�dV:ƹN�B)t��rι�՛�r��M ++L�ܵ ++鋶���"?w��(*���'�����y;V�����$B H�;����B�����1��#D�]���u���}�N���w��w�R��85��;���O~�����|�d�k��HO��ɉ_���k�]�iͺ��ݵ��SwO-"�����[w�d���~��y <26��`O9��3���s�W��cc���ݗ�\;�_β|��|_��{�R ++�s�$߹mMz�6�r�]uI��G&�|�e��@�Gf�$-���^�e����&�4��5+�&f7mY�P���.ޤ�������#g�3�i����"��p�����]�?P]5{p_Ϛu�|��<w�3����Ke��k�\)��U;ybj�c���;��LKQ_�C{���������#�8��}7��g����y�_��?�{�����y�eWl��7���������ÓKg��A�wv� ++���3Tk',щ~=՜�ܤ��.�:��;_w���}�NxJ�pݶuN���*�7�veu�Z:|j���ѱ����n���Lmn��.=k�M�-ƺ3��9ss�grjq�X���������{� =�2I5ߗ��$!��3mcd-� 9"l��N9<喃[;�g�Y�~���t��:��<��N�n��I=�5�F{i����r���t���]tl���� �E��un� �Y\�]�ty����g�nݺ���To`����rqh�jf^g�9���w�3�� Ym�3ZkcrmB%e���Æ�2Nl��_y��[��' 0���N¨,���� ��6����w�w�q��\?C�֊�!���_����#!��5�������}�շ��]�~����?|�k.ؾ�e�<�����w��C������?|L�7ӌA�<KLng��(�|�����R�^��ť���V V9�@�@��v;i�� +����k�)mX�o�ˍ��g��?rxb���O|�g�����x��J ++����UJ�գ�v���׀��r9�kq�s����5�l��J18<6��H���T��y��Uu�����c�X<q�=;�W�Yc�P���9��Y�'��_Y�n��<v��� ��^*�'�st�ND&��g�d�/��܃����/]�?�#;�- ���O&���?��Πq�p��Dm߱9 Z��b=3��<y������>��=�m���s��/�I��f떵�ͼ���훇�&zK~��e���1q�YC/�l+0F��r�"��Ó�����7���kTK��o��Cѱ�0�o|�6_�b���ȉJT<s͈�vj������@Oi�Fޙ�8�[|�+���$:G� G�rY�l7� �Jʁ�}s��)�d���眬�1f��|�<��:�/'A�=Q3�1;�[�F>R�a��S���^<�c!���Όi.:��Xp����5ן��� ���1J�Zm! ++ ++��%ߥK��2]�����`i��^��������@o9 ++;6m�KS�y��LS�<f���<O��,��:��/�c�W ++P^������R�ra�����,��J��f7��۸�7��;)&K9��_�Q9��pthp�C���~�ֻK�'�|kW����4���<��?��_��������5��\��{��s��` @+���ɚ&�٢1��U��>x�Dm��'o|�����/۶q�6��l��~�@�����GF���Z�b+.�����������4͕���9:�[�������-����M����+p�ֵ�������=$�֚( ++�6����n߳����?��?y�G���o��%�z�����Ja|�����:SʝJr��֘��{;|0^\0i*��$)�B�_}��I���B�l@P.����:�-���1.����#@4�����E���h�%W�''f�{��_�&�<���@r·�a� ++��X�Ce�����^�yn?�G��u��u}�$���W��v�ʾ���Wn;Xo&�X����UGO�Boj��ةy�hr.��W����&3șb��\�~����-�R����k���)F�>t����ڑ>�{�-�h��L���<9S[l�W����o�^�,��:X�3��,Y2�� �(K�NN:6���m��z���2��l�9��x�幱�s���]l6���%)�Si��{���5��Jy�*��7�x��w<�y�ks��i���K�����y�<K�fZ�8�Nm�ҥ˳GW��ty6�vΊv��gy��@�Z�� �*�xbb��,��d1'��u��QJ�qb��g�,�"2�p��h���ܲo�R���\����R[� ++yR��ܵa����v[&�1 ���X���h|r���y�s���i�����{:pٍ�O��?��[n�����{���,8���A���;�DJ�v�Y �v��톗~����;^��|���Bpr�vjf����\�Zhe:�����kC������ +G��Ј�g�U��_���{��gl%��z����щu���6��]h\~Nϫ�?/M�]�.u�1��[�8�^}���م6�ܷ����}�����}�ѿx���L�����{_}��jMO�IRgmyte�?8��A�NJ���3��m&Ɇ��>�"C.������['v�) ������g��5ý���m���}� ++(�h��_��8����8��n���Ԣ���Gf>��#�x�vT��{>�_?z�-��u���w�(���������+�f����͞s���|��P�{|��9U/Eކ��C�E��/n:đ[k�;�����6{*�����nn��|�MW���o�__Joxޙ�M̅������z+퍂��K��pl|����o^=�����;6��ǿ��w���N�����W�w@���"p��bnz�&�D��G�r/����ɉ�p��6�*�P�Ejr� ++yj�ڼL^N+FY ڵ�)�X�6�&m�m���W媪V¥V�ь��R�V{���'�lzn6�F�U(�ŦTm�[����U��?j~P�.]�<t��˿�g�7���O=�㧥�[+6?(����T�X�j%��re�+?NN�!G���Ӕ!8�����pkA��^'Z�)!2.Xn��Fzx��g"(�zK#2��1allZ��6U|~ӝG�Zp�b����[;>F`�+��=��3�I��Ρ�S��'&^��|�� ++���>��[n�\g� �����X9�$�\Z%����ww��_�s�`��7\��h����s����b�8\�iun���h������A_�t���`��8u�}�K�d���@o�:������Z�����6}��C�:6 D��N�[50]K�K~�i�����A(p��o8{�u��;�n��W����y�J8:���w��������j��ф-�5��!<���"nz�K���?��c�S�뮸b��Qg��=�M�(Y\�?xŋ̓��]j$0��^�n�1� ++ӥ��7���o�f�˯�:��~۟�7�����.;g�wd��<��ܼf�=�9�C�nɴY<2��?z��L�W>p�_���7�{���ſ}�˿sϑ�k��&j�]����L>zb� ���+��������3����t;��O����\36��ݏ�bӀ� ��EH�O-8�un��[i��}�%۾r��+�����Sֹ_�-��/�x����WUsr@�:��`�iB��TV�3&i ++���$��C��X��M��!Ws#��-)ش�Kagj)�Zj`��撘�ר-���k�Z;u�m�����3J3�y>2q������q�{A���9JҔ��MB�R�j6����K�.�y�zݥ˳�����Љ�'U)^ �������#��i(�$�W��p%���$��JI�g�s%df�(y��l=d�e����v���2�`c�s�dE1O3_Jb�Vo*��:t����s7���A �Qmn��j�҉�D����w�����Q�Z����/��y��kc�������e����GO0���-kG=%?��oB'��Y2.1����w\�m�ɹ������;�ko:k�Y�W���=5�ظs���>�ȷ��)��\����c���s:N��:�������oy�����i���`��_��g�OnY7�o\3��������R���Ɛ�"��{�C_:�a�x��-���C㍃��������I���T���C=��C�1Vy�n;<�~�A����9z��D�p|,o6�;as;����w�K�U���rkެ�3� ���|d�N��o9t�Y�}=���Ӌ��_�jS����C���{��l#}��}���o�rہ~i�%����RmNMבᑉ��?z�mG�O�����R����u��`%� ++�Ϙ��+��QO9r�9�j1��y��P3V�q�،S�c����jd��*o]Q}t|�['[���v��w������G�>v��6��֊o=2�h�ý�v����[�/�o����eg�zϧns�"��::�� �S̈́0a�0���2;�H�:I��jTq��ҋ�kK��5���9��<��2'�q����c�V+VW��]�k�K�#�gj ��R)D��,�y��\)�4i!]���,M3�<M�bTԹN��T��lt���9E7����',r>�G�?zr�ӽ�����������s�t��}��o��n��=߷��߹��K��N�?2[�|@����B�0>5����9�!�9�y����sD�Y!*"�u���ȸz�X-�N(�p$)��8G*��LgA"��sh��!S�[3��C�����������cd8�NV1-��0����8v��!Cd�8�L\)�S(�h���j�:��?��$�A1�8@��V��M�e�@�9F�1��BD���鉃H������羹�ܳ��s9�u�;{u����JX�g����3=^ �}s�Bh���w\2���`�)���l�NT ���U{-眡�Ȑd���n�rW�1��#rD�>N$�L�A��y%�!0��(�.�xɆB�Pj�!HS�mn��i�Ke(!2^�={三X�g�C�cKYjTA�&k6�so9o��ZZ�jiO�^�9�:z����ɸ#h��C"��DG�3�����Α�8p��8ˀ��TX?ГQ��bߋR��� �IDAT7c�Μ��Һ��BK l*VK��`��f�Kt�-mu&�̵ɍ���u���R���Ή"k,��ڜ9b�n���uX� ��/��i�ػt���;V晣��O�3��#����ʳ��j�ڳ�o�sW-��j�㕽��x����Q���ϵ�gk�r��iBx����$z�G��@�� ��b1 ++�QI.�'��B����_��^�6��uQ!��Q�q!+� `�8+�z`���If�#,���4X �d��s�b��5#���˝���l��زa.���[8m�J�(�eT�n>��#���@�Rb��m+Q lʀ#?cUo� �B�/�Cf@/1� ���1��%��:�݉�p����[ƣPYˬs�9G�3|�����ӎ��pt�s�Y9��?8;�N��aE��[�%^T�q��2��C��."DN0�C_}��s�P ++��3���0H"�3���ȸs8��R-�+7x�Jm(�&��!�<�S��L�(<�s�����%í��T1�sy�y3v����%�ֽ��^K����]��R�L ++�d@�����1iH@����D�:b ����GD���r����P����r�ڡ��VnJ�&Y�g�I���ZbL.53)`�`y���R�g)2��9��qގ[�`n�!367:����X<OH%�\\�K%��Ρպ��[.��և9�'��bK��i�ػt������?k�����Y����<�^_��/�Z���jm�۰"n��FG��M�l�vǶ3j��G�W���q�D��B�-ع�:qDd�1�9�K/b&)���(�4�T����NJQe���/�����u�K�sS*��t)���"���)X�i��{{�"�����gl\{�� Z��`�r����ެ�X��Q��Ls�p���A��(���.�-� h݉mD��B�3a� �qVy�D��9V�$3��B9RY�J���c�<��,��a�8B@wz�8(��tw��:g��r��:t�ج5h;� K�PH�W���\���m)2���lr�%�u�~����$""��V ++�K88'�2�# ++�$G�G,��ZK��c����R�n���r���m-04��C!�jc�t�R��5��c����8�lr>�M�Z6�1����Z���-+���LsqߘCHb���8��A��#��h hy��A'K-u&�w*ְ<y;Dh�������v���&�����ʼn�Z�0����FE��FR�FgZ��F��i4�.0�Y;K�q��NR���e����y&��g�aǩ�"7Fr�f)��Bry�\L���'��X�)C�ё�?���ҥK������]��q���2O���^i�Xn��^�E��|mxt�Qo������S1�n붍J��ZOop�}���c�����vbsÐ9 ΅#� <%���[4����}U-�8?0���!cJyƘ��8c:����(��x�h{K}�����:B�DP,�'N�8 D�|qJE�j��u�5��٧��#C�T��ty�#0�\�����(X�9��)h ����8��0�"T�'#�А�+�c��R$�u��\�|ɇ�zZ���=���X��r��Y�§oY2�1D�uƸr(�kY���u�z�%G��8�%�y$:6�ɚ8win3Kdh�C����:� ���\rT�q��˂�F63P�_����ZK������K7D���ܦF[@c����9@�� �@���������s��ZV��t��P7O�+˼@0�Sj��K��I��כIk:�Z ����X r�Y���zRgА봂@g�<��c:,Nh�a�w�Wn�;͵������c�ش�lg9��1�l��9O)K���b��Y�Wn_�ǍV��_N� �D�V°^���ML�*e�L����\�}�j�K� ++��c$��KZ���s�e���b��d�&�A��\�m�y[��k��ӿ|/�.]�<G���3�O"v������3ij�����u�zܨ7�ܺf��Z�zʼn�'°x����`i���R�Zs1ުѡz�����懂B(�@@%��Jp165�p)%g�c��A�)m��=Oy��Ap!z�ҝ�gs�2" ++�TP��r�A�T����9��2`9�|?b@���H>䜄`�GL��h:C=,: X��XN@C��r#2D��� ++EJ��_0<8 Yֶ���v��m2f��A�<,�\!��y���4w>�τ�z ++ ++��B��I�0�U�(ɺP*p��@�@��[����O�qN[j���+��:YC�;K�Ƒ���Xd5�<"��y#�qn�<�D~��dJ��R!�u�e(w��5�:#ĥ@�8H��2��t���X۳�!7y������Jb35;{��eB8�Ρ't����֛�[�2��|2��Z�����v���d�W�S=1���Ggudg���i��<�0�t��;��:Ek@�B���A"�.����,-&i1�Z��4����N⡡���%k�έ�g ��92���Z������ ���N��x��r!�7���I���͇^����ji��9�Z��ֆ3@^fwy(mm�d�66��"u͵���f���B�&�Kr�;���b�ҥ�s��^?t��ǡ���<�^oy��#y��Wo����Uk��̃<��VnX�8W_�fug�.}�ہ�J��_����c~0�'g�u\ ++��D�z(���S� a@D���Ǜ��!<Ϸ&@�����S���}b.���!2�L��8��$��Ė囸�a��P�c�y'�;���; &��!0@@�tc��;ؿ�$�����h�����-�3�B�( ++V��# ++%O!���9�BD,�+KƄ�Q��OqL������ ��l�Q����Z�Y������zO3w��e:r�iAv\xe_� ++��{��BpmAq�^Jf�yn��������ncQ�� ����Z�/�ړ��d��@�6�1�@�,9`�����6(�iָꜢ6>(���P�hg���a�������[G��<:nf��S��Z��d�n-�<v��e���Nk �NѺs;���,��^�a��hd,R�|�.�K����ܶ=U��,6cɩ�J��8Nu����Mn�c�!���s�L�T��N�TK��Z�Z�3@0��R�X�f��I�+�5�uD�2�8r欱�}�k�]j,ZNi[�:�Tz;>�nՊ���$��(TR��ן~/�.]�<G���3AW����5@l�%����s�̕�%ˠ�[=y�d����(g|jj~�Hd���Q�N֬X�-Ƅ��Zg��"��Bx��#KM=]o��ɜ�DFd%�L`!rm�BJ��$I��ٺ��g�9��p�9��.T�E��@��;�Y��qDPQ�; ++����"��9H.��r&k��N��2��j$ D�崍�U��B��^T�~S_�ͷ���R�9;������|r.�z{{Mn�`a0���B�@��S�y�dRp%��s�>Z��<���qr,���7�(���Z�~����.���Y�G99r��Ig��,�H`'$�#@B`@D�r�����d]�d�����8q��:���X�EΡ���� ��f�}�G�:����zl���hM����s���������V���� J��鑥���_h�-"9̥�q�-�%��h��F�ND!��2��~�o\����Sm�3�d�3I�6r(p̭ɬ��%q&ϴ&G�d�EƲ,C$Ƅ�))�]�}d�^�u�j%�BXPs��Q����@��ڒu`��im[��#$��;���2�\��9矡|�i=���P0�%KKƹBTh7ZI�pəc�!���~�i�ػt������]��7yfv�~ȣg�gM�_�ۯmԗ�T`)IzJ�,M�o�q�F��@ ++e����Q7�Z�VO�235EQ_�j��$s��a!K3P(D`a��U_��G�cz�@��K%�Z��>5G\u�=X1 ++���P"@��\�0dH�!r��ON�Nx�"ƀ1B�����k r9X����p��;zة��������K����K��]�Yn��븸R� 8g�R��B�sƔ���g��=���\JV� ++@����J(kS �v�1r�P~���WJC�� c�q�О�ijA[k��66F[��� �%�I2.8p� �C�HrL�U�%$G��r�I���ܣ�Mr�;��:d,wD@� Yk���?{ol[z����7���t�{o��m��Ew#�� ++!��� �.L'C(R��U�U.��\N�J�Hb�-��`1XP#Ġ ��Vw��;�{�����������n��RY�������έ�w���Y�z����uY�h`ab����X ��ZT��A����������m�t�̗G��Z�z�ya��;*9M�Uv�L��@�|�������3 ++��CȀ�����ǏK�Z����� � �.����3PU!�R��m� ���R�,�Ѐ�[�p���:�\?=�\��:�.����}'j]7;0R���&���-oz�F��NA��" }:�q<ۙu��(7���Y�Z;_NJ�v]W�C��W��þe˖[y����[y�y�y�����w����Yߧ7�*ƺ�"}*9�ݽ���m�+�hM� 0�p��պ� �,Rƣ�����5��lֶ�պ5���2#�h4E�K;��ӿ�aLȱ�13*Y��vbN>}j��L!��T�&c����p�̿��'�,h��u�=��-������9����LmA��j�����K��r"�"�7�������wq?~����ןx� �Fć����:�Ց �M�"���<�'�G&� ++��0Q�ah�96#-fb($f�����X(2�P��%����>�\$���P�g6�Ͷ��f�����l0&�!���"���wG.)�"CQC�"��bȨDF����^w.������Wn�DW��iOζH��;^ ���ﮟt����� .�܍��Cqͥ��Y*<�E``�<A���֥�o���bm�����}b*Enٶ7Q|�&���x�A��Dac�Q����%y�e7dw��h蒩-N��L!��Z�"�r�!����f����=��W����,�_�\�����8]0��UI% =���0�dR� 4=�������-[^pl��s����������&���{�Cȹ��.Yy�;�^�<��dɒ���"9e1�t��㛇@�4uM}�Z�Et�ܹ�r=��9�y4��:��u�����hGUGM}|�(T�c��0M����:�y�3��#;���l�~���7� b6��Wq���GU�?��!ݪ�as�L��5�[NB$"`g���j2��T�@��q��}��T<�edvB�[��E�]����c?�I��W�)B�Ɠ*DU��qU{O�����LLup���1�!�*h�IS�� �}���(��D��/?%�����R���w^�wC�u;���i219�S3RSy�Sn$8�]{��F�(�"EAU��Ȧ���9d���������<�o��C�����B!�9��t������l�d1,���D� ��X7�y�vm�o���B.����2R�ٳ%��`�H�����v�'[��+���MYLTUuS.s��Q�l0}�E���晃w)���/����b�p����jծ{�y|,"����n��r2X�"w)���������o��c��*Ƞ��]-W1V�ӓ��A麮d�>t����XJY���j�����ѧ~������a߲e����~����s�ۧ��g_�ψ�������ﻜ9��6�XWUʙ�wL���;����t>���4�������~�2t�l�*I]hWK"Ǔ�$�2�C35ustr�!���ٹ�j5�CUɐ�X� ��u���+]>�"b2r�Q�D���J���x�W��?�$�&��ـ�/���g�! �m�"��=��uA�O7bís���{ƓM�dD@�>��ȍ��"������C�!�����Ȟ�u���u�=�gp�G�g&q�*b0�*����{P�db|�ŭ�TUU�K�7k~X9�_���ϟ��@(��骃u��h_��h��n:7���/�0LT��D�(����6�ܦ$oy��>�����`��>\�5�$gh8�u70��w��%�����r�t���5.O�i���X_J6ScQS�M+��h��$C<KT�u�c�%��e���2�~H��j��[��̥զ��;�$Er��wm'bmۅ�vG0�\rκn����m�8��硨i���)`)��������_��}^��s.Zd��֫e;=Z4M<]�Z���щjɹ��,uU��`�YQEEQ}���9߲e����~����ϊ��~��4��o��3�4$dbf$*��{�ۮ�p�����tgg>?dB`f@v�UU���Nǣ��r2�]_�zH�iFDض��ッ����ڮ�ISW��U`d�:����z��>Φ���?���~�� ++�1"5Um9�L��N*�k�;y�� ��:F}ꊂ!��m�!�g`�9z)�g�gE��)쭶�[E��p&���y`�Df���tA����~i�OB����{O�s�C~�w<;����s�P��)i�9G��i3*Z�6�&aZ1�����y�k�Οo���㿳7�8��H/��w�.��,� ++ƪ�"���w�on��Y1���o�6م@Y^��Y��|��ʳ,Z}�ty��}�g�0������m_��F^�J_nvy(Y=_�) G�h�ULE�b�6ۋd�g�AH����3ҭo1P������?l��ӵ����-;����t��/]�����hY�~�jUe: %�$%b�M�1�!wmk���rQrA��|����)uCRâ������ �]�:d�LFW�]K)3p�Z�RF�����rdr��]�nH�&I����*ܲ�<�ˮjO|�9<�[�ly�����[y�Y����������w�B�w���B��R��O���}�>�*�!u965����'S)%���"�nDD�����Uuݶއ�J��rN�����2�r����ٙ͘X�@-�0�L�n �*�h�Z��5�z�~���eC���D��L/|��'7��F��R�U8}� D0d �"$2"`��������p�2�g=��p����י��0��#���=�pc��K��̮�3E�1p��r�<㨮���@�bD �fVρIC 6o�H�(��HEX$�!�mH�N�����bW�����ˣ*xGM�)g#ˀ��*� ++�H��3��[B@��C��7�;�m��8�j�_��$yUʐE��a�M�����f��> 2��$�Ix�(�%PJ.�C1��ɹ�f�D��ؙjѳ*vS��æ;ƃ���ݼ�/�n�S?�&�6�2��5�����j���9�ڴ0㒻�r��h�\h �#��#��r�õ�Oi���z��|>���:�j�wU�L�����y�ah���c�������`�ZO��|�rfdUHݐs&�l�rVݮg�z���L� ��=��}˖-/�y�gR[�V^�l���|y���}��R�qj���0Oڮ53��C?C�Ngb"��"2�R���XU;�i.��)/f]����CGH�b5�x<��ZMK*�.��/� Ӻ]�f;�%�]�u�!VU��LC `@�;�T�����Am:���?����-E�t6���x��ʄD@x�a& F&^�Y�ٱ�t�?s������"!�c癈 z7 ++a�i�)��Cv����蘃sαgf�:x3s�Fdf&"�$"D��DLdbd��w��A��������(f�"�S���<�3��F ,�f,=DO>�҂� �`��m_�ѐ�������Х��*"䤗��}��k��s`�T��EiW�d�p�3�f1۔��=��4�� !�����&���S%`h�f/�]�whT��rN9���Z ����I�-"��D�j���㵫W��tj��r��p��8��{��DUe�\�,��\��d���Ð��7���>��S�� ��ve�� ++DB���c�,��l�@�]%b�!gTU�,Sn����nuQy3���sxطl��a+���|�m4>�V^�x����~�;QD��يu�� �IDAT�H�B@Ĕ��~�XŮ��s�Gm�3s���x�ŋ�����9�����G�I?$)ҌF������Et49ar;��b���.E����e]W)��"0{&`�{���>11�cfG�*"C�$!ԣ��'��6���\�,��l�LDLL�"�&��LU#"��[-���Y "@B bF Ǟ�yG�@!�سG0��;�����{B��{%����L������y3�&$Dճ�D��kܘ�o9�ac8>Kް��C5���l�����Y+"��bJ�b����ѡ9�d �E�0��r.b��DO8��A� ���٬v�V�� ++��lr���ڝ穠t�RL�(����Š��ԓU�4��j,�T�p|��*O�4�ЭV0��Wn�Òs.Er9>9�����$�����R�"�Ho~��]}*�R!�4���ԌbNv��QS��5�R$gZTU�P�Tφ����e;�a�j��[y�e˖Ϛ�����B�ԟ�V^�x�V�ƻTu�RJ��|�R�j�^�R��w���Ba�\�1@U�*"��y眈,��:FQp�5����uCUW�:����s��u3����;F2��Ue ++D\h�٫H.�=�� 3�Tƣ3�¦7�{CU$#pQ�\b@�f���y���Ou*L1�cOĄ@̄�Dgqg6lB>�DH�Xo�nV'���31�#L�!x4@P�G�q�ŐL��K)��DL��@H�W'�M���z��$>8b�M`�����xh3CC�5�O���M�[B�ٸ��D����D�r���� ���c�iH�^I�8I!�d�)K@e&"FCEK9o��H��`&�,"�h����I5�i�`JU����#�CZ̜*� ++Ԓ�',�Ԡ'�Ժ�WG�Z���n�ƪ98����D�a�9#���z���8 ]�c�[/;3�������._�ڷ�䒻u/9;O�Z�*X��u}r|Z�U�NȚ�����n2K6��O�X�>�V�g�fz����oٲ���&��s�>�l��������ƴZ�7u��!�"��m��}�����n�yݶ!T�B�@4���e����~?����Z�Hֵ�x<��>����*A��kc�rJ1F[�K�M���|k"J)]����YU�㱈H)HD� ++��s�jLF����d���5��B=��\گ��y�.�_���w��������� ++���u@O CD��{�D�b�����d���+�*�"��< 1�{�3�3!n�]q��H&�|'H�ț�&)�!���c�ꌅ�$���)���gQ��ě2A��+��&��Vv�%�6u��b`P`����ȭj3��IA#U(��Q����B���fjmX4#RC�Ӣ�M-k�ĎwipD)�|�Z�Pd�U�����m�29����/쬬OW둣IN��fw�n�\?:�y��/y����r�"�����sB*&��V�*����;������\�S�Ґ����k�(g(I��!(����>y�)T��f���AT�Lgo�L���٬3�3�;��=�زe˟1������O�vz�,�yz]�����NU�w**"����u�QUIsNyc"v{f��|1��r.̮�+H)��`�n����u�v3��ع��;F"dD�r_J10tޕ"���@�D�{��I6�\����x�p]Jv.l;��{?��ID$xO�E��+�8Ǡj*1TC�f&����=Dg%SVݯ�Iq�����\�x�t�^}mޟ��!�Hf��c$PCvPrq����#t���W��,M���@�*-E��ޜ�\Ա'fI-R5Ǫ��$1�#���y3vU&B@20�sq�PE��w��2Y,%���p %šc ++}'U��*�D>�X�"�QREWr��� }�0X(%�ވ�l%�I��B�N;%F�P�3Se"��9�5���z=i�G���l�O��K�J����U�zP�Zr�n2�˹c�NK�������e'�����퇡����1T�J9��˥�w_�O�o��R��U��zA`*TRI�1 !�O��z�fs6���q��-F423�[bZn=>����G��þe˖[s���V^� ���g�L������)�tC_W5#���9���qH9�4��r��yQa��xT���0�0$������D���9&r>��{��UW��t2]�m��hUׁ�8� I�s�A)��Č��Ŝ3 b��j|���@���rI��uU iش>�jS7�������"����U۵UU�\�j8�Se���X����W���#ws=8��cPbq�ʮB��F�V��`�8.��cpD�쉘ɐ�cD�f�.��]�Y�UAe:�V'�R8+Z�P�P&W�s���O� ��W��N�ڮ�x�8`� `����SNR� }k���Kj�"��a�u������tո �|տ�.{����`D��$��-���L����U�����`>�^]��Q4���6�J #H0B[ jd3@fq��Ĥ�����d��p�a�M��f��J眮�����ЌX���|z��5Up�ǟ�D0����]�qS/�k �-�c?�A�x���bt����RJ}��*�������Y�����y��r1������ᨂmb�-y�g��<8xF^��l���-[>7���sn[y�������ψ����}GJ��\����f�M @S�B��9FDD)D�`uU�C�}S�`��aH��b�H�@"�W�XW�,����eIR�i�"�9�6vhB�u]�H]����xݵ��(E �� !�J�!Q�!݊f��$b���!�"���æ�E'U���O\Y�\�#)O+����Z����{��1xM(,{d�bމ�m�,`·�����@H���c Vd��*E�@��k�"u��d)�u�yѦ:��2?v��j� ҧ��đ,�ut�9֔L�yP�LWp��c.�x�N���G�+bi�=S�Ȫ,8��+0��<��ΤK��;VSp���W�u����U���e"'V8�Uve�aR{ġ베����b��<��c��^���e~ ++u�B=tk1#D�+<YtM�z�Z�������7��Α�HY��lg�s>�y�Ω��<j�u㻶>Ǻ���<���ӓ�س�iν�rU��m�]�e2�n� �D6�ܶ M7C<s���C���[q���g�l���-[>k���s`+���l���|y���y{3�۶7��t�^����T�ܼyt��m�0 ��LwfCj�q�\:�9g1Ӫ�rι��������N�9'Qe�������5S3&d�ι�j]�����9�R��xf���W��M�c�yHu3aĽ��bٖ��H�bJ�*�S38�]$5u���l @Q!" ++�P��c3^����CDLf!\>:��U�q-�OB}���O�j����%s��Z%����0z���M��s��y"O@DȌ��3Aq;3H������$��������͆>�to��}�Z��]����nXx)e̪�Mh�\@!�V�<�����9�g�9s��jTK���/]rO>-��ΒW��^>`����ܔk��`�5��R��Y���Y�{O� U�NV��J�A�h�A� �e���a�q�,��8c�Ħ#5�;1��xp=_إkk����x��.kB3[H^�8�pA����-K��_t���kϟ�Ū�fө�����ǧ`B�Z-�����bDݺ��/W�f<�!�2��0�R��s!�2�)��9PQ��3�ǧ%=n�M o��m3��Mt��������þe˖[y��� ���y!�k��*����)x���=��6�fF�`XJR�Mg]?�˥��&��`4�V+�,"��pJi�:�ΩY�zF=5�0�BT5U !�5\��uݶ}�r��=0!#o�}!V��Fι ++<�!�,L��%�������l`""w+њ��`j�0�*�>�@�H� J�D���1�R�K������k����aE�s�sb c�:����/����'�sdb&���sE�����5;+����˶;�17R�p�n����8wa1_Jq)�/����'�A4#���{�C��� � ��wL�:�����m ��o���Ѳ����?z� 0X�j�`��5/��r:89�/:W{�ǯ.��8Ωx��Y(e�T�BBG5�*�,�U������:ST�XP�ڡ��LR4�"'���\{!s!� $%u.p�Е�:W�)3��6������ g�jQ��R�y�S�iH�I�o�:����e��Mi F-��"U���`��%�*��rm�"���٩J���%h���g,%�qJ��9�"�dq�q����P$�s�YY�����H�j��j�����>����oٲ���� 9�l�����!l��b��\.C!Db^���T�M�w���*�1g5Y��hԔ� ��UU����m�\J�*TU�#�mk�Ѩ�{"�Z)��GEJɥ5��E*yg��w����TUCHf�J�ceb��9"�r_וd�ݽ�~b��GS3���g��&��·�$n�x�h��"Y�`h;���v�\�X-�u�s�I��O;�D��~H����Y5bv(�d�_�3���w��?�m_���엘����Ͽ��_��W�R�*��?��~�|���%�4?��{����`�/��;���o���s�;���?�3���C?��s�x�]���|�����㗁�ʵ������L������������x�K��������C�˿zݫ^���v���������~�[^���?�K|�[^�W����{�������O�oz�}~��_z�'����R���?��ż/k�|�r�x�p �f I�����k/�UP2�vK��T�X��;]0Wi�vaVW�YH�aխ*O�`�@��0٩��.)�,��إ���څ@�_����ȏ.ڎʪ�I�ܾ+��4c�rx���|�m�rڭw��z�v�)}��*�2�i?�U�F�ʅX��|5j*0!�T��qpcV@2N��P�7vq2a�r7��" ) *�M|������ .��t�CX�V"��"����e˖-��`�-[���B�)�P��h��c/���'u�8vY2���Ԍ؉�7c����X-C���j���;rrZ55�I)��W�"RUU��CJއ��TU��D��C0���4�,��5�uG1�a܌B�� ++�1�"|`���xb"�J�aR5U�)��!e2�A�1�<Y�:B_ ++�=zx�80_��f] ++�˧�S��ڵcǫ!wCJ��Z�%�^������ ++�E�r������o��/��E��{���y���7��>�G����r}�R ���~S��'������L�_~�W����������^�ǟ����}�w����y�#=u��Mvv�l`O_=�?��ã����w]�q�Z�?�}���=�e��w2n��w�r�?�7��УW��c���&�GHxaw|n���ǯ�w���{�}���؞K̊��y�ׯ����ԘYr������nLo;�2����3��ީ��܍��V�\��,:Ӹ7���0�7)�[^' ++����,����j8�$`ڭ�yg#珋L N>hy"�����w�|5��x�N��! �Eą:t�u��?8��h���DS�k�8�S;OL�d@b�E�1��"G���|�T�UߋUn٪���d(E�R�1:v2X����CP���뇁 ���B���+"L�����O�;`˖-/ ��z˖��lOT���L&}�1Ɯ"��swD���!���|��n�1qꆾH�����ެ��u!6{�o�Vk$4@fNY�ge��#��R=����&��R�$:۩1A) ++HΕ,�w.C�*a����y��'D�IU�㧇���.��˞�y֔��9�l�|2�;�*��q?\?��݆p=�<XOj���/�H/�8�vhE�905��a�D�E:K�cr�b��T>n܌����o�}晢������C�sDŽ�_��Ί�w_j�U���艝��N��|�#�"���;m�b�qs���ߙ���7�������}�C�>�{9G_�ڗ��O�&���������;�S���7���ժ?<Z����_@���vno��?����}�L��nؙ6���/�_/��k�C���/}�w�ևW��+r����2 �(�6�㨙z�r��A":�|=�����Oـ�I���ř�aܸ�!5���� ++9H�|ME�����I���%E�:����ؽ�B<�ȸbOp�"�J9���եD�Н�Z�n�1�3����7o�N��W��zȃ65�^�L�\hPՍj�P5u��C@ʥ��~:�n<^.�θ�O�\��z�"0nF�v\��������ھK���G��V�6��� �'���h����e˖[y�e��#�XՆ�̤=� ++��P�u���z�SQ�����u�+I���b�ǫ��wUEcL�/V!8���s������0���* ++!�����U�W��<�c���@Ď 2���c���Y�,f)��("=v��aZy�E�M�8�Iȫ�]<�S��[��!̲$3e���+ٝ�G����S�_\=��>r�=8\�g$R���`����aS���cDrF�>�Bp~�X1{r� ++�#"��|��G?��w��w>�ɝIC`�o·��~�;��?��~�7?��O^A( �Y/퍥�����"��m�&��.Ha{������7��������K����h�F�;��7���/�s.?�S��/���?~������������՛��S_�U�Ѻ�� Ed<�� �~�W~��ˇ��TuG��u��q��LL�T����-�IN����\�Ds�6���!�h���nǃ�D�t<����=��V��9J'C=i�>�YQ�M�`��ѣi_�}�� ��O�Ӊ�V��5O�l�}uaFV�u�\U��eN��ʯVк>��^�W��x����W����Q|�U���>���u�t���0����!Z��mOO�����[M';�ЏG���iɥ���4�T���h$"u���xT�����%�Xaݮ(V��b�� ++���[�lyA���[�<8��|��K�]=�$���8 �dg����豞6Ml4��o�X�Pt��^�u�����:���.�,V�\��{V����t)�����#UU�ש;jW��*�L��RV�<�H�jM��QNmFq��t�.L>��;? �{n|�x5۩K�L�z,S�w�×&���+��ONN����&1��Z�@D���&��NǦ6�ɐ���fU���#��E!��B�����t���㈾���.֯}�]�]9�� )�ُ��{����������ӿ�ӊ|�7�+����ۦ�]=���! "�t"{5�q��[�x?��������n>���_��_��?����������?�����N������;���ǟ���?z������_�Zw�"�>~u�j�SJ�¹Y=>]�q��W��e ++�Z��0�ۧV ++:fIɐ�7�� F�"̠��+=�F��#�D�g1Z��blW��q�3��r��d4:<Z�}Wx���#���7<�lr���,����h�2��z0t]�t�x��Ӌ��u��98D�������C#��&�z=��4��b~$��F���N%��~ �뢆�J�'FX�G�\R�\�'G7���N���"9$ ++u��A��B�ɨz��.�����Q��L% 9����~�O��oٲ�ƟAy��������{����.^<OH��9d����;���;��w���K.����Y�^m���X@;�Y ��a"�i.� :��<�Z��q=��v���ۜp1,�E�Sq�#1�)�e홮�$wu�O����O��!Jꏺ���7����x��ӣ�{��AKɥ�R]�IS�ˀ��A�_��.�F���u{܍F������:��K����cWʕ�����n�`%Q5�4~# � m���� �!�$��|�j��9vcbf�ڻ*8Pp�3����� �IDAT�'~��+Ð�����oxG�����=�����d�l��5�����?���'�$����zݫ�}�W��S��}f�����ܾ[�s��?� o�o�O���.�������w����+F�/�����u���>|rp3x�ҹ�������%�W�1�,Ϧ���<���W���?���w�u�x��������ݧ�������{�'���J�{��2���h��I�+ q�(j �6[�e6���X�5�y�qx�/��p8�#f"fqhi<�F��IQEQ�� �b_�����|����ェB �-Q̃P���[���w�����?��c������~@5 1��a+=Cr ������:��a�?l�ʕt����v<�,˕ȼj���P2����'qt�]A��3ԫ���u�T"k�O�j�@��Tu#[��,�������a�jI����c�/>{/_�zsT�7���n�\^��+��`O=��"����[��b�q�p��d;�8"�/:ѣj=nM�7�#}�X֛k4-�M`��b��O<�^,<�j�_d֛7��0�� ]熾[b�no����������� ��;|U�K����v�@�wW�������E���|!��#{�ﻯ{�u�<�����/�ÿ�_���|qy|��C{{����KLJ?��Y-� ++�"�w�����c����z�b�V�~=f�X���@�4�"�]w��ͣ�T�e���4G�(,D������۰�e����lye_���ǯ�k�������;.�7O��b߱�f�����?�9:Yo����V�!s�)[<}��u����}؎�"�\���gNz ��q���b:�$��:�`� ��>.����[�a9����E�#�U�0��:cqS�vmN��~�7�z�}1ƿ���Y�����O>}����k��}���ٙ-�Z��?��;��K������G�[e�x�k����z�A�1����?�������ş�����#<�����+���~�;���ƱZ)�����^�<z晧���S��s��g~�}W_v�{_��?����������}��O|�_�W���?��>�k��a�Q�i`&�^<���Ʋz4,���f9F�_/�\���z=�pzj'��{���8�?�^{'�͝]���fUo�u���r��h�9�8��x�-�n��p����m�ӻ�<\{�]�r��܌��}�j͛�c�]^ �>������K}�?|����:�w����5�HX�������fQ%�*R'��n�� �Z�1��u#��Q�k�����������/��zFl;_��������w�v�*��{}~ÿ����Mo��#�>��cO������ޗ} [�"����������}���ۿ52>��O>p�k}��������w����~Ƿ}���/;v��/n[���o�+�B����-1l�c�sѯz3t>���~�9E�/���0�{�U����jo�Y�--M��v�%�}D]��5@�7�/_>X.���voɓ ++x��7�7�[���Y��nǨ����R����>����,W{GG[b\�,�l��^�ȡϜl�t��g�-�����7���=u��f�ި2�Κ�d�p��� ��9�A��z/�e!���U��^�e,�����4� �f&�NtF�=I��Lq�P6g�ᦞ�t���aR�(FP-N�fn&%�̤��^ ++��)��vN�ĀR����͑�`z�]�u=�0ʓ[ �*A ++4s�'���� �,��B�P�h�Q&�ذŲ����������b;���0�Xﺣ;��k���O�ۓ5��m��z��6*$LN��Iw.�΅0sv�%�wa<茦��a�� ++��Z,�����u������R�Ȩ�0ۑY�����K����Z��(p3uY܈dT�H�u�$���נ�2� I�(�"j5ZJ ��������_-�������;�|�ۿ����~����F��G�+��ݫIx�S�{�]�ǧ�=��[���f���?��n�澗�1�7�?������{���DV�����s�0��~��˗x�$'ר�}��g��~��;�ݫoٰZ�ﻈ����>s�G�ݫ�L�C�z�����^q�+^>m@���gn�����ٗ~|v�RA/y}�K�1��z��.bTY��8�����PV����h�x|��%�jx��a��� ++a�ٺ�����dc�-VݰK�4n��,~��%w�q�ګ�����{{�v��.b�FY.W���O���J*>�̓�����=��_�ʗ�8����j����G����Շ|l��P7��k�k=�<?S��b;}�[��^P ++���h�/ց�����U�K�b��ղ��7�|e����/�e���qȄC� ++A��o��P���B��#;��Xh��D���W(*A�p#�:����?���0I"\�����;":�R�[��[ŕb[� ++�� K�����;*2�^�$�2)01�����]�������x��o�%q�:��O<���oܰ�%��W8H�F3_7�N���[v};�ZuF[:�{��CH~� ��W!�!�*�\������h��*��q�u)PD����l[�Xso���B0b��,���F���ʤ���ƒ�h� ++@�.�H�i85���n+�hD\y~�w�a��z���2$���0����?�����{�~��g^�گ���>�����y��_��g��[���^��?�+�8�q��{������o����>�+����*2~�}�#?���������������.��������oyǷ�������/E�˗�~���������w\ܞ�7������ͫ���w���xz������O��Χ��v�����������oK�����מx�w^�����Z�֝�a�/ ++�����b32 �U1�coou���-�N�Fb[��r��d8>�ۏNt}7F�\�7�vzr���\���0����n�'�۽���f�p��V���r��N61����&V�����[�ϛ�'Oݬ�<��?<odzG�G>��Y�go�A�:?��IƖ�Ԋ�2Srf03����lܺ�8JA),��i4`�X.�=����d��\��3z���v�Sa��$l�D�\2ҚD-dI�҉b� 7:�n,P�,�Q�d�~��H�L���?^�P�nl,NM*Ab1�ٍ(� D�V�K�L�@E��^�(�0�L0jH J9m��Aij�U�$��������e_�ם�Q�*��0pe[�od,O7g�����l2F#S�C9�Z�\����bϞZQ�VX��Y0Qc����ʘD(�(/L�%�Œ������h3t^Q�j��{d,��a;�]�$��:�a1��fn��,:��j�F�i9+N��m �_���v��+_�:2�:�c�ԧy�g���7?�����O�_~�ˎ�O���ӟ�죯y�}��z��O�ď^�t��>z������?|�=w]����l����}�����I��+��k������I��k��?����ޯ�ڻ?��{Ƿ��ʕK��]�x���~�C�{��|Ƿ}SW��o!���?�Ǟ�ٟ�տ�_�������ݸq�'�G}���=���z�[��u��_>��3������w����s_���a�{��������Q��ҥq����n�?�l�~Qkt��%�GdxYdȓ��b�t���$w�\�lR��Jk��������ӓ�by��Zob��F�9(n��7G���q��ȭ�������t�]���(����AƓC+q�E!+�Ijh"1���%�&�Rfp �5b /� ++ܽt=yi�ra���!W����~Y��л��Fs�MMf6�e�����F�f��\4�L�;k��t� '�/ $�Hks��>�8%��x��d�\Lg�X�5f�2�WxRs\�TU�0�b�H����� 0A�1��i�R��e������a8��2F<y̾d��`����Υ���t�B- 5Is#����G-E�@ Y�$ZT��z �aAvо��lr7�r��:��YڦG�����%�L�P_�q0Z�:�Y�bfC{�(��� ��q�tY�4Ilf���L�e�;��m×�^��O��O��m�x��������{{�g��x�� �{{�'�|���7���˗�����7~����o{����x��'���7}�[��|�����?�+�^��f%_����W䮻�����n/�Ư���ǟ|���?��yttr���k��w����{�[����|�3W�\z����l��X�y��C����^������ҥ}�]��_�@s����ds���㣣�����X5F06[w���͗+z�ctE�j+����a<]o�/�����`ߕ�u$;Z�n"4��};���Ɠ�wO]�n����q�>q�>֨�7ן9<�W�/�OO���������)׃�r�`��tQeB�/��l�t^��� ++b�b�]a�����ʒv���a�Yo�JoY�/�ղs��%�����#� �$�Y�&i�[CF�3���D18D�Nd��D�I�gc��>�l��I��M���ir���I�f �Ѷ��!�DjbH�mr� b�ʌ�9Ru�)�"2ˈj$3��[�t�f@�H�8 CD����6h��z2�ʄY0�CAb�lg6���Q!G��QR,�ӚԭWlO�:���Ǫ]10�}�� 2$��A��-3�n�P'���gf2@��M�v$#�0 ��h�!���?�l'k'\���_z��������-}�]�|���NNN�q���|��᮫w��Md������[�������?�/���w�u�������X������[�H�I���?�һ�����<��>�=�w���8��������ɩ��l#_�5�(����{��_�1�a�[0�������1݇�1��OG^^-��ǧ�_�xR�G���ݒ���_.�O70�v�>e(��:�9xYm���`��'�����z���uׯ�O<�]��{��e�Ǐ�e����ӥ_i?q����T���I"%b"��� ���%�a�;�(n(JQW�w�;�≃eGͻ��8,��;k5#��0���1�!%i�H�!L�9�dgZ��38�1�4�I�fi��e��~�'Dm�_���<_�����i����;�I7E�J!D�*����g,�)�Ԏz�D���uBdR� sA��B���a\u:N�Jd��m:q�CP�j��$'�)gT�3S1�m�����ӞiB��I��uʷ��jɛ��"gW���m��Y�*Ⱦ+L�i��a��Q#�R�#۩Id"���� ++π��=�-G�++;���_z�\,n��W����G����/���|\���������o�?���{����o�p���}�%�k�n��j����_>�����_�XW�O?��?����>��#��G�}��L߯�ye�\��?���w�|��������v��H�ה��|b�96�a���;>�t�ӊ{��i�H�U�4�q[��ӛ�ݲ�Ѯm������Sv�.]�ҟo��ĥ+�!�u|����x�ʫ5Ƅt��\_;���/�`ݞ��u��OTҝ ++% k�U�8��>���V��D`�b@h(�(�ҡ��te�++�W�wn�Rp��{c�[�l��%`F�HV��7��ٙl$�4i�z�3t��p�#�l�'�9LH��c&έ!���>�.��Ɵ9�Z��Y7���(&щ�T��D1�f�?g2��L!� &���!�m��5I0Z�e�j�5����fl.4P���;�-v�2-%!�f�`�2�Q�*��A1�e�@��uSf�g��q�kL�tb3�3OE�U�m����"J%D*i�8+Dw���H�J�F"LeRT�`�A�f�n�6t ++9 @�9�v����%���������ÿ�ۿ��o}����7}�[n�+����#�>�n_������{���w��|��|{D��������r�ҋ��8�Z���qD������]W�����_�{^~���{�G{�=����o�/�����?���������g���M�� ����������|�=��DZ��g��F�XǠ�`5������/�m1@a�������!eTכӨ9���W�˽�]�b�j����U�k���?���bQ�~�D�mO�xX�_��� l��@&���6OGr .`�lg�t��X���jJ�3�O��pg����/K�,�*���r�bEU�� ++J��Q �J7s�����)&Jd3�������3���$4�� �Γ�%)Ӽ_����L��EM��s���%�I�nV��pc#zI$P���(=ؖ�/�gH K� r�I�� �M�mS�g�&��a��: ++�0<�td�T$�Â9�ͻlf$��D<�U�$�.��"���x �2���� ++ٺk8g}lk;��S���u��ы{�2�4�cj��˔yD��2�T��Z�M�d�zi�������;��E�$��`�������?������� �?K�k��[=��SMr������=������;�?��/�x��ל9^�� o��'>�o����X�o}��}�����o�����O>� o}�����:>9=>9����v�?��������������]��>3{��˛������g����'鵯���W���f��R�c�� �L��k�I"����T3B���t���_~�ݜ�ry�d{|rs$�䧞����y�/t�]Z2��}��b��W��=Z�ɣ��$?�jP�9e�ղ����8�v � Y�1�}q��> ++�H����6�Z��5�&���a-'�W��-JYu�{Y��-;��W�JZF���=�N88�>9�4'��rf���b�H��uS���b��̠a�m4��̀e���j�7��`۲9B���'[���t��DkBn4H`����2�9{�S��IW�T*1%�I3��f���M6�L"9��$��dZ1�aNN�Hو����H C�6��I ++K�b ++#�ރ+����cUH�<��h2pc2�L����8���T���tzW�J饶ә.*���LՌT�'2!)J:�@&�l�ԛ��;�p��E��|�~�''}����y4l�C���^o�l��?��K:::�ti���8���t�\>7���?\%�����;�������n�m���n�ƽ4��V�����L�no�r+77�q����������G�@e$9�����a;<{<fD��7��x ���WV+��8:6�M��@$a/��7T�8>e�B1A�"���^<�24e�[���IPŧ�[�&���'��f���������x_�½#�����Ⱦ�8!$ ++��:� 0Z!;�#{G��{�r�� M"�iNu��:�7�� ��eCN~��֘Sܦ�yY�j�9���{�'��A'�����ٓ3�TL�r!�!� ���NF�kyRs3�&b[5�"3�h~���f ++�#.dd0�UC��F33/6ŷxӧ!aTDD���̊�X;L��jh��c�!�YSCƘ)�eTO#��n#)�rB*`L��D� ���9�(�Y[�#�<�Le��S�R��c����@ ++J̫�i6���~=w�a�^m�2������/��i��t���˗�������=Z��Et�t�K{dv���y���M�f3��a��5� ���qJ�� |ٻ�& 9�x���r�k<{�N�K�a�A���z��]SE5p�����0t�ޥ�Q���p|��G=�4I�pև �i�͛�� t�\��B�t*�I�ŋ�2As�bX�:��عuf���7ы�f}�����6����y�NKo�*`1 �F� 0X�T��=9A��4B�9W;��l�� �t�s���W��_>�����x��Wn;�/�Iy&ӱlb/���STrLs֜L�)�&�\v��#h��tM� ��d�d�Q FkZ��@f�����nfP�5�� @�L��\<�}ޜآ��0�j[^��ڈ�@�a�p"�������Vڅ���ij�Sɬ��i��M$;�Zev�a�ۉ��a���R��� �IDATہ�@*�Y7Y;�E�����y��V�'���t�k�_���HA^�c�]Y-Bd�˅�s���Ҳ� ++��n���fٛ�;�1�8lt|2U����E�#�[�H]-��\�frN�����p��vB��$�N�xN4��t��[+�a�P(���E���\�0�`2�L�kG���F��.mx-?��8o&g�-'�s��t���̂����Ũ�[�{�.P�y7j>�8���(�4kӔT'��E�[-J ++)˖1��?�HND�@�r^i4F��O2{��#�ٲE"��r�@O��f��3�E�3w�&�W�iH�mQ�3Zy�M��V�3�g���l�;���)�s���E�i\5�4�3��0q~?���I��]�M�)�%�E )3�?�V1�8�a�������/��E�}��j�;|Ea=��BBb���f<�y*��Jg;/�\^i�k��S ++���a��I�FJo&�,4�77)@%2��F�s�p����k��hа�h�Ԣ�����ryin�xot7���H���L���*9%��9ɽFS(�P����gD�Z9����y~����2%XO�1hH��]n��L^n�$ ������\#&�pK��oo��-��}s��n5���v�'���'��'S�%&D¤�dM�n�)G�t��j���F�Z� ++iR�i��*f���B����;�,�����';��i �Ѳ�N�F�f` ++�J�4�%S&���J�8���S��#�ɀC�� ++�f[E��# ����'6�E�$e��2�K*TSRDT�TF�^���/�z}�����/�E�ή}�×}W�Ƃ�f�y��$�L�m�8�\q� ��X�1�\������^��A��*�u9ȍr$[�3����1&8�uT)4@Q�[�-��k���N�jv��B+nF���m�Э��]R�"sj�>�B�:nbl�1Yo��te�zmD���$>�y���A1�jb��ĸhȦ�@�q�N'ׁ͖���v�\�H�V��ֳkAu>?��I�����x�1{V��m��D=����M;O�;�ʦG3��C5=2�T%RY'�Hn�����k�&"l6ޠzgo쭹�)�fLٌDq7CiӠ�����:*L�D�Sm'aT�b]Li2���K�$�L�����Mh�4tt��VA#O�`,��j��%$ym�up\8�c yFD�vō;��m�KC�w�t����ӁDl@e�k�D`��8�ٮ�9���J�ž2��RV�1�0�L���e��1�@H��Irα#�� ++�唖1T쯪��|Y�z�����3�h473N>]�f44I�dMJ���Hh�i-���i�$Ҙ�D�NhS�5ДiҚ\MQ����,DI�\�h$�6�ӭ��M�� >')o�~Z�֯yn#i����͵�/��0�f��D(�l?�HtAD�N��Lִ9&"MRP��̔i�q�@��u�ZGb�l�ʌ�2F��YG���@as���b-��9�L#L���N�1]�T3�43���v������3��Ī�����M�8�鄥`t0̜&Z���������̀��ɓ�^==2��<�4KI;�z�v���y�w��� Ů3����� x����B��J�Mҝ�P���l�l*������8�,�ٵE>+��QM�t���X��ݼw�����'E�H������L��5�PF6�p��PJJ�&1��4�SF��ek$hN���[�|*_d��e"ӓ3�l_�,�c�������Z�O-$���z��4���-r��=�Jζ��Ѥ��7%0e)Tq̌teXa��8��`"��~��l1~ ۺ�`���wv�±�9[Emjpn�'&)�0����YdB)��@R�D�em��bx���&;�sB��ɂV�89�i��,����f45�oN��� �)ː�<T���c���;��mŎ^����:�:���6fGO4��_d� ++�g�f�������䜲�g�!�a�h �,0�ì�u�{�+�رu�M�j�=�r�ϳ.�Ɯ35���T�hf��~�j_t���2MQ�`���M(r ++� ���,:Cq��8��}j��S�y�AsqĜ�0�d?'�m��E!{6�L)"s#��Z����H�t`Ϟj�'ϟG�!�8��s2�L�=A?��r�R��E2��1F:%�{���V�9/= 3���ؓ��7� k��� ++.Lz�� ++��dV������L�4yfۨ)�F$�m�q*vL��cʚj?$N��m�f��$��-"���9\&sk^�.�������P�)3����;���o���#��!��z����Y 1�4�|hs`��o%%1Sh�KL:��دۍ�M��ꖹ`8 ����j����G���u����;�b��R!Df��P1��s7x6����X��"B�H��4�ЖSb�Z�Ơ�<J����5n՚_��ޒK�vG�蝝���ʇ��;�6N#|g�u:�3�M�QX�f�kgǜ�ң�C�9?�\��{к��_��<�ܷmmA0m�4��$��Щ&d��T���=Y����%��4aL�xL�L��Ō�Y�(�z���7� ++#m6ĘM��f� Y!jFӌM�/��IJ7 �قն���%Q����4$(�.�����nV����F�dȦ��N�) 1�Z�JM���ZV�;��m�^���;���XN�*Eo$h��������^RH$��1����w�I�nԐlSb�jtZo�4wv�b^��� � ⨌�1Dk��΄L���+dN�|jʛ���5�I&��($T�j��L��F3��P����άwv���S�[�ƜPw��_�`���gË����.8J�u"���v�[���癜������CHn����\jG2��� U)�ɛ�%Z��!o�s)��B��b�6�bֹ���m�쌝� �i&�yI�n�s�ZP���9�S���)�!Μ=�T��lO��2��[t�����G�,�N3��6MdZ{;Z�ap#ݦ�f��N0i23��/�a�vx��K��a������c���;F��&z��� �� �]�`l�/̦�f��"6�-ʮ�}d�wƎ4�i�nN�܌,�D%jFdF�:F�T�&�^44�`��)�8�ijmJf*�7]� ++M�6�F�b���ѹ3��9�������;��8�1;N�z�x��6�<m�$+�R�21��KҾ�yp�\��?�ϳS?��q~���|0�Ӫso��$�I�w�ƒ�{(�h&svc�TL��M#���J0��<a4:[��- ++-��ّ�aT;��#�6v�p���5Y/�#�R�ZLb:���p��[�m���/�� 2���ٻky��6���f֖a-����Fs3��@#h��x�Fz��]r�;�p�UH���kv�J�W����D���v��@��d��%�|_���c��E����~P2k��`�O��&TË��}�v#�)ͼ��F�C��5�G��g\��}���\����,��TAM� -A�9��4� #��P#�ћ�w���� nl�~�C�'M|�g��05���Θ3;��g�;�繷3Yuz�=O�n�rFÿ�i�yU�c�b��L�m ++ѐ�9�,"��`gC���%�� ++��"�HVYJ��}Z��ͺb�[7��bg��D�6���JLV�V�.Q �a0�)ź]�if�TXz3�3�`����Fk����,VV��� i�l/3h^�� 3+����̰ 3���VXd�����a�n����//y�BC^:�_�͊�Oa ������i�˨<��0�0ku���7����5eVŬՅ4�Z�����g�53S��C�Pc�m��T뜞��|�/�!B�4I9���~�2oSs�vp�1(733���[s������s3ot���6�YJ�����.�>鋛�4U�}����>�z�>�.����Ooy³ך�88[����@�fI�I�zg2�Bst�Pm�@SxZ�˘��T�ުip��mQ�;�.����p�Z�ϒL���u/*��t��bf� ++qL���L*��|�s^(0[W�,ܺ⽛Y� ��jw�QK7s�s/Nwsg1#��dC�ɀ�HE(s��a�n#� z�7�f��W(&��9:D窰�ү�9�B�)əS; ++��D�YƉU;in��ّM�v���U���6%7�Y ++a23���!c�Ymۭ��.�A��CM��is�kܑ���SО���f� ��)�-��B�����hc�4o�+ۋ���b�y���l�Y�����l��pb4�\lR���w�g��6�9���rn����v��s|?ǹ��4��.����/�L�&���E������b�ϔI�RBSC �1g�Nc�FE;Cg6Y�M�P& �-d��P�בRB�ّ�F#�����L��Hu�L1�I��Y䜔#���K㲳E�d ++��d"����XG�Җ��}q74��F��+\S���\��rv�a�n�֩�/^H��a�/g�o��d`�\�2�Q'����E��*YgVh�tku���3�ܽ�żs8ݛ�;!� ++BJѪ�2��S���$�s�ĭ��Y�$C+3��u��'f5h�3sfn�M�63c1z#�lJ��5IX�Bx���������[��U�8t��.7�<?v~CħS�3w4�w} ++�Ћ���әA}~����*�'&=���r�*��LsԸ[tf{����#"����g���*J�*9GL��ֻu�n�[��5�� ++�͍ӊ�\�����D���y��}.���I�HB�9�&F��h�q# ++����]�w�/ކ\���9&�-8�JC�e����wn]�;��h~~R�o�Fnw�a�n�j���l��m�YvA�&� ������Hq�`�-&�lFj��bV�2�8�8�%:��ݍ���1ր�@JѸG0�7spT%�v�V>Js���&��f��������64�4�f�J �2�ڠ�M�M7me!nf.��M������<��!_�T2^��l?�;��d~���Cp<S�_���k�X�����2�h��F ���:{�<Mj���4�.�P ����P�TF`u�6���8 �Nv��ź�EǮX�j<���$H?��Ά�6:ٮg����`��R����6��IRI�#���-?'۔��E��ʲ/�F���'���A�-ƺ�cQ�+�3t�J�b4����L7m�V����v��v�K��;Mw��jh�E�҆��C��jr�Z�X����=Yl��+�2��,4�����й�f1t�f� ++m"���׀uf&���)C&~X,K!���D���"�G�h���b�7�-CY�6�7����7�5�X��h��l�t��mR �9����w��Q]?g��n� ��Co�AA�&`Aņ]����#�/*� l(�`oXxP��"(�w��!�����w��c�[BB��wo���,�9�7� �i�h��Ѳ����,9<�:��0!�=E�B����[+G�Dd*�����U�� A�3���,2`"�A*� 0 82d� f�������"�< �4M�)]~�˙OȀ�*ٟ��0��@���-� t)�;C��\(/+9�Vr�R ++�f2DD.8c��tI�L\��*��0��P���@������+���x�a � �ɀr���C� ++��e0��n�����U�*͈����H!Um$�$9g�� ++�a%2i�d�v�R%@����B'�C˘���C�J���*"r�]���gP�V�����rF���0���)9���K.� ����) !T�=L��K)! �G�O�)M��\�\9r-���Ca�to��Tƌ#��j��m&gR��S ���0B�աk@QgW�`����N-b���!�> �fN����Qg[v#XJ:�!�ʐwQ/��Qر3�@\y�А 9�KP!c)A���L�S�4�HS9$�8�%�����. �����V�k�2��:#�� �1�`&rd&0.��D@= ++�RG�%J�x���4�Ыb����+��c=.��p��@+C��)�QS(�ss�6�m0�@����<(�:�N5��oR�A�$縼&�Brn�)(��˺��**3G����\�q�`���3�:˞�307�qT�ո��ન��^���q�O��@ƥDa�9H?C��S0���X��ۖGAea��e2?�J�r�2��G�S�T\J�P�G�9��2^s� Q�6��rƀ3�� U��V�h�5� R%0D�ZJ��BGaQg7��1D�.tՅ�J1��Ο�|��/�eV��Gl�/��6t�3Hk;J\��-B��(��H57B0��)\�HS�G48�8w��c0��p��%�|�jl����w)g�RG0%�~R2U�F��#0?��vv����W���y\���b.�Ե��^�L����m���c�К�k���ae!mMD�rJ��^�g�o"�$�3�V�q+�l���I�Q���1r��@4�^��7�����.�:,͙R��%�l�1� �j�����c��wq�7�/ LS�&�RX��@8¨BHS��4}���শ,�WU?�C������V��*%��\�X50@&�1nW�V����)�;L̈�`J��@)��Pk�Z)�@�*�4�k�����3iٞ�u�d8F�X�"x]�U�{CJˀ���nY���[��ti�j�Ɂ��0�&��B���*7��`�! �P#�:Ŵ�֝� Aur��Ď֫�QG�n�8R��t����=��I������0x��� o��1<n�vq��:k0Ctqpr�bh�b�0ХK;����Ω�A ++(�?A�M���5�>�V��7+KI]\UV;���Cp1ΐ�3��\�=\�)��a�C�G*U��3��*wge�f��q��Z�%%����BC��0�?`L��R[dC<��~��3���0єV�UR�1��WNm�%Hi*��u��#2�J�L��c� ++�# ++��VE �@4J�o�*���Jxh�iQ��:��5���,v�,�4���T�dҲ�8p�Ue&QD���:Y��ꅕd\�$-��7V�N"04ՠ����TBr��*/j��2�`�s`�S�a0� ++b��}Z���� ��I_�^B�~@8C�C�a��4��eaG���y��W|�us���]�[�):�@}j�$��(ƙ�3��D�@K�$5��A�$g��>M��v�ޞ�0�T� Љ��De�樼��14�W1lfpt3���͐�b{�s�cG��v�i�����@k��j�48��`��`��f���a��BJ�<�� �)D��\������~a ++P1Q�ʽ0D��7���$�~>o ��)3c��3Й���nYU�aP�dK��n����_B�1к�I��!�OD寯}��t1K��������U>0��d�N����(�t.�t�ȼU$J�=F���h�.% sI�0��L�Q�838 ������J�l�0{ ������)"g��BH�E"c�3��n��7E ��#s,��bc\q1F��Ÿ���\UU���)��R"C�,h�ku�*���A��jy]P1J��8�0�BTcNVɞ�a/�h�d�@UX4t�j�b�͙��[������@���Ӫ^�2]h�Nl��H�92D�d�Br%������i�����R�����i�c����Hi ++Mi)KD��[�WW�#��9G�q�Ș.%�tY����u�:]�F'$���:�j:�B"@�_sK��kn����:8�.Σ������uv���Em�6:�V�[��w�^.��t�Cz�]ڈQՌg� )���sT [�#� �'�Z ++B 0ǧm�k��g����f�48x\��7z���\.��n�q�7z\ܥ&��a��� ����j����z��DV��18v��~MDIrV�k�$��I��qj�GƵ2持�8482@�s��T��O��znU;�1C�q�S����� �K谱�"@��O���J0�!�\H) ��Ā0��)��SJRL���39����̀)�B ++SrS���L9RP�=�C�r{3��ʱ��IeW`Ȭ5�ʂj|:em�� �IDAT�u��-?W�Z�Nd���^��Dz�Bt��0���� ++6DG�?�>R�����J@ &�|(ڵ�<�=m���:��!v6�0+O&AסDܺ������W����W*W�swE[�d�Jj��n���X�L)��fA���mp��n�qqCO�ca�ϣ�.�0�t�Z��2��\v�g�A� ��B��5�N�)k���*�s%����3�d����\L��1��Jd�83�s���Lr+dg��p���I�����̜I)�r�J.A�%*$u��I�����a��h��s_����o�����T�Z�b�8"2�J�5k�p�����p���(���X��[�ZRXG+��A�1@�h�+5Z��pƖ��w�³���N� @h1�`��(�4�R,`e��@�B����3�gs�m��B��=�k �%)B�Z�����6���"������wv02��@MT���&z�S�,}B�� ���zWO]"Wr���!&y��`!!|�#����5A%LQ��-���#G��O�*��x��Ν..�N'�%N/1n�����@y�AI�Jcl��� `*�m��c*�����j�6�H��|hE+�J�� ��Z���8(�&E��Z��:�)�H_���������3�X�}��e@�UGeᖸVK�uuL-Mc8��q�����VL@U����g���2���� N�k4k���r@+kG� ++�;E��8��<I��@.� ����vaK���Ӂ�URZqV-[�i�W ++JEi)u]����^�iwE��:�/���*+�\��<�9� �q�XR^�\�r�(�4 R?��kz]*�$GD`��1r<�j��*(o�h�78�u�bCA�LQ����FN���-����Uk��ܢy3�x�|���33�z���w� '���Sƍ���{6nܠ$�C�b\nC;C���;*�3�Tr=�A�4 �C��(�*l��z&�]Lř�B��IZ��r`��8�z�#�. �}��K��q����l��&3����2�1��*^%&fLr�9�3�7��b�L�B(A ++@ZjA,�⦶�F����h;��1Qap)���]��HF2�:�� �xrdI���X�X�jG!%S�̚�`ߚ) �,��6�;z�uZ�Z�=�T+J�M�c�!!e���Ofw� ++�[�����#���s����K`�9��C���SڗV �Uw���vR� �����ȑ�yi믿���O�tߝw�)����ϼ�s������_���_�G�t�����Q�3�RROK�i��k��!yM�Ĺ�U�jpqΙ*����%ĸ����0MT+�@'#���Z6^�y�NJ�N%Ǵ{A�o��H���Py��P�Z�\�����Sm�..�܀40�{2!�s01.��Y�0�܀�����QW�A�UF��M�_�*� �RU�:, ����ܜ���!m�lG$�r�oC�v����48��r���6 ++."��?$aB[=\P5n�� :߆�`;�7��PZ���J�t�XQm�ڡ�n>mt�I�|��vSk���DŽ��f�MX�|k; ++D��JL�j@�>�4����ѣ����l ++$�D]p�<��������"A���4.m��ӯ>��Ï=}�����s����������Y�d�-�0��5+��D>)&�$�_��O�K3�.�B�3,_5Gƹ��7�����6���xmҴ� !�m��4̀���E[�<����bb�Ev�?����\H���p�2���wfN��Ȱo���v�ݴ{�������.�C��ɇ��8�5F�f\�6 $tnݼq�����[�bB����ٴq�~�M��qf0���uSUb�:��*k ++GG���ܜs�g�t�QJ��U�F�5���ܬ^�rq��7oOڛ���L��&���(��5�2��lH/u��MԮ�b�*�7�]s���;��Hi�䡆�H���>��_\S��r=5���&�k�#:��pP�i�Z��C;~����O�zK����y����Gٻ�V�,��2�g?��E�u�V$>2�I���)�-��Lyά/�� P�f��� ��s��:Oc�����+�[�w�Ï==�;r����z#��}��:t�;o���G�[�bu����ڷ:�����-I˖��T�b�����㜧JJھc���:_��z��3~�}v��W�ZU��^�j�F /Y���N�/?z��B�[�x���-�kv���l۱w���];@Nn���[�^��5֬�[�J��� !���'&ƣ9~<}��y>��v��O�\!���R\�B0�.���+�=u��+���Ԁ+%���4�S3`�[v'/ߺ�b�����Z�as�Fu�cc�<r�豶M.ߴ�]�F'�r��c���t����Z� ++�R_Ь��Դ�5�VI(߱e�X�{��M=;���x�:��3aZ/l����j�odb��?�]�傖��؟�^ڥ]�-{�3���P��،��jͤ���sD����M?�=k�VD0Pkk�`.�.�t�T�@H�Qeڼ�ڞ������k�vKK �v�:h���M3�s�&�B�����JQ����ժ�\�����1�-Zqq��;�Z#�&��(-��c�qމ*�����$��[���2@H;\m e�>w��B,R:�D:<l� l���!wjs�]?2(��`�uyR��J�!��A���Z&t�@�w��: ++=6B���A���NO��a���~�?�?P�^��5hP��x�I�֑$'��|��͚�����>=�+��Ž�����y튞]`�G��������I�8��������}��}�o���>�z������C7�rw|\\�r��oؘ�P���W�p}��O�ܩ㚵Z�h~ݵWz�ɵ�6�M���{��q��c^F�_�����?�X�'����~r؛o��uu�O>�f=����z����Ͽ>�8�v��}���eg�T�Vu��}EU�,#�p�"���9��ʣ�2i�=ّ���Y9��ժ8c����}��6���ʩ���ձe�\��A���J�g ++�ÜEw_�-#3�b9��}) �q{^�i�-�:8�z~�z��Fw1����?l�KM����� ++!���(�@���� h����~��L%��iK6H)�2���a��`�@��RFK�Y�h Ra�����*ʇ%����t��n;��6�(��`@Wա�גR)v�o3�dw� ++h鐘��WFqi[�����"3X牴�+ ++)��Z:3�8�٩�1���B(�Zi�H��i=&RNJ�.�r�3+%��$�qj�}f����)ӏ�,8���G����^��[X�R�A�(� �{��߽�eƿݬi�y�����|�Q�Z5N�$������A��9۶RO���w�ڶ���N�v�����^ѳ��5��7����rs����={������G?ӴI���?��9�4Ō_���2���:��v��-I�����,����|�ѧ�7l���7n�2��{�:��ɧ�����wڶ9����0�����5kV1jL�r�f��]�r��>�?O=_��$�V����FD�2��*����*i�����og/tM7o�g���*�'$0��+?����Oڵ����/-4-] B���[Z6L���iV��/`��so��Z��mw������ӽ}����9����'��!D�������t�dΊ �*&��㒿VlPɵ9㖋��)%��k�P �]�:=+g��$�����`%,�G��������vɼ��t���m�5[vZ�Z��!�� ��4���Y�uW����H �˜����R]{y���7V�X^�P-1��y��=8&Ρ�p��|V �Fd���:��$ed���s��r�f���#/dO��g�w �[i��}r��%8�k:�ձ��,lDq�o.�ff���*�i�v���"C1B��?� ������_��Z��z}y�N�=�z��O|��Lj���96���Oz�ի]ѳ���ߵk���ͤ�w�~s�*�+V�0{μ5k��ݻ?3+�fϙW�b��o��<O�� ���� �/y���~6�N�ȬX!�s�U�T>��j��p�]�y������n�w��X@�lѬ}�6�]���nؠ^�6�@Ӧ�����C �-_���'˕���ukj �.dl?9�sD�q��\�jP~c���?�����r#��*�6��ߧ�`���u8n��������������`�����,�d�ר���5��QH�v��+��-C���gʺ�🭋7&I)�%\�q�� �$̥��04x@+}��@p֪�RJ��!48�\c@';�� J$-�g벍IB�m�U���T����7^�vs���� �8H��|c��Mۄ�;�T/��8�/���â(��2�8N,���.���#��!K����$����֊m��m��Z�YH��{-���"����zW/L�t��H�~�<�C�(���R��= ++��� ����o��A��.�#~�lm���5���}�!�pEϮ]x���;�Y6�w����:uj�ykܭ7�ߵk��\�R��.�_?q��M��r�@�J#+�����Y�bu�+��u�^����o�y/!����_�v��n� ++�<t�����T�Xa����c:[���G���+U*���9���@5c�X�쭌l*�D� ��Mm�Uu��FB�*݅�`�����W�JK"+<)A�`2�V�]�[W5��-v�~VT�g�.���\R8�5�:*�r;������2)m�$��ƦCb���T���D�VԐ(����� ++���оQ<��R ��N���.<Y-v�0#���� ,��Y[Q^K���*�,+���m����$���� !u"t����9��j��s�Z�-�V��S1H�s���n�^��g�����Q�DYDRt�3��:�k%֩}�=��n��T�Q���H)���ۨQ�������hִ���A�z���ggg��7�������ofd����8��{���6�~�����V������e�ݱcW�� ���v��~�17ח�kԨ�ۻ/���I�S�$�Ya-�I�K�|N/MmV�b�),Q��*Jj��oU��d��X�1AJ�&H�6�2Q0� �Z�A�O���9].n�3f�������s�#��6�m�6��TfR ++��*[� ++!d(B ++S ++S ++�GJ5��u���E��>�?����R����R���)A��)����>��Q�kk7X��N��f�{֧�2x�I��C!�S ��T��I�Vk��R��(�}��z��w.�D�jO)�4���� �kW�PG�� e ++��h�WI8�� ����*U*�\����m����#������T���y�;�z�z�Ϸ}Ǯ ye��';;'0��S�m�1}�,������o�>�ч�;z,���g�8��hӺ�%_���3���;����y�W�T��Awy<���"�_t�@��[��7�~���%�f��}Ǯ�F �ƍdg�|��O͚6~}�����{]���olu~���r�7���G�30���A�!�P��ۑ��o2뉾ԁ:�2�9¢��4��4�Z7�[p 5-�y��a�v#S�&F�:M+�v ؝��qX]�%��.�TR����`� L���s0�6YL=la�ބct�t�8>�#���:��J����V�#�����F�� њ���꼺nbX�ul��!ꕈR����n:�!X� @��7����#IH��$a���E|/A�uh�s�}#�H���!A�,E��o���C�+HQ��ϳd�%KW�\�ڵj�u�-��{;��g�C�~�{�~u�t��ݼ��V�}�ְ�_���[9����*''������a�<����^���.��}�5�ns6#L����e�sO��θ�_}�B���F�lu�y�pEϮ�\|�K/��zc{�~U�&�?���'��s��.����}�ߙ(2Sg�I%f��C-/��+J�j�c� ��-��`YuC�%QZ�ʑR��%��$47X�A��_r�����#b� $�`w�d�ev���^�CN�D�a!^�<4�*Sog���:�'��Y�dv��vƇ��L90��I����B� R0i[���F��Rg�@D�3�����rz�L�@��-9% ++"������k��m��^%�8���Ú�H�"� � J ++�c'�)�M��L���?�^�z�ȏ8T�B������}�!uj���99�O>�U�V����BvR����C�j֨�����ʕ+�7����GS��v&��B�U�%߲b��Y��bi������Ѡw>�_�AC���!L��<�����]�a���8y�۹�,Z�1��v����u�^�<�F�=�wBd��P�N~��$r��IEԆ�=!Rչ�� J���G� !�u��4lg�?k�IX3�(-�v�G2��';���NYN�8���2����r�X� ����Bu�6�'���5���֭۫V���P>;;;33�g���;!�Hn0�I0��GU�����T�\�@��6t�:��)%Ǡ^ ++�Z�r�7����l!5��f�G$�Dq2�����j��m��찎ː:��|��lN7/:��G\����Ev��X�ҰKY.;�o/x���G}����hޓ��U�Ҏ�k)���9qv"�Z��2��D������M�j���Ġ�G�Þ��1%q�ޥ����)쎵�8�\�����1��N� "�p��A�Hi��Ea��O?��+�N�->>>#��-7]��#�����I��_o�8Uw�m�f�5��*[HА��3���cH��N�M�)�[����dvv�Ƅ�I��Cbw�z���0}Y@� P�Lg�J�����VN�0k�t����v��\!��w��!�'Z�:O+�.ET� �p��:�v ��v� Z��Ǒq�V���UvkM�6c�[%��j���9!��(O l×��c#8��`��G����<@�#`��ל ���l��ݻ]6��i;v�Bԫ['��Q��b�XQ�FQ<vN:�M���E(�`(���V��s�X�͢��W�˶ȴ}a�#�������$��E�o���L��T�k-�Q�d�1�*v�#��[P�u���"�z����?��hA\�d��U�vYp�:�Zn%��I�m�3��lÆ���.��vc��tɮ#�%ӥ^; ۽�3;)լ@���n�(.��wK�=7c±V{n��Q���+j����� ���l����r��~�i!aA(��ψ����!;�BVh���y,͢W���&\�8uvޭ�$��Ob��s�Ğ �.DQ�����2TfAvX5$"��:B�*��<H{]l����~�0sHd�f�i�qHd[��|�<62��cyk?})�)B�,�����L�f+����rIi=;��[������:Z8�A��cz�X�����Y�Fw��$;�nY�U��آ��G�ط�,��A��g��&�R�-SlE)�l�$A�\g�1B��9w��!$H�߰��C3� ++ͨ1oG���B��O����N?w~�;������L@H�B��th���~<��y,����P��+�_��JgVA�.�,�<AH���a��Gq*�~Y����-�/X����6w��i���8�~�o�`�;�R��}naw�:��B���ޗ�h��:��Ƴ!N����� `?��xAqZ9��54��#\��Xx���]�0(��dA7 ++�bq(9ǩ����%��D�(yz��'n�&�(�)���L�vDVU ��ۡ���� �F� ��s�" � t�}_R�����*j�0�8����xѱ!�����#t�қQ�%LuJ�̶�8���Vc���@��*��0���1��R�!4f쿚{ �sE���&A���{��(�Z����_{� J�s\^e۫P��u� C�3�g)�����8O��`��p�.;E����F�L��G�e��T��3��Y�� o��Sːq����Yr����%��鄳|�P�hn���4)!�dp~�h� ��ٟ�=��ۦ#55���?Z C0%0;��#���s�� �T��� �IDATkmm�֥T7�R��B"���|ط`���:;$V�c�,,�a� ���5��z3�&�9g�u��d���2�e������`��V��N�!�e0�� S�%9�f�P9�]px��"�_d[�� t� �}.�'!S�� ��Q�o��"7:��.�,������`���ά)zB�P+�P�|�L#��y|[�l)�s�V37Tc��f'��]D��H�V���_c�B��i���y��2xka�`��ξ���{j���E'�:AD1R��ʜ6��Om�n�i\���,��2AA�9 ++WV��|� � � ++�k� � �(6H^AAD�qn��R�_&� � �.禼&� � ��¹�����AA�i���DY���IA�Y�9%�)tMAA�^�)yMAA���AAQl��&�r��#i�#i�� !N�E� �( ++��:�k�,'3���? Od���Z�@�t_� � �������#�ZҺƳ�|s���D؋�G 0��.� � �8ݘ�I� �c ++�����HaAD��4M��W�����2�>ב2��i�����5�0�h�JAe !D (����q(��L� � �(�&�7n�<�)/=t舔�j��=�u�c�M�5(�KAAD)����w ++y��,77��W���ϿnЯ[���խ#�عk�o�Ϟ���{���#�����g�9�Tw�L5N�s唣A�T���O����MAA��U^�|��x">>�W_,_�\�w�w���ڿ�����O3�Z��R�-��AA��5������Ǎ���y�nx��|,�d���U�T����,]���?��SR{��m;��B� � �(1N1z�!�m�1���m ++�åW��\���m[o�gӽ�gee�6jx��5y��s��9>>.��^}k�� a��w����^���O'�����S�T���R�9�^Aq�S���Ͽ̼������z�L�������LO����_�Zש]k�_m��{���g�˓����I�Eiq').CAQ2)s��e+��(�x<��?y��3.��C�&����K:|3i2�t��#"�xC�%KW\w핑'�����ů�~kڤ��ޣ�nޒ�^�X�f���.j���j���w��Ӿ]��mZ@FƉ�K�w��y��ջv��vy�ڵk&m۱h���5�p��Z~�]�Ϫ����M���2�H�AA�I��uʁ�M�4R��oy��-ϳ?�ѽ����Ndf*�۠~����.�%F�z�Xj*"�����>a��>��lٺ�V�c�7�������)��֦��{�%gff�3�����������c�R���^=����M���I-�k���͗u�x�����}��*+CAe�b)+S����r��i�&�.h�Z%BNj�ms�҅,�;�V�?�<�>��ݻ��1c����Kcߟ����vn�¹3���svv��E�f��ӂ���n��?� +++W����W�|��w�L�5s�_/X�xy��My�����v��&� �2c��v{<����+R��y��7�z�7\{Ӎ��Y�v����?�lѼ�uW�-���Q�Z!.qm�>*X�n�����9����N����m�w*���W]�9�Z�rBB�Ν:V�R �ԯ�|&��̯X�¶m;�m� ��+WZ�ac�K;e"��C � �4�s���[�Ë$�?����k���O�n��ݷ_iݪ����#O�ٻ�jԨvq�`��yW���(�bMS���C��.�OS���.j�p�ι�>���cذA�jU��IB� ��snF�\"E��۷��}�?f�5�''~�v���@z�vk�������6n�2n�E��M���+V�0��W���-� ++p`�e�W��8�I���(�_(� � J����#4{��>Ⅱ��A�~��v�����{��|����<���y,6�x�}筳����~:r���(CvA��ߜ�������`߾�Ͽ�N�R�D�r�gb��5AA�5���v���}z�h߮��)����]:}�����}Ǯ{=~c�ko�߷p틤{��^��[��t�U7�|���x`��U'~����+�]ѯG����=�ر��jAAA�)Tm��������o���������/Y������ň���CU�Vv�N�q��CG��ب%$���=�~F�'��T�d�F��[�g#� �̒��U���S^!=��;v�/_�a�z�����}=O!�u*�v�Y̔�&� �,����3Diכ�Li�.�k� � � ++'��(m���kL� � �܄AAD�Aiz � �S&++++++HI� �(� �a^��䭛�*�K�M� �(IL�<~����;��Ag)���OKK��ήP���.]�s)j� �5Ae��w���"y���fcq6���Eښ �2���+\��A� �((%��AD1B�(��"'�8� g� A��$��]�X��t#�8�P�� �(%��E�k� � �(6H^AAD�A�Q�;AAD����!YGAA'���AAQl��&� � �b��5A�Rf͚5m�4�HMM?~����O�>�o]��2�(VRRR����t+� � ��Dq!)1y�;v�?��}Ŋ,����̱cǦ����TR�իWgff��3g��ݻwA$���|������(�4x��ɓ'���A�y/m,uKI�g'[�lB˩���o��֙3g6j���w���_V�X�XNN�3{�줤�ƍ���]vYA�✿���5j�8�M#�(Q ++�9D�B�MgIIIIII���c,��%)�u�RRR�7oޠA{{VV֚5k����IKKkٲenn���R"�u��ׯ����iӦ�M�֯_?==}ժU^��C���o��#G֮]ۮ]�����/q��گ_�뮻ιqӦM���'N�غukÆ 3226l�۶m[u�!�*V������ԢE�ݻw��I�&u��93�!��1eʔ={�<������Q��v�ڵk�3״p ++.��,�&��w����o�5jT�N���ۗ��һw����#V�Zոq�!C����;}��Q�ݻwĈ������|��k֬y���7n�hƐ!CZ�j�bŊr���ܹ��_��/ʕ+��?�6����u��=��#:tشiS�*U&L�_�@�a�=Z�|������9WG�٬Y��������ݻ��'��<yr||�֭[}���}n���k��655����ٳ����cG��8q�sIĹ̕W^��3ό=������� /���t���7.�^�A�$��$%%�9r�ĉ�|�ɴiӺt��ό36o�<eʔ��{��>1b��&�Y�f&L��?���_�Z�jر~���?��1cF�=>��� &L�2e����1�dgg:t�����Ό3bbbfΜy�{L�U<xp̘1}���ׯ�o��fo�~��_|q饗~��wo���ĉ��I�&E=O�ڵ���o���Y�f.,��Q��z��G�o߫��j����_z�%�(]�����8�Y�re������rըQ#---l�?���I�&�W�����cǎ�߿_9�OJ�.]T4�Q�F�a��`�z��9�������s�N���E���Z�j6l�馛����Y̰a�+U��`��7�x�nݺ-[���;z�^��W��a��������������A�ԩ��Kկ_�СC%�� J/Ja?��3#G�4MJ���2R��,?�'�s�СZ�j�6��ٳ���̘1C����n��^��ZS���*�Ȝ9s�D,�j'��p�w��_}����땼��z��sBι�dA�(����&$$��⋥P[E� ��P�f�)S���i�V#iժU�J��zꩨ�*i��dɋڵk�O<Q�f�BN�㘦��J43�bbbbbb�t��8;�z���ޙnE~���(:��x�ܹ�ѣG����,\�ж>����f}�M7}��gs�����ػw�2rب|�֭;x���?��7nܸO�>o��Vrrrzz��(a6Qp�M�6z��[��߿���ONN����t�� �E�^�K�?���W�Y��#<�0�]���W�ש]���"���Z�j�?��g�}���.��^�z)I]�Z�>}�<��3��w�6mƏ?r��}�����<���:u�ϐ�����>��s���S����qĈo��vϞ=��۷1b��& ++H�=���?t��������1c�(�5A�9 ++߱<> {�z��7k���'���F�!33띱nM��������]�x���F�������z�����L\��xqih����R����5+�۔�ř�Y��*"�ifddT�P��QJ���foTV鄄���mFF�a��Z������˗/_�É�����|>B���'$$俄� �P�cVVV!.TTu�z��|�5���y�3���k��s����7Ƽ׳w��� }nDJ�A���:ؾc�OS��ŧ�zT���?��0m ���܈��*U�kNX�\��T����%mM�X� ++H[q�Spy]��|��">>.�s�G�4u��}��y�ͻw�������_��� � �g>s�i����{���?����y��ǎ��R~�e��$5jX��.��5k7��Ɩ/?����/�ذa������?�y�k�Ή����q��}��S�]�z�¥�S��ٵf�ꑍINN��`��pu�ڹJ�J����_���w�ҩV��C�M]�jm����!s9AAĹN ��U+���v������[����R�2��G����6��w_���6�O>����#;w퉍��S�&����W)�zg��Ƕo�f��}��-X��W�V5-=�ر�M�b����ʅ|������y�r�J�����>7�}�6�0��'�����o�w���Ϛ�?�������������p�Ǝ � �(;���y_�c�ݚ��خC����q����+�9z�?��?9���[��O>�z�ҕS~�b��o�����P��������ֽ�e/�|�y�&���q�o��������@ԍ����q�m�=}�/�;�����mHO�xn�+���jά���s��/|����@zz���Fv���9���m�7_~X�Z��/�ٗ���qcbc)�+AAq���{�&�1s����9����s�V-g����?�v݆o���Ͽ�?g��ֵS�f��F�j�U��yͺ\v ��8��t��jU����o?O��9۸iKz��ȍBh�I����� �8p0����Uk�O��[��s~�m7�ٻo����?v,��Aw�ed�<�>d��S&O�u��#jԨVL�FQ��e�A�QJ��봘C��BzzF�˯��<1乱o���!^���Aw�}�-/�<z�[�zt�r��6�[F��v�ԋÇ�J)W�Y�}�.��m��>�1�$�3!�sˡCG��b���b� ++�p�����öy}�{�˗����^rQ>];ۡ�)qaƩV,"�( �d���^�0��̬��!Ӧ������,AJ�����9ɖ�ۚ5m����k������)ԯ��mG>G%&�v�\��|�m��`o�ȍ�Q����}�.�}�4jX?&��I�vt��]�!�>|o�ƍ?9��5���� �2�^oZZڙnA�)S,�) ++HQ�!�.h���O��������;o�u�o9j̒�+�/X���+W�ԺU�;|��?�z��}�N���/&�h���|��g-;v���E�/Yu���Pk�'���2�]������ƻ7m^�vû�}Խ�eu�Ժ�}��7���k�nؼ%i���;�+E?8�+z^~Y���W�*ZIq6��z����LA���]���k�ߚ���ν���جe��]�R%W23�+x���ί����E���A=y�xڄ�o��������aC��Y��n1jLT��������G���>�y����v�1/:w�X�b�F��9���bcc�����hذ�k���8��ƾw��A���c�=as���=�{��O>���cV�P��h8�S�BR�A�!�nwd���J�����.�=1���s�[�^���7F����iB�J�B�o����CիW�<ϙ���?r�h����7F%;;'''G�� 5�8�|�r��CĄ�RY��L��K��Z:�_抢D� ++++++P�Z� J'�h���-ʿ΅+�~Z�u���BA�:��AA��ק+1AAA����&� � �b��5AAA$� � � �� yMAA�F�Շ<�0QFQ�m�"� �@��*�BAQ: yMAA��k��P� � "�k� � �(6H^AAD�Qz2� �z �:YYYg� AA�aJ��&��MLJ^��L7� � �b�p�32�AAD�=z��v?ߕ�N䢔-Ӕ���X����٠�h[+������AqE^O����R��lJ�F�*��G/��{��L7� � �s�py=�_�+{�HS����W���R�AA�YB��>�,u���D�`)� � �8Ä���9yB��ݽAA�qB���c�N� � �����>��AAQxB�5��#� � ��@ee� � �� yMAA�F���A�YYYYYY�@�*�Q:AD�0�^���-�K��&� N�4�?����tC� �CJ�����Ҳ��+T��9/�KU^_\��2*�;+8�/� ++,�M� �2ik� �>�����+W.�+U^�e�%��P~ҹmm|�*�ꏩZ5AD�&++��5Ae�ϗ��Ub.�����^��u�x|�3kW���}b�Bq����2��v7����GD�z@�_(��Q��(2��l� �����3�� ��P���2�T��Oo���w����o��T��>�SS�x���Q=_����1AD� g� A��$��mi�c�٤5����R>��^����@7����_��+�M��\ԉ~ڷ6�����_��)�{"f�!5z5����òj�mƼn�{��xL�*#7����`�^yU#V�<��E��.���D<rf&�#���u��z�z9X�W�O�5b�k}�<Y�H��9�vT�>,9B��,�"�I����=��I�wC���� ��CyB�(����W���vu�{�����0���k���LyA=lU7����'��b8|��h^��~�]���9���Y/VK@_@�O3���M�pS9-0{�lU9��n������,�uC\���n��8�o��>"b�{6��@��챞<3Gf�a@|w�9m�x�+o�/�4���5pHo��/o*|�ߨ]���:�K�w��F�?�xa5�sT��&� �8�(����2���'4��_-KR$��Ț�ħ&��M�/���^U|}f`j��/o2��O5M o���u�����#7@�~X&>Z-�T� ����/��M�b�O&GhQ ��%�������>�Ѹ���f�j���!�\��+���,��n����Zy��+��l������^�i����'�!*AA�9F�y�W�W4?۪}����'o�:��J�a5|�Fc���.l�6�KH�HJ��2����I���x�iM<�w�f��aRBbe�e#��_����4T��ؘ,[�f/u�������ve������n�jy�Z��E�rxq ����ҔpQv$�i��m�*Ăۀ�U��~Y+H[AA��[�z�B�����ܢ%uz�[XPkD��,./��:�9�d�8�-�_�2��)�и:֬�E���2��ȓH �^[`�>*\�z��|k����|-�Ȇu{��4�_�`��� yE3fJQ=���/� ٭��T$�ٖ���dO$� �8)6y}脼����l`;בLX�O�[(�(���X���p"��7�K����p0]֩�_�ͩ�0{��2(�c8Dn�!ᛍb�&�lg6��}�|�O9��/��/v�����m�6پ>L<�&�}�sv���� �IDAT�q��#�5�\�"�AAĹIQ���,h[�&K�8tB������Y5<�w���M�W�6�ۅ�� �9�4YƯ��ş����*/�����βŜc�_������T��lW���;dԍQ/���k��Ųd�� �1�38�"6�7 ++j�i��m�-����N]k>��x���m��]ϫ������AA�4E��/� ++�rU������O[e%�ٯ�������r����\��_Q��p����a�(Hޘg>��٫� ��W��CF���n��apO�む ��[�˯��C�4>��8�!�����^{D�9"�V�i��٦l�U��[:�/�B��m�lԈ�aAA% ++ ++�1�ͧ+ܟ�p�����Cؗ��ŠQyܞ.�yDž�ԍǤ4�4<G���$���Y� ހ�^ܞ^ g�:|w��>IB�$X�HFؖ����jV�����x����|�'O�1c��s���X�b1�� ������>���7nܻwo��رc���C=T�V��s�^�zȐ!�?��sٲe�?������ۡC����z���Kff�m�����F�5`��V�Z��Nq�P�f�S=�p�j�-sH�ٟ���/`����5�d`��pucTL ���5��@��}8ik�Ќ7����瞝;w�1�L�� ++Ö-[>l������������G�nذAm_�f�k��֧O����������f�4%%eϞ=� ��?��'J�A�@��{M�,B������������W�^N=�iӦ]���}�5u5|�?7aH�A��Vъnq��G[��������Ӫm����Z7�m��"p�Edʆ�W���\�"{�����<�ɹ��{���ɹ�ychhheeEQTJJ������rhh������~eeeXXXee�������U�¼����|33���輼<{{{qyjjjLL������M�^�!eee \.�����ؘ����Ǜ�����3��|��w��4MGDDdgg4��Ą9t\\���UlllII�����ILy\\\VV���E�~��O�tTTTFF�������ŗ����ٳg������Eijj�ٶN������NHH��ζ�������ʊ��211y��:�݅z���~��Ǖ+W>\�m�.���+--m�ʕ,ֿ���`۶mcǎ;v���V�5�4�X,�۷oO�2EWW��(UUUB�P(ܾ}��+W���cbb>���>��ҥK���������7nd�X+V�PPP �lܸ�̙3fffyyy�_�|��/������秦�������KII����_}��ĉ333����;���jjj~��7�ϟ�����o�-[�`�BHff�nܸ����y��/^����^�z���....\�p����nj#��L��a����UTT����9���P����æM�������_�x�x��U�VQU\\�d�MMM �[�n/^�x ��UUU��r;;;f�ӦMKHH����p8�~�����555���/^�8t�P��=Nqq�?�8q�ę3gJ�-���L�:��o����_���6�M�6m"��3Fʍ{�5��m۶��o�?~��%K,X`hhH�y��k�nܸahhX\\,��~��M///KKKBȆ lll֭[GQԑ#G>��o��۷�~!!$##cÆ cǎ�r�������F��~���y���;�����Y,����S��n�M�6]�pa�Ν7n�`�upp�������_�������իW;;;3������ݓ���s�ӦM[�x1EQ�駟�_�^��իW|||ttt��ҦO�>bĈ1c������Ԝ<y��b���/Y�$##������uZngg������v�*//=z��G����p֬Y���x�iJJJ~��7o�8;;S���Z�������~����ۙ�\L�i���lZ{ �3����ܹs۷o�䉫��[�!~~~⨭������T�8q"�����._������ɓ�� 6����������4��F�ý�������'�����^^^��gii���.!DMM�����˗/^LJJJHH ��?>44������s�Υ(���o���aaaAAAeee���YYÝ<<<�gkB�������������t�������ܘ-FFF3f�$����0�1tuu ++ ++��o�`����,KMM�_�~NNN���l6���433S2o!�@aa��ׯW�\y��9ftu��?����1 ;77w˖-2��I�x���PTTtuu�믿�-[�z�j.��������`M�AII�H$ ++ ������MII�<yr���w"//τ77�C�ݹsgʔ)�������l�ӧO+((�����|B������]pppVV֓'O�!iii���́>|���ΌH!�4��� ��Mo�맥�՞5EKK���b���!!!��Ǎ7���\\\�u��6��:j7��f��O[[��-�������<���߶m۬Y�F�q�� �'�y�����}���1s�4�I�EEEE�f�&u��(�����eff��ۗ"//?~���{�XZZ�z����tttTTT�ϟ?~�xq�P(�_���F�aoo����z��#G9r���r�ƍ��@�Tsww�}������ѣ�>u+++--�5k���!��ݬ��4�e``�t��YYY%''��&$$���B���tuu������<==�+���Cg266OB���d��ZZZ�SCCC333BȲe�����x�b����w&�����H���0{�li4����o�>i��)��^��B��TQQQ'N<u�T|||tt��s����LLL�ϟ��___.�|���:���U�V�ٳ'66���<&&&..����- ++w��QQQ��pX,����x����4j^^^��NNN���ǎG����<y��Çeee���-��w����ʊ��=x���+��Jj�7o��˗����\���wpp���+!�ŋ������_�l���?�Xˡӌ7��˗�����,Ǐ����w,���zxx<x���ZSSs�̙Ǐ�����̼x�bvv����T�� )����#�P��+1F�$ ���������ѣG�ٱc!dܸq����z�:t�����n���r{��nݺ��zxx�ŋ�x�>}�����n���C�BCC�+V��檫��۷OSS�O>��/��������T���wqq�}���ѣ�OO�-[�ddd�����O?�Ԙׯ_O�0���G-]��~[[�lڴ������������zC�]�v�x�%ss�;v�ǣ3k9tcc��y���{��e�X,�;wn�5,X���s���Y�f-[��رc�}�!����_~wx�tQ��H��遢�Z�ߏ�r\S�P�WmdTTT�4-���D�������C ���jjj֞�����4]TT���&�e���������hI�����ՙ9����1a+W�0���/�H$*))���7~۶mL�5�ϯ��ܸq�����-[�lت�C�4�j#��钒�#�����UUUjjj�T�:N���X�k��k!�*�� %���W���]�xQ��X,V�=yrrr��4X� ���Ԕ��oyB��yӔ���<�b�������۫W/����KKK�e�Z�(�jû���(�m���k�v��k&�"��o�X�|J$�z_�ûd��D�X,JE�6���(4�y ++�W�6wL~����ׯ?q℮�nnn�+���$�<���I�;8��?�$�L�]�L\<�hD]ep4M(����4����nN)jvp��̒�����f�����dVm������k��h)���]Tg����x-��v��6�\��Y���Kv�5���:ܿ�]Tg�����������֮� ��������� �]���B'/:�Qt��� ++l6[[[����x<�@@Ӹs�dEQrrr��G�!^w���#��X��]������H���k�P ����]���k�����.�����@b$�^%�'$Jjo�����]ѻ�㟏;�g��v������K�L�uqq����B^�IeJh��b�7�����z���nI����7G;�TWW;}����BB���w�Q`�S�1����k|�:M���Q:wڳ�}Gȳ0]��[�!������H�����W�ϝ�|ْ�>���� !^�7�6��ו�l������O����7�yt���Ͽ��߆ � ++�6������%�U�^FV�x�cF�X���/�u�<��=8{����r���t�����>_��NadTl�p}� �!ee�O�����2<2*:n��P+��4M=y�_P���r��!������셾�cTT��������͢D��Z���\���^��?���^�l��U_��g��<WUU���4݈��`��έ�w�=|�Ĺ&�9�����O��OH����P;�Ĥ��**xgO���7iv~~����p�Y�_�P����VC�� ++�{�g���^�nB���eq�}v~��qoE����<����5�����׆���{]VV~����>�.�,۵����_BfϜ��ϗ/m6���$l߱�y<ެ�¢�GO��m۴�KJ��z,�u��_���T�ׯ�Ӈ�B����x�f�k=���O>b��~��Cv�Dtzzf�� Um�G����I{���;#�����G���u�B����{�>�0ީ���WT��~�<��*�?��ў6u"!D]]u������+Ϝ�"'ǖ�c�r���6�}���������>�066l�9�z������^_������.I�Ȭ���ُ��f���Ck9}���������ziiYeeU��X,J(��ۊ�~b:����������>��Z~F�����m��x�}�l���^��5n��H$�0eNfVv�>�[�[�&����{�R$�$'����@I�W�P%UKQ��i��M�x����]�Lׯ_ߖ�����m$�(:�EXDUu���s]�X��3\���ݪ���� �l����7i��������Mob���2<2--3;;��U��XEE��(���,�����z���u�Q�|���:q������G �|?�zG<w�<{�2}���n���f����~�$��������g��k7�r��{���}ݧ�A+ϣ+�����������|���F�[E�q�t���6Я���_�o�����C��i`Z��\������|����UVT�tu� !"���������Вm��M�'ss�՝����s�ab>���hL�nm�d�n7�Kf]��?����m��%<������'C�������k������A�������k�y(�\�����טv���z�F�5"����@k������@b�����$�����@b�����$FN� �����n�&$"�H�g��2����h��EM%��J����MY6}�</%��z��ú�t`s��4)^Nz��ŏ{�(�}D�m!O�$�cq8 � ���{x�F&p;)��Q_�f�I ��x�6l�xݭ!^7�4�x ���qD4��H�W����a�Z��f�/��-^c�u�&��F0m:��@O'��Z�dkB�_�u>B Ai9���������H�8����5˂5Ҙ�S�!�r:$��#J������=&_;�;� B����� {�Fw\��<��rbϱ~g臱&e�IͳeyG�v?� !�ϗ���Y��r ����<==E"�|��6���\.Wڭ���� 9$젝˳ɞ�rn� ��q�f�-'�O��� a'�A��2>���,Z�h��(**"�����ݻWF�5M�aaau��������Ow�ܹr���m��Ȣ�L��� Y��f�Lo�0CJ<&$�KGdvj�F����={���}�ҥ�_�y��[TWee� srr�'%%-]�T�t���6m�Ԗ��L ++H��!Sj�u�⫛5�T�m ++��!���v�5f���$�Ht�ܹ5kָ��B&O�\^^.~U DEE������kjj2�4MGEEedd���<�������cggG��x��������ʄ���}}}f���ʸ�8++���ؒ�'''��#""��� dbb�T+**z���Ͷ��VRRz��%!$::������BQQ����#�����䬭�A��X[['$$dgg���ikkgeeEEE������{�|��u||������-%�E���@b³:��x�EK�ڣ�i�� $��wn�5{ㆵ�4����u��? ++ $�����/Uλ�')�F$ɻ{���[� EQ���III������E1�599�֭[qqq7o|��ݻw�������ƍ���[TTt��������?!!aѢE.�p8O�<������LLLJKK'O�<c�===�p���3g�,**��������Λ6m:�|aa�֭[�����̲���̙��������/�6l�ƍ%%%�^� ++tqqa������}���ʢ��ccc]]]�9��ѣ)S�0Gy���ŋoܸ�������f͚�����=�w�ބ����{͚5"�h߾}������|/��@��+k:d�_;�5�Z�U�刷���e������f��m۶}����Ǐ_�dɂ �/-Z�h�ر\.���1<<|ԨQ>>>>>>:::iiiӧO1b�СCbcc���BCC555�?>nܸ��8�ڽ�>���=yy�k���{yy)))�^����9((HAA�ȑ#E������9r����СC����̜9��f��wׯ_o��k���ѣG?z���ݻg͚5���C�MJJڲe������qQQ�����ٳ��x����J�:j��|���q�i�^HY���ϝ;�}��'O����uK�Ҙ1c!zzz'??������榣�C122�1cF`` �Ù4iRXXM�w��Y�z��[�D"QDDĔ)S���Ã�h���8p`XXXPPPYYYaaaVV���%��ݽ{wzz�xTI8;;�X,55�~��999�����lSS���LB�ӧOMLL222���bccMMM�|,���)꽤݂wur{��#�Т�]�������_��lٲիWן�N^^��iBHZZ�x6!DKK+;;�2f����Բ��iӦ��秦��5������~m���������������Cwww������O�<��� ++�;���p�6���0//�������ֵ����4=Վ��-oE�W�mM�w��wpHRr���E��56��Ų���O?��h������̾}�B���Ǐ�w�ނ���*[YY%''��&$$���Blmm����N����2y��G����lݺ��C[YYiii�Y��N���ɖ-[-Z4g�{{�~��B�|_G��411QSS۶m�����ݍm*.�C��BRic͖f姩o�`۷K-+���m'8G�|���Q/O����mi.@75q��S�N���GGG�;w���L<�G}��ͻ|����?�����vuu%����������1b!���aϞ=���FFFM}���'O�|��aYYYzzzPP!��ŋ���%%%���rrrrrrL�rDDDnnn�<tuu�|~LLӃ�*cǎ---=y�daaaAA��۷�����9�vT�ɵQ�ZЄ\�~��<�S�r�{�蘸�,]\���:�����tqtL\;�6���s��T݃!$�����ѣG�ݻ7k�,ww���OO�^�#fkk{���͛7;::>|������Ƅ�5u�T�HdmmM�����xS�Liz�;OOϭ[�>|ƌ��ᄐ>}�:thĈӦM���OG�����nݺ��n�ر)))�����L����6g�>�ߪ���8~���G�F����p������V���d�M_�\�C:���i��}qz%R�\@B�Q6��{M�����5���u��[�L� i�0MW���_�N#�(+s�/\�f��Y��l �Q�̟�f��[�$��+[�:;�Z����b�Wy5��ف��yۊ� ++��UTTZRY$���hhhHd�h����������'-*))QPPPRR��������.a�-..VUUm�3v�JJJ��D��]��4z���#��,�������k�!!��#go��?�<� [�ĨǤ��B�p�ԉ#ҳ���� �IDATG{�&m���EF�J�Q��JYY��ٚ�b�455%�EQZZZ��5!D]]�N�VUU�S�l�����l������7�<l;$g���W^� �� ����;V��u���b6n����,�����.��_��am5������̬�#�YY&����? ~>~����Ȩ��C�rFxD�c�~��9�Z������H�J'vv)y������+Q�����)f~kn9�4��#J�����rl�j2�$s�ʰX,55��r?�����QSSCEYy�n�}��4�93+�U��Y'&�P�k���S��%���w�ԙC�G��;�y�s���>������E�3���?_J>aB��if��-�c}�ȖJw�L!�B���_p�Ol\�������������\��0����?ĕ����4�N�C�>� �x�BB_�=~������{���=y&���hYx ���RĢ��N��s�:�N� ң�ϑ��I:ٚ�N������ܽO�p�����fϜF��9��ޣ����Y���Ϝ�"'ǖ�c�r���{�455��^'%�&�hkkEFŌv!��������u�H."�H�g�y�t!��t��`QD�CtU(۾����M_ ݜ�V��nj���/��9}��f�kNLJ�����Z�N����k�fG� ++E�n^^UUՕ�>L��c=]��l��Nk���hE�m_ʶ�FBw> �ks���߉���ŐA�Kv���t@��G�Bv��lz.�&!��N�8�f��p������F[��q�=���*--���x����ݦ+�uw���ڲmgVVNFF��3E"�ҫ�bYYy��m����h���kK���Wjq�ھ���o��O��m��#�6]Y_O��߃����4{9~��!�ӧ\��J|Bbk�������Z��������o���k����bYZޱ}�����6������D_�����|GIEEY\��W���QgɌ��E���뮲j#���Ț�����x��d7�u�q e�mB�������C������������@b���dzd���@'C���������k������hz�����$�����@b�����$�� �������x�P������������@b����7�����k�6�����J�������I� ��� e-���Eh�Ñv���@b��q&�C�������k�L����@�5�����!^��ѹ�>l����������$�'A�2���@��x�������e�~������2�A��m����\��������U�5:D�����*��|��� ++�����@b�P��}�U����@��B�$��}Ha��:����:�5ts�Yu����t9i7��c�(�U�E�i������.8���i)���": ++�n��@�F�I$�³hn]TID�Ks,�h*=Uʶ�lʲ�+���(��ֳ�{&}����ׯk�G��^��Ñ��������i� a�������h����+��k�V]4^�u�'s���x ���qD4��H�W����a�Z���y ����������D4Y�#|�"�lM�+\�]Jv̐��a������ y{ul�6աfY�FSz*!�[N����bD��o�B�"���|���64��at�q2�c/[�xS08���#<O�Wx:h��l�ʉ=Ǻ��i��H��G��ے�s��<�m�Cd}&������<i�@v���߸qCڭh���8OOO�H:�v9�\��UЄ6_�M��d�l9���5!�"�͚�g���?}��������x}��������u��������i�~~AQFfN�u�3����ǡa��y�������Y{��t�R�7 }����ә�������B��\YYYIIIi�@�"2鎛'd�{�a3���)�x.�٩�����fƊ ++ ++/^Ɯ��jIiY����>oz��&&�2���̧M�����TO\��������Li�z??�3g�H��Н$wT���5ǺE��͚e��6t����QKK}�pB��Q�.�u�A��ٮ�!� =#;��HKS�t�!$'7/���ǫLLz����m�G���ff�j���0�(�MjF�2��01鍞�6M�rrl��)���Ε��WRꕔ�F]M�ب�P(Ly�^YU=��z)2����'�����&F�jM�r����͛��xmmm[[[yyyqyFFFll������m�^������ζ��PT|�ρ����Ȍ�###KKKꟉ�cccychhheeEQTDDD��������������Õ�������lU�0%%EAAA]]=<<\$988�njvvvNN���!�����Ǜ��+++B"""�j� ***//���^SSS����A����B*++���lll�������bll\碥�����hkk��؈/N��eڬ��jmm������VVV���UVV������B��������̢��k����\VV�����r-,,�����755UWWg�����{4v�VVV���%%%NNN�ϱ��2**�����ή�劊����011<x��r����Ԥ����ܰ�0MMM������Q�ų,Z:E�L���!!$�s{��7�}�! <����Ȩx%�^B���X,��v6Cx��g��~������2"����������̜����lA��t�Q��P��A|~MXx,7�`���%�[<^eIiYZz���z^~���#�mX,�����q�_Df��ED����<�H~����&5��z0!TqI��K>YYܜ���/" �4�� =Z�H����N�-��뫭�=jԨڅ�.]���JKK/]����ӱc�2��ڵkK�.-,,�u����ϧN�TYY9iҤ���?�PKKkĈ��<x��~�(�������Æ ++�?���O?�TVVv��)EEEkk�ŋgffn911q�ܹ���~�!�ǻ|������)S"""�9r����رcǏ/,,7n��� �-Z�p!��y����lgggbbRZZ:y��3f���ݺu+..��͛�/_�{��������@ شi�����n�jfffff���;s������G�;vl���ZZZ��=~�xɒ%,�����ݻ���"����9r���o���QQQÇ��ͭ^yyy˗/������tvv��� ++ ++ ++����nݺU���/�˗/=<<"##y�c��>}�|��Gjjj�������LWWWwwwuu��δ����ӓ��O�0�9����[�n������߽{����0a����@ ظq�{���<XQQ����S�`����oܸ������0t��6���4�X������m��3[C��T�刷���e��f�=7H��ikiB ++�J����8���E=� ++=j�۬)^Wo�4�;Dž����,4r�����nYy��fd�|��½O���ioC ���� ++^�<���z:�< ���8���jprJ��~9�y��~���t�gN�@Q�У���ϐ�9t�W�^mذ�������<oٲegΜ���/���[w�С�c�������{��|�?�0lذ�K���# ++:�k�.���J�@@�y��k�nܸahhX\\�b���-44����������kݰa����@ X�|�͛7]]]�Ο?���͛�Ǐ���|��_���KuȐ! ++ ++ ++���NNN������ϟ?7n\\\����{w��EY�h�رc�\���cxx��Q�|}}��㽼�������W�^��������hǎ"�hɒ%���fff��~���y���;�����Y,֍7<ٛ7ozyyYZZVVVΙ3��y�۷���fݺuE9r���ÿ��!$##cÆ �[;bĈ�����ԩSLo�M�.\��s�N�7n,X��laa1p���ׯ7v�|>�{�?��ر��֖��/_���ٳ�֭��� ������IKK�>}��#ƌ�`�� D"�@ غu��~b��(��=3s�rǵ�A�9��c/ ++ !��M�s�O���~�!���+�TNJN�p� ++ ++�c��ҳ8������������C��� �dF���$���U��5i�Y�������$�"���kL�gϞ������B8������7!$$$��Ą�_���}��a��4}�������������9��vuu=|����������*!���o������ 555�� �X��իׯ_��젠���==����� mll����#����p&M�F���;wV�^}��-�H�t3�ƌC����p8���L#TVVVXX�qB�����l������Yvvv������{yy��知�����M��ĉ�^�ϫ�����˺��O�< ++ ++b��>���UR�� ^d555ss�/_^�x1)))!!�iyhhhFF!���w�ܹE5q� ~´\AAa�ĉ�]����nnn�##�3f6Q����%9��tr{$�{��ר�����\��WRZ6д���VFf]/�V�x5551���Sm- ee�H�E���� ++BHV6����)��[�g�݉?����������?USS������999}�����������$$$���˖-w��ٹs�����o�naa������C��||��=�_EQ��� ��Ӱ:��njs���ٳg���M�6m�֭���������k� ��iii������L����8����l��X��ͭ_�~�ڳgφ �O���ɊǦ7x^%%%"�(444%%��6y��&Z[�"ggg��W}��qrr277 ++ ++"��������=�ɓ'L�qg*'���gyy���Bf'Ç�kii1!��r�����J�:$^p�ic͖v`s�߶A�5}��'�x-��#��uU�9�B#���-�///�&5�eD,S��(�RZ��9�ܦ֏��xKh����lk+s[�!Ȍ�u���x{{���0�7--���ZAA�����ˋ���ɚ ++ ++ ++� ٲe�ŋ�7�1/���������O7n�|�����W��8z߾} !+W��ݻ��011�~aK���&&&���M�:UEEe��ɏ= ++ izd������֚5kj6 )�1b��������իG�ٶ� ++�***���?~|�g��E>r䈥��ƍ !����E���߾}[^^~���L�z�Δ���̤g++���dqyBB���m�E��w,�@����r;��LHj+���Էm��۩�Z�C***ߤfDF�_��SPX4a�(BHM�@ ����r�F�+�����ZY������RZV^RZ��e4�_UE%+;������u+�X,[��O�E�Iͨ��~��������h999Q�HLL;v,!�ĉ������'N����Ca�<p�@vvvBB'�2�'O4h����H$��?Ļ������SSS+++��ՙ.����_�r��ח��߾}�Nc���\\\v�ڕ��YZZ���㢢�[rj���744���ߙ.���cllldd��V���?y��Ç�����әx�4�P�s�Έ���� ++��b��lv�N��f�Z�jϞ=������111qqq������ ++ ++������ĕ����;6{��6���۷sss>|x��f$��y��2�\���wpp���k�{���������â]��!�M;j��k1��v����o�t�t�B�8XzF���;ϞG���|�x���.!��z�����W��rKOW[\y����>u���ce�۬)���N�u�ԥĤ7<^%!��}�Դ������omc�8{Ϭ��u?ϣ��zPT\���hW�^���_�UCC�ĉNNN˗/_�r%38AKK��ɓ�D"����������?�z���v��%^1��b�X�ٳg���0��C�ݿ��;ׯ__�1Em���L�8����СC��� ���X,�ԩSE"���5!��ښ��M�2��wV����xzznݺu���3f�of�|B�P(444\�bŰa�~���}��ijj��d !nnn�/6lؗ_~)�� ֿȟ|�ITT���Î;jO������⒔�4z�趝���EHH���ӪU�6m����@���=p���͛>|��if����g̘QSS���kf/,�@�����:��89���l�$�W"E�4!d�eӹ�ה�_X�Y��=k����+TU����D����� ++� ++ ++ ++���SSSï�Q�p�p\B�P(��U��(7���!��t���y5��ف�֟�������[\\�����y�Aii���f��"����XCC��muTVV��Ԉol����4]TT���^�~͖l���V����d�t �_������BCC���n�������ի��H$*))��Ш�+�~�P(,))iɩ����4z����z��,�������k�!!��#go���u<^�FR0:0^ˀ����ZB$������¿�;d�Dy6�ډ�f��34!W"E{ �l���%^� ��� O��%���@LD�u>�G� ��5ӂ��1��o�-�����cD��oC���֎�.������F���N]��#^��tM�=����vر�rlW�&��M�9O&H�:u�ˎx ���ў���� �N ++�����f�y�um��M�9O& ^��5��@�hB"2�Qx&�WN�HK'�kE�8DW���K9`����]ۈ�M�9O& ^��5��@wҶxݩ�l����to��PKW�����@������$�����@b��]�����������9ā��eэ0�����z�^����H�5������ ^CC0����M�����$��>l����VB�������k�������i����D"i7���$���{Z���׃>�i7���$�����9=(��@ ++��n�����P(D�� |> ���K ++�|>�͛K,^�[�la!t=��b4MWWW��|�����rD"�ϯ���i��;�D��Z�|X�Y-1������Ubrca��b�7�t��,�js+%��Gk�e��Ϋ�%�&���@���x=���'��Nj�X;$Ą�y��bdl䓓����w��$,���d�5���@s��[��d��MC(Zڎ�� ++n�������u���ׯϐ���URRjb��I)%%�Ç�6Q�I���d�5���@s�;�Z$���Ӑ��_��<m���_�y��)g��M�CMJz- ++'O���z��řs>���j�����<t��-�����8��ڸ��u�oq�>��٫^g]�OY�����[�������Ѧ��^�H���ߙG��?y����LITtlbRJ~~����#"����������h��d�M����:��D��4$����5����j�s�� 1!�cF�r��~����Z�+ ���,ܲmgaaQ����e���~�}^%-^8��u��<�"����&�w���ܳ��3�6���w����9)�����֒L�>u���V����b��jk���3Z� !f�&���o҆�Y���k�)�l���g��?�j�gG��d�J�Pt��~BH�����uḕ���qg= � ���@ ++$38$:&~��2�ȑC�c�Z�7f0wMM EQӧM����<|2���@��˭S��^���FR�k�k�OCB���"�b�v��~ ���М��^SU{U�ב���Պ\���A111./��b�7���'�<����W����UUU]��a�01���i�i�����HB{㵭����g--����1}J���CB�,-=~��Ʋ�; ++�.zY[Y���=~�Ub����'0��?.1u(���h:�$�Y����������wp��m��Z�d�o�����~���tמ�K�, ++�����mM�'/� 0�韗�,X�,)9e��k!��UUUU�Y91��G��W�m`���Mr��Դ���3����l�-+;'#3�ԙ-�<Dv�a����.���ʈ�?x���ƚ��;r�PBHHHخ=����O��v���q�(��ۧ����5��0�gH��/�h��)o��T�f�8}��ϵ�L����ߗ����Ο9�",b��[S�� !Æ�������v�D�n��\<ٽ�XV���$Kb���ũ3�{--/]���s��'�r�)ߴ���IDATr��z,�;�����_�����Q⨨(�`�������k�����I2^w������k�����Il�F��u��g�����B�������kh%�D���4�����@b�����$�����@bz`���I��������������� ^����H�5t ++S���@O�x ���� 1���������xݝf���v�%���hz�����$�����@bzf��������=3^����t�k������A��΄a9�����!^����HL�����\s�����Z���Bv�����4���^����H�5������ ^����H���v��_p����<N��$��3�;~�㇋�kkkI���#�����SI�������is ++��lZ��f�Û[6���/�4�����D��(L'�����$��k�;?��w���F�mm�lm���L�v�fBȌ�S� �����G����������<��/�<mn�l][Г�_�����(���~�B]]m���[�����"-���$C��W�K�M����n���C�_�{�ˤƲ5!d���i.���q�����y����{�i��lt�6�� ����Z���;��x��+!��bd���:s�]<lz�7o��;f���ߛ~LIYY��������?x���5�0<"�ĩ���D"SRUU����'�������� a�{���9�̔��[�?f43MK�hb'"��߃�+>MK˸y���������ժ�cF�|e1d�<�Y{�>u����1�c��ܿ3=#s�˪����&�JZ�p�w�V�������ڬ�xM7��}�W*++��9�iij�a��N�33���8����DvB�_�����b�����uḕ���qg= q5b��_�L��f��?�w��U+?SRRjOc!��� ����.��c����OHl�NbR�Q?�&*ܼ�?�ĸ��ZKKCMM��-�KK�,RTT$������HJ~�}��iH���VdT,EQӧM����<|2���@���m�Ղ��-�� ������wp��q�7o���~u.{�7vLc� ++�»����'��3%7o��\��y�� �<���UUU]��a�01���)/��b�7���'�<������g�����f��u�B������͝�>��ֺ� ++�AOo��������>/**�x��Q�����!�k��1.�E���&!��N�8�f�ŅG��y��|��7�� z���$��������C���6��v�k��>��jГ���mٺi}�^����h�����������c9%ߛw�T��>���j˶߲�s22�N�� �*+����2�rbb�;��s����h���0�i����Ȭ��ժ��N�gN#�TT���/{ݸy�o��ӧMn�������Ǽ��EEE�1�n����У����C�����KW!ÆڸN��x��;w�Ϙ�PMM�m��g��Z|�-�a������:�Vm����4�r-������a 3�Q?�qc�|�x~Ӌ5�7/���QQQf��D��\�����ޞ�z�[�]I�W�6���dI,^wG�]��5���@-����o���D7�"�]<[���H\���3ĺ��D���� �5B��������+�u���z�D7;�����$-XV���Dj��.펎�-�PG�n�d� ++�-����,-^������� m#5~t<n\�O�� 3���E�u����ߑP=7!U7��g��/A����d�����w(��ĠF���H$����s�:����@"�n�'�V��W]��A���}������y�{]/V7wc�O� ���I�cI�����I�|B��un}O6�B΅�9�����wg�L֭��B����@����a�M�W/Y�;�k�����O�g>������置�m�wu�g=!j#������0���t-[V���E�����1��su�e��c�����:�\� �����-��`v��̍<��d���J;����g�����ucK3q��M�Бo#~D����ywb>B���Qڥ'eL������C�����]P7���<�nt���{���S���K�wg�F�v��i��iu�� ����T����j|g�k�~Y��mM��OQm<�$tGl; _���F��@itb���ity��*�P�RN�����HC�٪�ftƅÛ���RѢy�~ݢ�B�@ʑ�&t���x�����[��'��n�k���I: �"L��@7%k �n><70D�����Ϡգ~��@��?P��r�������IEND�B`� +\ No newline at end of file +diff --git a/plugins/application/autoboot/autoboot.cpp b/plugins/application/autoboot/autoboot.cpp +index 7492a30..4828694 100644 +--- a/plugins/application/autoboot/autoboot.cpp ++++ b/plugins/application/autoboot/autoboot.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/application/autoboot/autoboot.h b/plugins/application/autoboot/autoboot.h +index 9cebdb2..65508f5 100644 +--- a/plugins/application/autoboot/autoboot.h ++++ b/plugins/application/autoboot/autoboot.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/application/autoboot/autobootui.cpp b/plugins/application/autoboot/autobootui.cpp +index 08ccbf9..0fd9283 100644 +--- a/plugins/application/autoboot/autobootui.cpp ++++ b/plugins/application/autoboot/autobootui.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "autobootui.h" + #include <QVBoxLayout> + +diff --git a/plugins/application/autoboot/autobootui.h b/plugins/application/autoboot/autobootui.h +index 74e564e..f9e0162 100644 +--- a/plugins/application/autoboot/autobootui.h ++++ b/plugins/application/autoboot/autobootui.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef AUTOBOOTUI_H + #define AUTOBOOTUI_H + +diff --git a/plugins/application/autoboot/datadefined.h b/plugins/application/autoboot/datadefined.h +index 010e0c7..1a3c66d 100644 +--- a/plugins/application/autoboot/datadefined.h ++++ b/plugins/application/autoboot/datadefined.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/application/autoboot/rmenu.cpp b/plugins/application/autoboot/rmenu.cpp +index e1587d1..5b81d16 100644 +--- a/plugins/application/autoboot/rmenu.cpp ++++ b/plugins/application/autoboot/rmenu.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "rmenu.h" + #include <QEvent> + #include <QDebug> +diff --git a/plugins/application/autoboot/rmenu.h b/plugins/application/autoboot/rmenu.h +index 0ca9273..15e0904 100644 +--- a/plugins/application/autoboot/rmenu.h ++++ b/plugins/application/autoboot/rmenu.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef RMENU_H + #define RMENU_H + +diff --git a/plugins/application/defaultapp/defaultapp.cpp b/plugins/application/defaultapp/defaultapp.cpp +index 42393a9..65e002f 100644 +--- a/plugins/application/defaultapp/defaultapp.cpp ++++ b/plugins/application/defaultapp/defaultapp.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/application/defaultapp/defaultapp.h b/plugins/application/defaultapp/defaultapp.h +index 9ec0518..cce3367 100644 +--- a/plugins/application/defaultapp/defaultapp.h ++++ b/plugins/application/defaultapp/defaultapp.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/application/defaultapp/defaultappui.cpp b/plugins/application/defaultapp/defaultappui.cpp +index b60a52c..2d0a1df 100644 +--- a/plugins/application/defaultapp/defaultappui.cpp ++++ b/plugins/application/defaultapp/defaultappui.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "defaultappui.h" + + DefaultAppUi::DefaultAppUi(QWidget *parent) : QWidget(parent) +diff --git a/plugins/application/defaultapp/defaultappui.h b/plugins/application/defaultapp/defaultappui.h +index c6de9fb..033d653 100644 +--- a/plugins/application/defaultapp/defaultappui.h ++++ b/plugins/application/defaultapp/defaultappui.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef DEFAULTAPPUI_H + #define DEFAULTAPPUI_H + +diff --git a/plugins/application/defaultapp/service.h b/plugins/application/defaultapp/service.h +index bcfb33f..f2d2875 100644 +--- a/plugins/application/defaultapp/service.h ++++ b/plugins/application/defaultapp/service.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef SERVICE_H + #define SERVICE_H + +diff --git a/plugins/devices/printer/printer.cpp b/plugins/devices/printer/printer.cpp +index f96af46..cffd94a 100644 +--- a/plugins/devices/printer/printer.cpp ++++ b/plugins/devices/printer/printer.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/devices/printer/printer.h b/plugins/devices/printer/printer.h +index b117ae1..d9e5bbc 100644 +--- a/plugins/devices/printer/printer.h ++++ b/plugins/devices/printer/printer.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/devices/printer/printerbtn.cpp b/plugins/devices/printer/printerbtn.cpp +index 4c6dcf5..c15fa5d 100644 +--- a/plugins/devices/printer/printerbtn.cpp ++++ b/plugins/devices/printer/printerbtn.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "printerbtn.h" + #include <QHBoxLayout> + #include <QLabel> +diff --git a/plugins/devices/printer/printerbtn.h b/plugins/devices/printer/printerbtn.h +index d895721..7b3e75a 100644 +--- a/plugins/devices/printer/printerbtn.h ++++ b/plugins/devices/printer/printerbtn.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef PRINTERBTN_H + #define PRINTERBTN_H + +diff --git a/plugins/devices/printer/usbthread.cpp b/plugins/devices/printer/usbthread.cpp +index 745f2e2..4ecd1a2 100644 +--- a/plugins/devices/printer/usbthread.cpp ++++ b/plugins/devices/printer/usbthread.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "usbthread.h" + #include <stdio.h> + #include <stdlib.h> +diff --git a/plugins/devices/printer/usbthread.h b/plugins/devices/printer/usbthread.h +index ce22d7e..57f1733 100644 +--- a/plugins/devices/printer/usbthread.h ++++ b/plugins/devices/printer/usbthread.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef USBTHREAD_H + #define USBTHREAD_H + +diff --git a/plugins/devices/shortcut/addshortcutdialog.cpp b/plugins/devices/shortcut/addshortcutdialog.cpp +index 5b76588..28b5c1e 100644 +--- a/plugins/devices/shortcut/addshortcutdialog.cpp ++++ b/plugins/devices/shortcut/addshortcutdialog.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -17,7 +17,6 @@ + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ +- + #include "addshortcutdialog.h" + #include "ui_addshortcutdialog.h" + #include "realizeshortcutwheel.h" +diff --git a/plugins/devices/shortcut/addshortcutdialog.h b/plugins/devices/shortcut/addshortcutdialog.h +index ec4f9a6..81cb54c 100644 +--- a/plugins/devices/shortcut/addshortcutdialog.h ++++ b/plugins/devices/shortcut/addshortcutdialog.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/devices/shortcut/clickfixlabel.cpp b/plugins/devices/shortcut/clickfixlabel.cpp +index 4baf174..e7f85fd 100644 +--- a/plugins/devices/shortcut/clickfixlabel.cpp ++++ b/plugins/devices/shortcut/clickfixlabel.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "clickfixlabel.h" + #include <QDebug> + +diff --git a/plugins/devices/shortcut/clickfixlabel.h b/plugins/devices/shortcut/clickfixlabel.h +index d07692f..1e987a7 100644 +--- a/plugins/devices/shortcut/clickfixlabel.h ++++ b/plugins/devices/shortcut/clickfixlabel.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef CLICKFIXLABEL_H + #define CLICKFIXLABEL_H + #include <QLabel> +diff --git a/plugins/devices/shortcut/doubleclicklineedit.cpp b/plugins/devices/shortcut/doubleclicklineedit.cpp +index 7875a2f..116b61b 100644 +--- a/plugins/devices/shortcut/doubleclicklineedit.cpp ++++ b/plugins/devices/shortcut/doubleclicklineedit.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "doubleclicklineedit.h" + #include <QDebug> + +diff --git a/plugins/devices/shortcut/doubleclicklineedit.h b/plugins/devices/shortcut/doubleclicklineedit.h +index 5f15705..b068dcf 100644 +--- a/plugins/devices/shortcut/doubleclicklineedit.h ++++ b/plugins/devices/shortcut/doubleclicklineedit.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef DOUBLECLICKLINEEDIT_H + #define DOUBLECLICKLINEEDIT_H + #include <QLineEdit> +diff --git a/plugins/devices/shortcut/realizeshortcutwheel.cpp b/plugins/devices/shortcut/realizeshortcutwheel.cpp +index 25db46d..b06c27d 100644 +--- a/plugins/devices/shortcut/realizeshortcutwheel.cpp ++++ b/plugins/devices/shortcut/realizeshortcutwheel.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/devices/shortcut/realizeshortcutwheel.h b/plugins/devices/shortcut/realizeshortcutwheel.h +index cf6cbbe..d973f23 100644 +--- a/plugins/devices/shortcut/realizeshortcutwheel.h ++++ b/plugins/devices/shortcut/realizeshortcutwheel.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/devices/shortcut/shortcut.cpp b/plugins/devices/shortcut/shortcut.cpp +index a3d34d9..6015396 100644 +--- a/plugins/devices/shortcut/shortcut.cpp ++++ b/plugins/devices/shortcut/shortcut.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/devices/shortcut/shortcut.h b/plugins/devices/shortcut/shortcut.h +index 7746c35..0dc05db 100644 +--- a/plugins/devices/shortcut/shortcut.h ++++ b/plugins/devices/shortcut/shortcut.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/devices/shortcut/shortcutline.cpp b/plugins/devices/shortcut/shortcutline.cpp +index d97d385..7e94741 100644 +--- a/plugins/devices/shortcut/shortcutline.cpp ++++ b/plugins/devices/shortcut/shortcutline.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "shortcutline.h" + + #include <QDebug> +diff --git a/plugins/devices/shortcut/shortcutline.h b/plugins/devices/shortcut/shortcutline.h +index b6cdac4..1548c19 100644 +--- a/plugins/devices/shortcut/shortcutline.h ++++ b/plugins/devices/shortcut/shortcutline.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef SHORTCUTLINE_H + #define SHORTCUTLINE_H + +diff --git a/plugins/devices/shortcut/shortcutui.cpp b/plugins/devices/shortcut/shortcutui.cpp +index c0d00ee..b5a8a8b 100644 +--- a/plugins/devices/shortcut/shortcutui.cpp ++++ b/plugins/devices/shortcut/shortcutui.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "shortcutui.h" + + ShortcutUi::ShortcutUi() +diff --git a/plugins/devices/shortcut/shortcutui.h b/plugins/devices/shortcut/shortcutui.h +index 29369e3..756400f 100644 +--- a/plugins/devices/shortcut/shortcutui.h ++++ b/plugins/devices/shortcut/shortcutui.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef SHORTCUTUI_H + #define SHORTCUTUI_H + +diff --git a/plugins/devices/shortcut/type.cpp b/plugins/devices/shortcut/type.cpp +index a60bf1a..4853afd 100644 +--- a/plugins/devices/shortcut/type.cpp ++++ b/plugins/devices/shortcut/type.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "type.h" + + const QDBusArgument &operator<<(QDBusArgument &argument, const QStringPair &string) +diff --git a/plugins/devices/shortcut/type.h b/plugins/devices/shortcut/type.h +index d82a632..f85c28b 100644 +--- a/plugins/devices/shortcut/type.h ++++ b/plugins/devices/shortcut/type.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef TYPE_H + #define TYPE_H + +diff --git a/plugins/personalized/fonts/fonts.cpp b/plugins/personalized/fonts/fonts.cpp +index a70b539..dd17c0b 100644 +--- a/plugins/personalized/fonts/fonts.cpp ++++ b/plugins/personalized/fonts/fonts.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/fonts/fonts.h b/plugins/personalized/fonts/fonts.h +index b7038f5..81bd2e5 100644 +--- a/plugins/personalized/fonts/fonts.h ++++ b/plugins/personalized/fonts/fonts.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/theme/drawiconlabel.cpp b/plugins/personalized/theme/drawiconlabel.cpp +index 25abf49..d5bc735 100644 +--- a/plugins/personalized/theme/drawiconlabel.cpp ++++ b/plugins/personalized/theme/drawiconlabel.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "drawiconlabel.h" + #include <QPainter> + #define TOP_LEFT_CORNER 1 +diff --git a/plugins/personalized/theme/drawiconlabel.h b/plugins/personalized/theme/drawiconlabel.h +index 07fa7cb..12ab43f 100644 +--- a/plugins/personalized/theme/drawiconlabel.h ++++ b/plugins/personalized/theme/drawiconlabel.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef DrawIconLabel_H + #define DrawIconLabel_H + +diff --git a/plugins/personalized/theme/globaltheme/customglobaltheme.cpp b/plugins/personalized/theme/globaltheme/customglobaltheme.cpp +index c05e3a2..f2ab84a 100644 +--- a/plugins/personalized/theme/globaltheme/customglobaltheme.cpp ++++ b/plugins/personalized/theme/globaltheme/customglobaltheme.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "customglobaltheme.h" + + #include <QGSettings> +diff --git a/plugins/personalized/theme/globaltheme/customglobaltheme.h b/plugins/personalized/theme/globaltheme/customglobaltheme.h +index 602160e..5c890f4 100644 +--- a/plugins/personalized/theme/globaltheme/customglobaltheme.h ++++ b/plugins/personalized/theme/globaltheme/customglobaltheme.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef CUSTOMGLOBALTHEME_H + #define CUSTOMGLOBALTHEME_H + +diff --git a/plugins/personalized/theme/globaltheme/globaltheme.cpp b/plugins/personalized/theme/globaltheme/globaltheme.cpp +index 22a5cef..aa48ed9 100644 +--- a/plugins/personalized/theme/globaltheme/globaltheme.cpp ++++ b/plugins/personalized/theme/globaltheme/globaltheme.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "globaltheme.h" + #include "globaltheme_p.h" + +diff --git a/plugins/personalized/theme/globaltheme/globaltheme.h b/plugins/personalized/theme/globaltheme/globaltheme.h +index ec83ebc..92a5980 100644 +--- a/plugins/personalized/theme/globaltheme/globaltheme.h ++++ b/plugins/personalized/theme/globaltheme/globaltheme.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef GLOBALTHEME_H + #define GLOBALTHEME_H + +diff --git a/plugins/personalized/theme/globaltheme/globaltheme_p.h b/plugins/personalized/theme/globaltheme/globaltheme_p.h +index 7ddb4dd..e438560 100644 +--- a/plugins/personalized/theme/globaltheme/globaltheme_p.h ++++ b/plugins/personalized/theme/globaltheme/globaltheme_p.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef GLOBALTHEME_P_H + #define GLOBALTHEME_P_H + +diff --git a/plugins/personalized/theme/globaltheme/globalthemehelper.cpp b/plugins/personalized/theme/globaltheme/globalthemehelper.cpp +index db6481a..9364d50 100644 +--- a/plugins/personalized/theme/globaltheme/globalthemehelper.cpp ++++ b/plugins/personalized/theme/globaltheme/globalthemehelper.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "globalthemehelper.h" + #include "globaltheme.h" + #include "customglobaltheme.h" +diff --git a/plugins/personalized/theme/globaltheme/globalthemehelper.h b/plugins/personalized/theme/globaltheme/globalthemehelper.h +index 26744d2..86bf33b 100644 +--- a/plugins/personalized/theme/globaltheme/globalthemehelper.h ++++ b/plugins/personalized/theme/globaltheme/globalthemehelper.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef GLOBALTHEMEHELPER_H + #define GLOBALTHEMEHELPER_H + +diff --git a/plugins/personalized/theme/globaltheme/globalthemehelper_p.h b/plugins/personalized/theme/globaltheme/globalthemehelper_p.h +index 92a85b9..133ca7d 100644 +--- a/plugins/personalized/theme/globaltheme/globalthemehelper_p.h ++++ b/plugins/personalized/theme/globaltheme/globalthemehelper_p.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef GLOBALTHEMEHELPER_P_H + #define GLOBALTHEMEHELPER_P_H + +diff --git a/plugins/personalized/theme/icontheme.cpp b/plugins/personalized/theme/icontheme.cpp +index 6eb4aef..cd09063 100644 +--- a/plugins/personalized/theme/icontheme.cpp ++++ b/plugins/personalized/theme/icontheme.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "icontheme.h" + + #include <KConfigGroup> +diff --git a/plugins/personalized/theme/icontheme.h b/plugins/personalized/theme/icontheme.h +index 747528b..4e95b9d 100644 +--- a/plugins/personalized/theme/icontheme.h ++++ b/plugins/personalized/theme/icontheme.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef ICONTHEME_H + #define ICONTHEME_H + #include <QStringList> +diff --git a/plugins/personalized/theme/myslider.cpp b/plugins/personalized/theme/myslider.cpp +index 568362f..ebe23f4 100644 +--- a/plugins/personalized/theme/myslider.cpp ++++ b/plugins/personalized/theme/myslider.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "myslider.h" + #include <QMouseEvent> + #include <QDebug> +diff --git a/plugins/personalized/theme/myslider.h b/plugins/personalized/theme/myslider.h +index 86fc9e4..65041e5 100644 +--- a/plugins/personalized/theme/myslider.h ++++ b/plugins/personalized/theme/myslider.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef MYSLIDER_H + #define MYSLIDER_H + +diff --git a/plugins/personalized/theme/radioproxystyle.cpp b/plugins/personalized/theme/radioproxystyle.cpp +index dbddefb..081a50d 100644 +--- a/plugins/personalized/theme/radioproxystyle.cpp ++++ b/plugins/personalized/theme/radioproxystyle.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "radioproxystyle.h" + + #include <QStyleOptionComplex> +diff --git a/plugins/personalized/theme/radioproxystyle.h b/plugins/personalized/theme/radioproxystyle.h +index 3ef7ba9..15e429d 100644 +--- a/plugins/personalized/theme/radioproxystyle.h ++++ b/plugins/personalized/theme/radioproxystyle.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef RADIOPROXYSTYLE_H + #define RADIOPROXYSTYLE_H + +diff --git a/plugins/personalized/theme/theme.cpp b/plugins/personalized/theme/theme.cpp +index 66c1d8c..93a2dcc 100644 +--- a/plugins/personalized/theme/theme.cpp ++++ b/plugins/personalized/theme/theme.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/theme/theme.h b/plugins/personalized/theme/theme.h +index 47cf994..ea81f11 100644 +--- a/plugins/personalized/theme/theme.h ++++ b/plugins/personalized/theme/theme.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/theme/themebutton.cpp b/plugins/personalized/theme/themebutton.cpp +index f312954..aab6081 100644 +--- a/plugins/personalized/theme/themebutton.cpp ++++ b/plugins/personalized/theme/themebutton.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "themebutton.h" + #include <QVBoxLayout> + #include <QLabel> +diff --git a/plugins/personalized/theme/themebutton.h b/plugins/personalized/theme/themebutton.h +index 72e7f83..8d4913b 100644 +--- a/plugins/personalized/theme/themebutton.h ++++ b/plugins/personalized/theme/themebutton.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef THEMEBUTTON_H + #define THEMEBUTTON_H + +diff --git a/plugins/personalized/theme/themeiconlabel.cpp b/plugins/personalized/theme/themeiconlabel.cpp +index 1a421d0..6bca0ee 100644 +--- a/plugins/personalized/theme/themeiconlabel.cpp ++++ b/plugins/personalized/theme/themeiconlabel.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "themeiconlabel.h" + #include <QPainter> + #include <QGridLayout> +diff --git a/plugins/personalized/theme/themeiconlabel.h b/plugins/personalized/theme/themeiconlabel.h +index 3c23c95..ce9a5cc 100644 +--- a/plugins/personalized/theme/themeiconlabel.h ++++ b/plugins/personalized/theme/themeiconlabel.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef THEMEICONLABEL_H + #define THEMEICONLABEL_H + +diff --git a/plugins/personalized/theme/themewidget.cpp b/plugins/personalized/theme/themewidget.cpp +index a95284b..82c5b5b 100644 +--- a/plugins/personalized/theme/themewidget.cpp ++++ b/plugins/personalized/theme/themewidget.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/theme/themewidget.h b/plugins/personalized/theme/themewidget.h +index 008016b..9cbcc1f 100644 +--- a/plugins/personalized/theme/themewidget.h ++++ b/plugins/personalized/theme/themewidget.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/theme/widgetgroup.cpp b/plugins/personalized/theme/widgetgroup.cpp +index 3294d5c..329e994 100644 +--- a/plugins/personalized/theme/widgetgroup.cpp ++++ b/plugins/personalized/theme/widgetgroup.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/theme/widgetgroup.h b/plugins/personalized/theme/widgetgroup.h +index 8ac1eb5..f9cc687 100644 +--- a/plugins/personalized/theme/widgetgroup.h ++++ b/plugins/personalized/theme/widgetgroup.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/colordialog.cpp b/plugins/personalized/wallpaper/colordialog.cpp +index 492007b..a131869 100644 +--- a/plugins/personalized/wallpaper/colordialog.cpp ++++ b/plugins/personalized/wallpaper/colordialog.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/colordialog.h b/plugins/personalized/wallpaper/colordialog.h +index 9d57941..abe5f25 100644 +--- a/plugins/personalized/wallpaper/colordialog.h ++++ b/plugins/personalized/wallpaper/colordialog.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/colorpreview.cpp b/plugins/personalized/wallpaper/colorpreview.cpp +index ed3c786..839465c 100644 +--- a/plugins/personalized/wallpaper/colorpreview.cpp ++++ b/plugins/personalized/wallpaper/colorpreview.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/colorpreview.h b/plugins/personalized/wallpaper/colorpreview.h +index 9167362..18bfdef 100644 +--- a/plugins/personalized/wallpaper/colorpreview.h ++++ b/plugins/personalized/wallpaper/colorpreview.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/colorsliderstyle.cpp b/plugins/personalized/wallpaper/colorsliderstyle.cpp +index 4535394..0ef1aa9 100644 +--- a/plugins/personalized/wallpaper/colorsliderstyle.cpp ++++ b/plugins/personalized/wallpaper/colorsliderstyle.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "colorsliderstyle.h" + #include <QDebug> + #include <QStyleOptionComplex> +diff --git a/plugins/personalized/wallpaper/colorsliderstyle.h b/plugins/personalized/wallpaper/colorsliderstyle.h +index 91362b9..0a9a423 100644 +--- a/plugins/personalized/wallpaper/colorsliderstyle.h ++++ b/plugins/personalized/wallpaper/colorsliderstyle.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef COLORSLIDERSTYLE_H + #define COLORSLIDERSTYLE_H + #include <QProxyStyle> +diff --git a/plugins/personalized/wallpaper/colorsquare.cpp b/plugins/personalized/wallpaper/colorsquare.cpp +index 707cc67..068c82b 100644 +--- a/plugins/personalized/wallpaper/colorsquare.cpp ++++ b/plugins/personalized/wallpaper/colorsquare.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/colorsquare.h b/plugins/personalized/wallpaper/colorsquare.h +index 475e4aa..1ec39b5 100644 +--- a/plugins/personalized/wallpaper/colorsquare.h ++++ b/plugins/personalized/wallpaper/colorsquare.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/component/custdomitemmodel.cpp b/plugins/personalized/wallpaper/component/custdomitemmodel.cpp +index 6d18220..2c874df 100644 +--- a/plugins/personalized/wallpaper/component/custdomitemmodel.cpp ++++ b/plugins/personalized/wallpaper/component/custdomitemmodel.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/component/custdomitemmodel.h b/plugins/personalized/wallpaper/component/custdomitemmodel.h +index 1232905..f05388e 100644 +--- a/plugins/personalized/wallpaper/component/custdomitemmodel.h ++++ b/plugins/personalized/wallpaper/component/custdomitemmodel.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/gradientslider.cpp b/plugins/personalized/wallpaper/gradientslider.cpp +index 586eccc..6181946 100644 +--- a/plugins/personalized/wallpaper/gradientslider.cpp ++++ b/plugins/personalized/wallpaper/gradientslider.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/gradientslider.h b/plugins/personalized/wallpaper/gradientslider.h +index fe4fdd5..e3fd05d 100644 +--- a/plugins/personalized/wallpaper/gradientslider.h ++++ b/plugins/personalized/wallpaper/gradientslider.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/pictureunit.cpp b/plugins/personalized/wallpaper/pictureunit.cpp +index deba32c..7c30f20 100644 +--- a/plugins/personalized/wallpaper/pictureunit.cpp ++++ b/plugins/personalized/wallpaper/pictureunit.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/pictureunit.h b/plugins/personalized/wallpaper/pictureunit.h +index e3d3261..be6c5f5 100644 +--- a/plugins/personalized/wallpaper/pictureunit.h ++++ b/plugins/personalized/wallpaper/pictureunit.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/previewlabel.cpp b/plugins/personalized/wallpaper/previewlabel.cpp +index aa4d366..f7a3930 100644 +--- a/plugins/personalized/wallpaper/previewlabel.cpp ++++ b/plugins/personalized/wallpaper/previewlabel.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "previewlabel.h" + #include <QPainter> + #include <QtMath> +diff --git a/plugins/personalized/wallpaper/previewlabel.h b/plugins/personalized/wallpaper/previewlabel.h +index 87e2537..35ccab6 100644 +--- a/plugins/personalized/wallpaper/previewlabel.h ++++ b/plugins/personalized/wallpaper/previewlabel.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef PREVIEWLABEL_H + #define PREVIEWLABEL_H + #include<QLabel> +diff --git a/plugins/personalized/wallpaper/wallpaper.cpp b/plugins/personalized/wallpaper/wallpaper.cpp +index 0e522cc..892e440 100644 +--- a/plugins/personalized/wallpaper/wallpaper.cpp ++++ b/plugins/personalized/wallpaper/wallpaper.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/wallpaper.h b/plugins/personalized/wallpaper/wallpaper.h +index 1f2d81f..505b537 100644 +--- a/plugins/personalized/wallpaper/wallpaper.h ++++ b/plugins/personalized/wallpaper/wallpaper.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/personalized/wallpaper/wallpaperui.cpp b/plugins/personalized/wallpaper/wallpaperui.cpp +index 8a9a212..4481f1b 100644 +--- a/plugins/personalized/wallpaper/wallpaperui.cpp ++++ b/plugins/personalized/wallpaper/wallpaperui.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "wallpaperui.h" + #include "ukcccommon.h" + using namespace ukcc; +diff --git a/plugins/personalized/wallpaper/wallpaperui.h b/plugins/personalized/wallpaper/wallpaperui.h +index 3af4f4a..71aea31 100644 +--- a/plugins/personalized/wallpaper/wallpaperui.h ++++ b/plugins/personalized/wallpaper/wallpaperui.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef WALLPAPERUI_H + #define WALLPAPERUI_H + +diff --git a/plugins/plugins.pro b/plugins/plugins.pro +index 5be6ac0..a4e2824 100644 +--- a/plugins/plugins.pro ++++ b/plugins/plugins.pro +@@ -8,7 +8,6 @@ SUBDIRS = devices/printer \ + system/about \ + personalized/wallpaper \ + personalized/theme \ +- personalized/screenlock \ + time-language/datetime \ + time-language/area + +@@ -20,7 +19,6 @@ SUBDIRS += devices/shortcut \ + system/display \ + system/vino \ + personalized/fonts \ +- personalized/screensaver \ + account/userinfo \ + security-updates/backup \ + } +diff --git a/plugins/system/about/HpQRCodeInterface.h b/plugins/system/about/HpQRCodeInterface.h +index 27e7008..da32fa5 100644 +--- a/plugins/system/about/HpQRCodeInterface.h ++++ b/plugins/system/about/HpQRCodeInterface.h +@@ -5,6 +5,25 @@ + #include <functional> + #include <QString> + #include <QObject> ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <functional> + + #define Successful 0 +diff --git a/plugins/system/about/about.cpp b/plugins/system/about/about.cpp +index 05965c7..33214a0 100644 +--- a/plugins/system/about/about.cpp ++++ b/plugins/system/about/about.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -17,6 +17,7 @@ + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ ++ + #include <QWidget> + + #include "about.h" +diff --git a/plugins/system/about/about.h b/plugins/system/about/about.h +index 82f5575..693c418 100644 +--- a/plugins/system/about/about.h ++++ b/plugins/system/about/about.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/system/about/aboutui.cpp b/plugins/system/about/aboutui.cpp +index 104950c..87385c4 100644 +--- a/plugins/system/about/aboutui.cpp ++++ b/plugins/system/about/aboutui.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "aboutui.h" + #include <QGridLayout> + #include <QSvgRenderer> +@@ -82,8 +101,8 @@ void AboutUi::initUi() + + + /* 主机名 */ +- //~ contents_path /About/HostName + mHostNameLabel_1 = new KLabel(this); ++ //~ contents_path /About/HostName + mHostNameLabel_1->setText(tr("HostName")); + mHostNameLabel_2 = new LightLabel; + mHostNameLabel_3 = new LightLabel; +diff --git a/plugins/system/about/aboutui.h b/plugins/system/about/aboutui.h +index bed61a9..310f730 100644 +--- a/plugins/system/about/aboutui.h ++++ b/plugins/system/about/aboutui.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef ABOUTUI_H + #define ABOUTUI_H + +diff --git a/plugins/system/about/hostnamedialog.cpp b/plugins/system/about/hostnamedialog.cpp +index 2cee4bf..76017c3 100644 +--- a/plugins/system/about/hostnamedialog.cpp ++++ b/plugins/system/about/hostnamedialog.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "hostnamedialog.h" + #include <QVBoxLayout> + #include <QFrame> +diff --git a/plugins/system/about/hostnamedialog.h b/plugins/system/about/hostnamedialog.h +index a94ea2a..2e48463 100644 +--- a/plugins/system/about/hostnamedialog.h ++++ b/plugins/system/about/hostnamedialog.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef HOSTNAMEDIALOG_H + #define HOSTNAMEDIALOG_H + +diff --git a/plugins/system/about/privacydialog.cpp b/plugins/system/about/privacydialog.cpp +index ada8f9d..f1d9b1f 100644 +--- a/plugins/system/about/privacydialog.cpp ++++ b/plugins/system/about/privacydialog.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "privacydialog.h" + + #include <QDebug> +diff --git a/plugins/system/about/privacydialog.h b/plugins/system/about/privacydialog.h +index 95f7d7d..a69926e 100644 +--- a/plugins/system/about/privacydialog.h ++++ b/plugins/system/about/privacydialog.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef PRIVACYDIALOG_H + #define PRIVACYDIALOG_H + +diff --git a/plugins/system/about/statusdialog.cpp b/plugins/system/about/statusdialog.cpp +index 1e4704f..20cf488 100644 +--- a/plugins/system/about/statusdialog.cpp ++++ b/plugins/system/about/statusdialog.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "statusdialog.h" + #include <QVBoxLayout> + #include <QFile> +diff --git a/plugins/system/about/statusdialog.h b/plugins/system/about/statusdialog.h +index 351096d..b5debc6 100644 +--- a/plugins/system/about/statusdialog.h ++++ b/plugins/system/about/statusdialog.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef STATUSDIALOG_H + #define STATUSDIALOG_H + +diff --git a/plugins/system/about/trialdialog.cpp b/plugins/system/about/trialdialog.cpp +index 545d9f4..b2caf8a 100644 +--- a/plugins/system/about/trialdialog.cpp ++++ b/plugins/system/about/trialdialog.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "trialdialog.h" + + #include <QDebug> +diff --git a/plugins/system/about/trialdialog.h b/plugins/system/about/trialdialog.h +index 7bd4fcc..0382548 100644 +--- a/plugins/system/about/trialdialog.h ++++ b/plugins/system/about/trialdialog.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef TRIALDIALOG_H + #define TRIALDIALOG_H + +diff --git a/plugins/system/display/colorinfo.h b/plugins/system/display/colorinfo.h +index b8551f1..8c8f93f 100644 +--- a/plugins/system/display/colorinfo.h ++++ b/plugins/system/display/colorinfo.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef COLORINFO_H + #define COLORINFO_H + +diff --git a/plugins/system/display/controlpanel.cpp b/plugins/system/display/controlpanel.cpp +index 4b78408..9b8e82f 100644 +--- a/plugins/system/display/controlpanel.cpp ++++ b/plugins/system/display/controlpanel.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "controlpanel.h" + #include "outputconfig.h" + #include "unifiedoutputconfig.h" +diff --git a/plugins/system/display/controlpanel.h b/plugins/system/display/controlpanel.h +index 6386531..18d8d0a 100644 +--- a/plugins/system/display/controlpanel.h ++++ b/plugins/system/display/controlpanel.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef CONTROLPANEL_H + #define CONTROLPANEL_H + +diff --git a/plugins/system/display/display.cpp b/plugins/system/display/display.cpp +index d4f4563..a78c30a 100644 +--- a/plugins/system/display/display.cpp ++++ b/plugins/system/display/display.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/system/display/display.h b/plugins/system/display/display.h +index 96c5b55..4cd839e 100644 +--- a/plugins/system/display/display.h ++++ b/plugins/system/display/display.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/system/display/getBrightnessThread.cpp b/plugins/system/display/getBrightnessThread.cpp +index a3b8a5e..c85500f 100644 +--- a/plugins/system/display/getBrightnessThread.cpp ++++ b/plugins/system/display/getBrightnessThread.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "getBrightnessThread.h" + #include <QDBusInterface> + #include <QDBusReply> +diff --git a/plugins/system/display/getBrightnessThread.h b/plugins/system/display/getBrightnessThread.h +index b2e0fb4..c458354 100644 +--- a/plugins/system/display/getBrightnessThread.h ++++ b/plugins/system/display/getBrightnessThread.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef GETBRIGHTNESSTHREAD_H + #define GETBRIGHTNESSTHREAD_H + #include <QThread> +diff --git a/plugins/system/display/outputconfig.cpp b/plugins/system/display/outputconfig.cpp +index 619d7a5..aa90e40 100644 +--- a/plugins/system/display/outputconfig.cpp ++++ b/plugins/system/display/outputconfig.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "outputconfig.h" + #include "resolutionslider.h" + #include "utils.h" +diff --git a/plugins/system/display/outputconfig.h b/plugins/system/display/outputconfig.h +index efc49fa..a742582 100644 +--- a/plugins/system/display/outputconfig.h ++++ b/plugins/system/display/outputconfig.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef OUTPUTCONFIG_H + #define OUTPUTCONFIG_H + +diff --git a/plugins/system/display/qml/OutputIdentifier.qml b/plugins/system/display/qml/OutputIdentifier.qml +index 456b65f..ac32788 100644 +--- a/plugins/system/display/qml/OutputIdentifier.qml ++++ b/plugins/system/display/qml/OutputIdentifier.qml +@@ -1,4 +1,22 @@ +- ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + import QtQuick 2.1 + import QtQuick.Controls 2.5 + +diff --git a/plugins/system/display/resolutionslider.cpp b/plugins/system/display/resolutionslider.cpp +index 44b89cf..a970e46 100644 +--- a/plugins/system/display/resolutionslider.cpp ++++ b/plugins/system/display/resolutionslider.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "resolutionslider.h" + #include "utils.h" + #include "scalesize.h" +diff --git a/plugins/system/display/resolutionslider.h b/plugins/system/display/resolutionslider.h +index 91fd498..68a7206 100644 +--- a/plugins/system/display/resolutionslider.h ++++ b/plugins/system/display/resolutionslider.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef RESOLUTIONSLIDER_H + #define RESOLUTIONSLIDER_H + +diff --git a/plugins/system/display/scalesize.h b/plugins/system/display/scalesize.h +index 427ada6..061a5d5 100644 +--- a/plugins/system/display/scalesize.h ++++ b/plugins/system/display/scalesize.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef SCALESIZE_H + #define SCALESIZE_H + +diff --git a/plugins/system/display/splicedialog.cpp b/plugins/system/display/splicedialog.cpp +index f4702ac..ecf9783 100644 +--- a/plugins/system/display/splicedialog.cpp ++++ b/plugins/system/display/splicedialog.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "splicedialog.h" + #include "ui_splicedialog.h" + #include <QDebug> +diff --git a/plugins/system/display/splicedialog.h b/plugins/system/display/splicedialog.h +index 516088b..957f4bf 100644 +--- a/plugins/system/display/splicedialog.h ++++ b/plugins/system/display/splicedialog.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef SPLICEDIALOG_H + #define SPLICEDIALOG_H + +diff --git a/plugins/system/display/unifiedoutputconfig.cpp b/plugins/system/display/unifiedoutputconfig.cpp +index b49644f..f892936 100644 +--- a/plugins/system/display/unifiedoutputconfig.cpp ++++ b/plugins/system/display/unifiedoutputconfig.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "unifiedoutputconfig.h" + #include "resolutionslider.h" + #include "scalesize.h" +diff --git a/plugins/system/display/unifiedoutputconfig.h b/plugins/system/display/unifiedoutputconfig.h +index 61c6b40..bc6fe07 100644 +--- a/plugins/system/display/unifiedoutputconfig.h ++++ b/plugins/system/display/unifiedoutputconfig.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef UNIFIEDOUTPUTCONFIG_H + #define UNIFIEDOUTPUTCONFIG_H + +diff --git a/plugins/system/display/utils.cpp b/plugins/system/display/utils.cpp +index 1d24084..cba59a4 100644 +--- a/plugins/system/display/utils.cpp ++++ b/plugins/system/display/utils.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "utils.h" + + #include <KF5/KScreen/kscreen/output.h> +diff --git a/plugins/system/display/utils.h b/plugins/system/display/utils.h +index 0be6b89..34bd8a4 100644 +--- a/plugins/system/display/utils.h ++++ b/plugins/system/display/utils.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef KSCREEN_KCM_UTILS_H + #define KSCREEN_KCM_UTILS_H + +diff --git a/plugins/system/display/widget.cpp b/plugins/system/display/widget.cpp +index 9b7ec43..cc26a5a 100644 +--- a/plugins/system/display/widget.cpp ++++ b/plugins/system/display/widget.cpp +@@ -1350,7 +1350,8 @@ void Widget::slotIdentifyButtonClicked(bool checked) + + void Widget::slotIdentifyOutputs(KScreen::ConfigOperation *op) + { +- if (op->hasError() || UkccCommon::isOpenkylin()) { ++ if (op->hasError() || UkccCommon::isOpenkylin() || UkccCommon::isV11()) { ++ qDebug() << Q_FUNC_INFO << "skip slotIdentifyOutputs"; + return; + } + m_firstViewResize = true; +diff --git a/plugins/time-language/area/addinputmethoddialog.cpp b/plugins/time-language/area/addinputmethoddialog.cpp +index 06b4f4c..635533f 100644 +--- a/plugins/time-language/area/addinputmethoddialog.cpp ++++ b/plugins/time-language/area/addinputmethoddialog.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "addinputmethoddialog.h" + #include "ui_addinputmethoddialog.h" + +diff --git a/plugins/time-language/area/addinputmethoddialog.h b/plugins/time-language/area/addinputmethoddialog.h +index f34dd12..31953a0 100644 +--- a/plugins/time-language/area/addinputmethoddialog.h ++++ b/plugins/time-language/area/addinputmethoddialog.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef ADDINPUTMETHODDIALOG_H + #define ADDINPUTMETHODDIALOG_H + +diff --git a/plugins/time-language/area/addlanguagedialog.cpp b/plugins/time-language/area/addlanguagedialog.cpp +index 2eef37a..d4ca546 100644 +--- a/plugins/time-language/area/addlanguagedialog.cpp ++++ b/plugins/time-language/area/addlanguagedialog.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "addlanguagedialog.h" + #include "ui_addlanguagedialog.h" + #include <QTranslator> +diff --git a/plugins/time-language/area/addlanguagedialog.h b/plugins/time-language/area/addlanguagedialog.h +index 457378b..c2704f9 100644 +--- a/plugins/time-language/area/addlanguagedialog.h ++++ b/plugins/time-language/area/addlanguagedialog.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef ADDLANGUAGEDIALOG_H + #define ADDLANGUAGEDIALOG_H + +diff --git a/plugins/time-language/area/area.cpp b/plugins/time-language/area/area.cpp +index f66cbd4..435f0c9 100644 +--- a/plugins/time-language/area/area.cpp ++++ b/plugins/time-language/area/area.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/time-language/area/area.h b/plugins/time-language/area/area.h +index a985cbe..cdcf5ce 100644 +--- a/plugins/time-language/area/area.h ++++ b/plugins/time-language/area/area.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/time-language/area/areaui.cpp b/plugins/time-language/area/areaui.cpp +index c767fea..40f868d 100644 +--- a/plugins/time-language/area/areaui.cpp ++++ b/plugins/time-language/area/areaui.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "areaui.h" + + AreaUi::AreaUi(QWidget *parent, Qt::WindowFlags f) +diff --git a/plugins/time-language/area/areaui.h b/plugins/time-language/area/areaui.h +index bc5a805..d5e4cd5 100644 +--- a/plugins/time-language/area/areaui.h ++++ b/plugins/time-language/area/areaui.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef AREAUI_H + #define AREAUI_H + +diff --git a/plugins/time-language/datetime/calendarwidget.cpp b/plugins/time-language/datetime/calendarwidget.cpp +index 4ef4c17..f79d1a6 100644 +--- a/plugins/time-language/datetime/calendarwidget.cpp ++++ b/plugins/time-language/datetime/calendarwidget.cpp +@@ -1,5 +1,22 @@ +-//qcustomcalendarwidget.cpp +- ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "calendarwidget.h" + + #include <QLocale> +diff --git a/plugins/time-language/datetime/calendarwidget.h b/plugins/time-language/datetime/calendarwidget.h +index 5974a5e..5bb51e3 100644 +--- a/plugins/time-language/datetime/calendarwidget.h ++++ b/plugins/time-language/datetime/calendarwidget.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef CUSTOMCALENDAR_H + #define CUSTOMCALENDAR_H + +diff --git a/plugins/time-language/datetime/clockwidget.cpp b/plugins/time-language/datetime/clockwidget.cpp +index 772956f..1109715 100644 +--- a/plugins/time-language/datetime/clockwidget.cpp ++++ b/plugins/time-language/datetime/clockwidget.cpp +@@ -1,4 +1,23 @@ +-#include "clockwidget.h".h" ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ ++#include "clockwidget.h" + #include <QTime> + #include <QDebug> + +diff --git a/plugins/time-language/datetime/clockwidget.h b/plugins/time-language/datetime/clockwidget.h +index 2483b50..708ba05 100644 +--- a/plugins/time-language/datetime/clockwidget.h ++++ b/plugins/time-language/datetime/clockwidget.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef CLOCK_H + #define CLOCK_H + +diff --git a/plugins/time-language/datetime/dateedit.cpp b/plugins/time-language/datetime/dateedit.cpp +index 860a47c..408dc3c 100644 +--- a/plugins/time-language/datetime/dateedit.cpp ++++ b/plugins/time-language/datetime/dateedit.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "dateedit.h" + #include <QPainter> + #include <QBrush> +diff --git a/plugins/time-language/datetime/dateedit.h b/plugins/time-language/datetime/dateedit.h +index 1e0b38f..f03c17b 100644 +--- a/plugins/time-language/datetime/dateedit.h ++++ b/plugins/time-language/datetime/dateedit.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef DATEEDIT_H + #define DATEEDIT_H + #include <QDateEdit> +diff --git a/plugins/time-language/datetime/dategroupwidget.cpp b/plugins/time-language/datetime/dategroupwidget.cpp +index 744d3d3..12dd935 100644 +--- a/plugins/time-language/datetime/dategroupwidget.cpp ++++ b/plugins/time-language/datetime/dategroupwidget.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "dategroupwidget.h" + #include <QDebug> + +diff --git a/plugins/time-language/datetime/dategroupwidget.h b/plugins/time-language/datetime/dategroupwidget.h +index 2f1ee42..2641218 100644 +--- a/plugins/time-language/datetime/dategroupwidget.h ++++ b/plugins/time-language/datetime/dategroupwidget.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef DATEGROUPWIDGET_H + #define DATEGROUPWIDGET_H + +diff --git a/plugins/time-language/datetime/datetime.cpp b/plugins/time-language/datetime/datetime.cpp +index 8094fab..818d205 100644 +--- a/plugins/time-language/datetime/datetime.cpp ++++ b/plugins/time-language/datetime/datetime.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/time-language/datetime/datetime.h b/plugins/time-language/datetime/datetime.h +index 877e333..751c5d8 100644 +--- a/plugins/time-language/datetime/datetime.h ++++ b/plugins/time-language/datetime/datetime.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/plugins/time-language/datetime/datetimeui.cpp b/plugins/time-language/datetime/datetimeui.cpp +index 14d7811..85aaca9 100644 +--- a/plugins/time-language/datetime/datetimeui.cpp ++++ b/plugins/time-language/datetime/datetimeui.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "datetimeui.h" + #include <QApplication> + +diff --git a/plugins/time-language/datetime/datetimeui.h b/plugins/time-language/datetime/datetimeui.h +index 13141d4..baae5fe 100644 +--- a/plugins/time-language/datetime/datetimeui.h ++++ b/plugins/time-language/datetime/datetimeui.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef DATETIMEUI_H + #define DATETIMEUI_H + +diff --git a/plugins/time-language/datetime/timeBtn.cpp b/plugins/time-language/datetime/timeBtn.cpp +index 2314751..3da6940 100644 +--- a/plugins/time-language/datetime/timeBtn.cpp ++++ b/plugins/time-language/datetime/timeBtn.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "timeBtn.h" + #include <QHBoxLayout> + #include <QVBoxLayout> +diff --git a/plugins/time-language/datetime/timeBtn.h b/plugins/time-language/datetime/timeBtn.h +index affa3d1..03bd3b9 100644 +--- a/plugins/time-language/datetime/timeBtn.h ++++ b/plugins/time-language/datetime/timeBtn.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef TIMEBTN_H + #define TIMEBTN_H + #include <QPushButton> +diff --git a/plugins/time-language/datetime/timelabel.cpp b/plugins/time-language/datetime/timelabel.cpp +index 98915f8..be46f21 100644 +--- a/plugins/time-language/datetime/timelabel.cpp ++++ b/plugins/time-language/datetime/timelabel.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "timelabel.h" + #include "QApplication" + #include <QDebug> +diff --git a/plugins/time-language/datetime/timelabel.h b/plugins/time-language/datetime/timelabel.h +index 70b4cb1..b1d6419 100644 +--- a/plugins/time-language/datetime/timelabel.h ++++ b/plugins/time-language/datetime/timelabel.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef TIMELABEL_H + #define TIMELABEL_H + +diff --git a/plugins/time-language/datetime/worldMap/dotlabel.cpp b/plugins/time-language/datetime/worldMap/dotlabel.cpp +index 80396de..960c660 100644 +--- a/plugins/time-language/datetime/worldMap/dotlabel.cpp ++++ b/plugins/time-language/datetime/worldMap/dotlabel.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "dotlabel.h" + #include <QPainter> + #include <QPalette> +diff --git a/plugins/time-language/datetime/worldMap/dotlabel.h b/plugins/time-language/datetime/worldMap/dotlabel.h +index 4d04cf7..453e796 100644 +--- a/plugins/time-language/datetime/worldMap/dotlabel.h ++++ b/plugins/time-language/datetime/worldMap/dotlabel.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef DOTLABEL_H + #define DOTLABEL_H + +diff --git a/plugins/time-language/datetime/worldMap/poplist.cpp b/plugins/time-language/datetime/worldMap/poplist.cpp +index 906581e..eb633c4 100644 +--- a/plugins/time-language/datetime/worldMap/poplist.cpp ++++ b/plugins/time-language/datetime/worldMap/poplist.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "poplist.h" + #include "poplistdelegate.h" + +diff --git a/plugins/time-language/datetime/worldMap/poplist.h b/plugins/time-language/datetime/worldMap/poplist.h +index f13c8f3..bd1ff1c 100644 +--- a/plugins/time-language/datetime/worldMap/poplist.h ++++ b/plugins/time-language/datetime/worldMap/poplist.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef POPLIST_H + #define POPLIST_H + +diff --git a/plugins/time-language/datetime/worldMap/poplistdelegate.cpp b/plugins/time-language/datetime/worldMap/poplistdelegate.cpp +index bbe7664..97f097e 100644 +--- a/plugins/time-language/datetime/worldMap/poplistdelegate.cpp ++++ b/plugins/time-language/datetime/worldMap/poplistdelegate.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "poplistdelegate.h" + + PopListDelegate::PopListDelegate(QWidget* parent) : QStyledItemDelegate (parent) +diff --git a/plugins/time-language/datetime/worldMap/poplistdelegate.h b/plugins/time-language/datetime/worldMap/poplistdelegate.h +index 44af265..d73d841 100644 +--- a/plugins/time-language/datetime/worldMap/poplistdelegate.h ++++ b/plugins/time-language/datetime/worldMap/poplistdelegate.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef POPLISTDELEGATE_H + #define POPLISTDELEGATE_H + +diff --git a/plugins/time-language/datetime/worldMap/popmenu.cpp b/plugins/time-language/datetime/worldMap/popmenu.cpp +index fc2e1bf..9a5fdf5 100644 +--- a/plugins/time-language/datetime/worldMap/popmenu.cpp ++++ b/plugins/time-language/datetime/worldMap/popmenu.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "popmenu.h" + #include <QString> + #include <QDebug> +diff --git a/plugins/time-language/datetime/worldMap/popmenu.h b/plugins/time-language/datetime/worldMap/popmenu.h +index cd13a8b..6dc6fa2 100644 +--- a/plugins/time-language/datetime/worldMap/popmenu.h ++++ b/plugins/time-language/datetime/worldMap/popmenu.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef POPMENU_H + #define POPMENU_H + #include <QMenu> +diff --git a/plugins/time-language/datetime/worldMap/timezonechooser.cpp b/plugins/time-language/datetime/worldMap/timezonechooser.cpp +index b95da08..c503ebb 100644 +--- a/plugins/time-language/datetime/worldMap/timezonechooser.cpp ++++ b/plugins/time-language/datetime/worldMap/timezonechooser.cpp +@@ -1,4 +1,23 @@ +-#include "timezonechooser.h" ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ ++#include "timezonechooser.h" + + #include <QDesktopWidget> + #include <QApplication> +diff --git a/plugins/time-language/datetime/worldMap/timezonechooser.h b/plugins/time-language/datetime/worldMap/timezonechooser.h +index 2e0b910..3bc4254 100644 +--- a/plugins/time-language/datetime/worldMap/timezonechooser.h ++++ b/plugins/time-language/datetime/worldMap/timezonechooser.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef TIMEZONECHOOSER_H + #define TIMEZONECHOOSER_H + +diff --git a/plugins/time-language/datetime/worldMap/timezonemap.cpp b/plugins/time-language/datetime/worldMap/timezonemap.cpp +index cb841e2..be10b5d 100644 +--- a/plugins/time-language/datetime/worldMap/timezonemap.cpp ++++ b/plugins/time-language/datetime/worldMap/timezonemap.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "timezonemap.h" + + #include <QApplication> +diff --git a/plugins/time-language/datetime/worldMap/timezonemap.h b/plugins/time-language/datetime/worldMap/timezonemap.h +index 6969002..5555ffd 100644 +--- a/plugins/time-language/datetime/worldMap/timezonemap.h ++++ b/plugins/time-language/datetime/worldMap/timezonemap.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef TIMEZONEMAP_H + #define TIMEZONEMAP_H + +diff --git a/plugins/time-language/datetime/worldMap/toolpop.cpp b/plugins/time-language/datetime/worldMap/toolpop.cpp +index 9793425..0362764 100644 +--- a/plugins/time-language/datetime/worldMap/toolpop.cpp ++++ b/plugins/time-language/datetime/worldMap/toolpop.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "toolpop.h" + + #include <QPaintEvent> +diff --git a/plugins/time-language/datetime/worldMap/toolpop.h b/plugins/time-language/datetime/worldMap/toolpop.h +index 8c65689..4269a3c 100644 +--- a/plugins/time-language/datetime/worldMap/toolpop.h ++++ b/plugins/time-language/datetime/worldMap/toolpop.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef TOOLPOP_H + #define TOOLPOP_H + +diff --git a/plugins/time-language/datetime/worldMap/zoneinfo.cpp b/plugins/time-language/datetime/worldMap/zoneinfo.cpp +index ce1396d..b9bbd9b 100644 +--- a/plugins/time-language/datetime/worldMap/zoneinfo.cpp ++++ b/plugins/time-language/datetime/worldMap/zoneinfo.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "zoneinfo.h" + + #include <cmath> +diff --git a/plugins/time-language/datetime/worldMap/zoneinfo.h b/plugins/time-language/datetime/worldMap/zoneinfo.h +index 98637c9..29485e6 100644 +--- a/plugins/time-language/datetime/worldMap/zoneinfo.h ++++ b/plugins/time-language/datetime/worldMap/zoneinfo.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef ZONEINFO_H + #define ZONEINFO_H + +diff --git a/registeredQDbus/main.cpp b/registeredQDbus/main.cpp +index e6b1340..23f35af 100644 +--- a/registeredQDbus/main.cpp ++++ b/registeredQDbus/main.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/registeredQDbus/sysdbusregister.cpp b/registeredQDbus/sysdbusregister.cpp +index d9b211a..642ffac 100644 +--- a/registeredQDbus/sysdbusregister.cpp ++++ b/registeredQDbus/sysdbusregister.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/registeredQDbus/sysdbusregister.h b/registeredQDbus/sysdbusregister.h +index bba703d..2f5f6e4 100644 +--- a/registeredQDbus/sysdbusregister.h ++++ b/registeredQDbus/sysdbusregister.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/registeredSession/plugins/about/aboutinterface.cpp b/registeredSession/plugins/about/aboutinterface.cpp +index b2db84e..43184f3 100644 +--- a/registeredSession/plugins/about/aboutinterface.cpp ++++ b/registeredSession/plugins/about/aboutinterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "aboutinterface.h" + + #include <QFile> +diff --git a/registeredSession/plugins/about/aboutinterface.h b/registeredSession/plugins/about/aboutinterface.h +index 8c66796..50b80c6 100644 +--- a/registeredSession/plugins/about/aboutinterface.h ++++ b/registeredSession/plugins/about/aboutinterface.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef ABOUTINTERFACE_H + #define ABOUTINTERFACE_H + +diff --git a/registeredSession/plugins/area/areainterface.cpp b/registeredSession/plugins/area/areainterface.cpp +index 1c4155f..f9bef3c 100644 +--- a/registeredSession/plugins/area/areainterface.cpp ++++ b/registeredSession/plugins/area/areainterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "areainterface.h" + #include <unistd.h> + #include <QDBusConnection> +diff --git a/registeredSession/plugins/area/areainterface.h b/registeredSession/plugins/area/areainterface.h +index 1597ed7..6a218ee 100644 +--- a/registeredSession/plugins/area/areainterface.h ++++ b/registeredSession/plugins/area/areainterface.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef AREAINTERFACE_H + #define AREAINTERFACE_H + +diff --git a/registeredSession/plugins/autoboot/autostartinterface.cpp b/registeredSession/plugins/autoboot/autostartinterface.cpp +index e5c1b91..72bb0d8 100644 +--- a/registeredSession/plugins/autoboot/autostartinterface.cpp ++++ b/registeredSession/plugins/autoboot/autostartinterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "autostartinterface.h" + #include <QDir> + #include <KSharedConfig> +diff --git a/registeredSession/plugins/autoboot/autostartinterface.h b/registeredSession/plugins/autoboot/autostartinterface.h +index 3d6d161..168a1ee 100644 +--- a/registeredSession/plugins/autoboot/autostartinterface.h ++++ b/registeredSession/plugins/autoboot/autostartinterface.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef AUTOSTARTINTERFACE_H + #define AUTOSTARTINTERFACE_H + +diff --git a/registeredSession/plugins/datetime/datetimeinterface.cpp b/registeredSession/plugins/datetime/datetimeinterface.cpp +index 51234cc..d21a16d 100644 +--- a/registeredSession/plugins/datetime/datetimeinterface.cpp ++++ b/registeredSession/plugins/datetime/datetimeinterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "datetimeinterface.h" + #include "../../universalinterface.h" + #include <libintl.h> +diff --git a/registeredSession/plugins/datetime/datetimeinterface.h b/registeredSession/plugins/datetime/datetimeinterface.h +index 78bc727..d37b750 100644 +--- a/registeredSession/plugins/datetime/datetimeinterface.h ++++ b/registeredSession/plugins/datetime/datetimeinterface.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef DATETIMEINTERFACE_H + #define DATETIMEINTERFACE_H + +diff --git a/registeredSession/plugins/default/defaultinterface.cpp b/registeredSession/plugins/default/defaultinterface.cpp +index 2bb5e36..8b21f01 100644 +--- a/registeredSession/plugins/default/defaultinterface.cpp ++++ b/registeredSession/plugins/default/defaultinterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "defaultinterface.h" + #include <QDebug> + #include <QStandardPaths> +diff --git a/registeredSession/plugins/default/defaultinterface.h b/registeredSession/plugins/default/defaultinterface.h +index 9b342c8..1de92ec 100644 +--- a/registeredSession/plugins/default/defaultinterface.h ++++ b/registeredSession/plugins/default/defaultinterface.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef DEFAULTINTERFACE_H + #define DEFAULTINTERFACE_H + #include <QObject> +diff --git a/registeredSession/plugins/screenlock/screenlockinterface.cpp b/registeredSession/plugins/screenlock/screenlockinterface.cpp +index cf0fe7c..b7f3ad1 100644 +--- a/registeredSession/plugins/screenlock/screenlockinterface.cpp ++++ b/registeredSession/plugins/screenlock/screenlockinterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "screenlockinterface.h" + #include <sys/stat.h> + +diff --git a/registeredSession/plugins/screenlock/screenlockinterface.h b/registeredSession/plugins/screenlock/screenlockinterface.h +index 21cadbc..7187bb4 100644 +--- a/registeredSession/plugins/screenlock/screenlockinterface.h ++++ b/registeredSession/plugins/screenlock/screenlockinterface.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef SCREENLOCKINTERFACE_H + #define SCREENLOCKINTERFACE_H + +diff --git a/registeredSession/plugins/screensaver/screensaverinterface.cpp b/registeredSession/plugins/screensaver/screensaverinterface.cpp +index 024525a..b94cfd4 100644 +--- a/registeredSession/plugins/screensaver/screensaverinterface.cpp ++++ b/registeredSession/plugins/screensaver/screensaverinterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "screensaverinterface.h" + + ScreensaverInterface::ScreensaverInterface() +diff --git a/registeredSession/plugins/screensaver/screensaverinterface.h b/registeredSession/plugins/screensaver/screensaverinterface.h +index a80aeb2..6bee706 100644 +--- a/registeredSession/plugins/screensaver/screensaverinterface.h ++++ b/registeredSession/plugins/screensaver/screensaverinterface.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef SCREENSAVERINTERFACE_H + #define SCREENSAVERINTERFACE_H + +diff --git a/registeredSession/plugins/shortcut/getshortcutworker.cpp b/registeredSession/plugins/shortcut/getshortcutworker.cpp +index 35fb2cf..11e58dc 100644 +--- a/registeredSession/plugins/shortcut/getshortcutworker.cpp ++++ b/registeredSession/plugins/shortcut/getshortcutworker.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/registeredSession/plugins/shortcut/getshortcutworker.h b/registeredSession/plugins/shortcut/getshortcutworker.h +index 38c2999..dd0b5c5 100644 +--- a/registeredSession/plugins/shortcut/getshortcutworker.h ++++ b/registeredSession/plugins/shortcut/getshortcutworker.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/registeredSession/plugins/shortcut/shortcutinterface.cpp b/registeredSession/plugins/shortcut/shortcutinterface.cpp +index c3a4f6b..0b4a7d7 100644 +--- a/registeredSession/plugins/shortcut/shortcutinterface.cpp ++++ b/registeredSession/plugins/shortcut/shortcutinterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "shortcutinterface.h" + + +diff --git a/registeredSession/plugins/shortcut/shortcutinterface.h b/registeredSession/plugins/shortcut/shortcutinterface.h +index 2946ff8..e8dd310 100644 +--- a/registeredSession/plugins/shortcut/shortcutinterface.h ++++ b/registeredSession/plugins/shortcut/shortcutinterface.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef SHORTCUTINTERFACE_H + #define SHORTCUTINTERFACE_H + +diff --git a/registeredSession/plugins/shortcut/type.cpp b/registeredSession/plugins/shortcut/type.cpp +index 008fb9f..f82764c 100644 +--- a/registeredSession/plugins/shortcut/type.cpp ++++ b/registeredSession/plugins/shortcut/type.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "type.h" + #include <QDBusArgument> + #include <QDBusMetaType> +diff --git a/registeredSession/plugins/shortcut/type.h b/registeredSession/plugins/shortcut/type.h +index d8c8bb3..5dd178f 100644 +--- a/registeredSession/plugins/shortcut/type.h ++++ b/registeredSession/plugins/shortcut/type.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef TYPE_H + #define TYPE_H + +diff --git a/registeredSession/plugins/wallpaper/wallpaperinterface.cpp b/registeredSession/plugins/wallpaper/wallpaperinterface.cpp +index aaf3eba..c57831a 100644 +--- a/registeredSession/plugins/wallpaper/wallpaperinterface.cpp ++++ b/registeredSession/plugins/wallpaper/wallpaperinterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "wallpaperinterface.h" + + WallpaperInterface::WallpaperInterface() +diff --git a/registeredSession/plugins/wallpaper/wallpaperinterface.h b/registeredSession/plugins/wallpaper/wallpaperinterface.h +index 6b77f96..50f82fe 100644 +--- a/registeredSession/plugins/wallpaper/wallpaperinterface.h ++++ b/registeredSession/plugins/wallpaper/wallpaperinterface.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef WALLPAPERINTERFACE_H + #define WALLPAPERINTERFACE_H + +diff --git a/registeredSession/plugins/wallpaper/workerobject.h b/registeredSession/plugins/wallpaper/workerobject.h +index 0f1896c..96c64fa 100644 +--- a/registeredSession/plugins/wallpaper/workerobject.h ++++ b/registeredSession/plugins/wallpaper/workerobject.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/registeredSession/plugins/wallpaper/xmlhandle.cpp b/registeredSession/plugins/wallpaper/xmlhandle.cpp +index 8654355..b72bb72 100644 +--- a/registeredSession/plugins/wallpaper/xmlhandle.cpp ++++ b/registeredSession/plugins/wallpaper/xmlhandle.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/registeredSession/plugins/wallpaper/xmlhandle.h b/registeredSession/plugins/wallpaper/xmlhandle.h +index 77ac8cf..6b75471 100644 +--- a/registeredSession/plugins/wallpaper/xmlhandle.h ++++ b/registeredSession/plugins/wallpaper/xmlhandle.h +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. ++ * Copyright (C) 2019 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/registeredSession/screenStruct.h b/registeredSession/screenStruct.h +index dce3103..9b2c455 100644 +--- a/registeredSession/screenStruct.h ++++ b/registeredSession/screenStruct.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef SCREENSTRUCT_H + #define SCREENSTRUCT_H + +diff --git a/registeredSession/ukccsessionserver.cpp b/registeredSession/ukccsessionserver.cpp +index 6568730..1c71f0d 100644 +--- a/registeredSession/ukccsessionserver.cpp ++++ b/registeredSession/ukccsessionserver.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "ukccsessionserver.h" + + #include <QJsonDocument> +diff --git a/registeredSession/ukccsessionserver.h b/registeredSession/ukccsessionserver.h +index 055571f..e158cf2 100644 +--- a/registeredSession/ukccsessionserver.h ++++ b/registeredSession/ukccsessionserver.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef UKCCSESSIONSERVER_H + #define UKCCSESSIONSERVER_H + +diff --git a/registeredSession/universalinterface.cpp b/registeredSession/universalinterface.cpp +index beffe06..cb4087c 100644 +--- a/registeredSession/universalinterface.cpp ++++ b/registeredSession/universalinterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "universalinterface.h" + #include <unistd.h> + +diff --git a/registeredSession/universalinterface.h b/registeredSession/universalinterface.h +index aef81b0..ec6ad0f 100644 +--- a/registeredSession/universalinterface.h ++++ b/registeredSession/universalinterface.h +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #ifndef UNIVERSALINTERFACE_H + #define UNIVERSALINTERFACE_H + #include <QByteArray> +diff --git a/shell/res/i18n/bo_CN.ts b/shell/res/i18n/bo_CN.ts +index befd7f6..210810b 100644 +--- a/shell/res/i18n/bo_CN.ts ++++ b/shell/res/i18n/bo_CN.ts +@@ -288,6 +288,7 @@ + <location filename="../../../plugins/system/about/aboutui.cpp" line="87"/> + <source>HostName</source> + <translation>གཙོ་སྐྱོང་བྱེད་མཁན་གྱི་མིང</translation> ++ <extra-contents_path>/About/HostName</extra-contents_path> + </message> + <message> + <location filename="../../../plugins/system/about/aboutui.cpp" line="100"/> +@@ -1246,7 +1247,7 @@ you can restore them to ensure the integrity of your system.</source> + <context> + <name>BrightnessFrame</name> + <message> +- <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="66"/> ++ <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="64"/> + <source>Failed to get the brightness information of this monitor</source> + <translation>ལྟ་ཞིབ་ཚད་ལེན་འཕྲུལ་ཆས་འདིའི་གསལ་ཚད་ཀྱི་ཆ་འཕྲིན་ཐོབ་མ་ཐུབ།</translation> + </message> +@@ -2227,12 +2228,10 @@ change system settings</source> + <message> + <source>Other Timezone</source> + <translation type="vanished">དུས་ཚོད་གཞན་དག</translation> +- <extra-contents_path>/Date/Other Timezone</extra-contents_path> + </message> + <message> + <source>24-hour clock</source> + <translation type="vanished">ཆུ་ཚོད་24རིང་གི་ཆུ་ཚོད་འཁོར་ལོ།</translation> +- <extra-contents_path>/Date/24-hour clock</extra-contents_path> + </message> + <message> + <source>Set Time</source> +@@ -2246,12 +2245,10 @@ change system settings</source> + <message> + <source>Sync Time</source> + <translation type="vanished">དུས་ཚོད་གཅིག་མཐུན་ཡོང་བ</translation> +- <extra-contents_path>/Date/Sync Time</extra-contents_path> + </message> + <message> + <source>Manual Time</source> + <translation type="vanished">ལག་ཤེས་དུས་ཚོད།</translation> +- <extra-contents_path>/Date/Manual Time</extra-contents_path> + </message> + <message> + <source>Sync Server</source> +@@ -3282,7 +3279,7 @@ change system settings</source> + <context> + <name>MainWindow</name> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> ++ <location filename="../../mainwindow.cpp" line="156"/> + <source>Warnning</source> + <translation>ཐ་ཚིག་</translation> + </message> +@@ -3291,16 +3288,16 @@ change system settings</source> + <translation type="vanished">རྒྱུན་ལྡན་གྱི་གནས་</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="173"/> +- <location filename="../../mainwindow.cpp" line="510"/> ++ <location filename="../../mainwindow.cpp" line="177"/> ++ <location filename="../../mainwindow.cpp" line="515"/> + <source>Maximize</source> + <translation>ཚད་གཞི་མཐོ་ཤོས་ཀྱི་སྒོ་ནས</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="470"/> +- <location filename="../../mainwindow.cpp" line="488"/> +- <location filename="../../mainwindow.cpp" line="620"/> +- <location filename="../../mainwindow.cpp" line="974"/> ++ <location filename="../../mainwindow.cpp" line="475"/> ++ <location filename="../../mainwindow.cpp" line="493"/> ++ <location filename="../../mainwindow.cpp" line="625"/> ++ <location filename="../../mainwindow.cpp" line="979"/> + <source>Settings</source> + <translation>སྒྲིག་བཀོད།</translation> + </message> +@@ -3313,27 +3310,27 @@ change system settings</source> + <translation type="vanished">ཟས་ཐོ་གཙོ་བོ།</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="170"/> ++ <location filename="../../mainwindow.cpp" line="174"/> + <source>Restore</source> + <translation>སླར་གསོ་བྱེད་པ།</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="482"/> ++ <location filename="../../mainwindow.cpp" line="487"/> + <source>Back home</source> + <translation>ཕྱིར་ལོག་མགོ་ངོས།</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="508"/> ++ <location filename="../../mainwindow.cpp" line="513"/> + <source>Option</source> + <translation>འདེམས་ཚན་</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="509"/> ++ <location filename="../../mainwindow.cpp" line="514"/> + <source>Minimize</source> + <translation>ཉུང་དུ་གཏོང་གང་ཐུབ་བྱ་དགོས།</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="511"/> ++ <location filename="../../mainwindow.cpp" line="516"/> + <source>Close</source> + <translation>སྒོ་རྒྱག་པ།</translation> + </message> +@@ -3350,23 +3347,23 @@ change system settings</source> + <translation type="vanished">ཕྱིར་འཐེན་བྱེད་པ།</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="621"/> ++ <location filename="../../mainwindow.cpp" line="626"/> + <source>Version: </source> + <translation>པར་གཞི་འདི་ལྟ་སྟེ།:</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="756"/> ++ <location filename="../../mainwindow.cpp" line="761"/> + <source>Specified</source> + <translation>གཏན་འབེབས་བྱས་པ།</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="1107"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>Warning</source> + <translation>ཐ་ཚིག་སྒྲོག་པ།</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> +- <location filename="../../mainwindow.cpp" line="1107"/> ++ <location filename="../../mainwindow.cpp" line="156"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>This function has been controlled</source> + <translation>འགན་ནུས་འདི་ཚོད་འཛིན་བྱས་ཟིན།</translation> + </message> +@@ -4591,17 +4588,17 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + </translation> + </message> + <message> +- <location filename="../../main.cpp" line="89"/> ++ <location filename="../../main.cpp" line="93"/> + <source>ukui-control-center is already running!</source> + <translation>ཝུའུ་ཁི་ལན་གྱི་ཚོད་འཛིན་ལྟེ་གནས་འཁོར་སྐྱོད་བྱེད་བཞིན་ཡོད།</translation> + </message> + <message> +- <location filename="../../main.cpp" line="100"/> ++ <location filename="../../main.cpp" line="104"/> + <source>ukui-control-center is disabled!</source> + <translation>ཝུའུ་ཁི་ལན་གྱི་ཚོད་འཛིན་ལྟེ་གནས་ནི་དབང་པོ་སྐྱོན་ཅན་ཡིན།</translation> + </message> + <message> +- <location filename="../../main.cpp" line="128"/> ++ <location filename="../../main.cpp" line="132"/> + <source>ukui-control-center</source> + <translation>ཝུའུ་ཁི་ལན་གྱི་ཚོད་འཛིན་ལྟེ་གནས།</translation> + </message> +@@ -4647,14 +4644,12 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <context> + <name>Screenlock</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="32"/> + <source>Screenlock</source> +- <translation>བརྙན་ཤེལ་གྱི་སྒོ་བརྒྱབ་པ</translation> ++ <translation type="vanished">བརྙན་ཤེལ་གྱི་སྒོ་བརྒྱབ་པ</translation> + </message> + <message> + <source>Screenlock Interface</source> + <translation type="vanished">བརྙན་ཤེལ་གྱི་འབྲེལ་མཐུད།</translation> +- <extra-contents_path>/Screenlock/Screenlock Interface</extra-contents_path> + </message> + <message> + <source>Show message on lock screen</source> +@@ -4663,7 +4658,6 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <message> + <source>Show picture of screenlock on screenlogin</source> + <translation type="vanished">བརྙན་ཤེལ་སྟེང་གི་བརྙན་ཤེལ་གྱི་པར་རིས་འགྲེམས་སྟོན་བྱས།</translation> +- <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> + </message> + <message> + <source>Related Settings</source> +@@ -4684,7 +4678,6 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <message> + <source>Lock screen when screensaver boot</source> + <translation type="vanished">བརྙན་ཤེལ་གྱི་ལྷམ་ཡུ་རིང་གི་དུས་སུ་བརྙན་ཤེལ་ལ་ཟྭ་རྒྱག</translation> +- <extra-contents_path>/Screenlock/Lock screen when screensaver boot</extra-contents_path> + </message> + <message> + <source>Lock screen delay</source> +@@ -4693,7 +4686,6 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <message> + <source>Online Picture</source> + <translation type="vanished">དྲ་ཐོག་པར་རིས།</translation> +- <extra-contents_path>/Screenlock/Online Picture</extra-contents_path> + </message> + <message> + <source>1min</source> +@@ -4732,141 +4724,106 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <translation type="vanished">གཏན་ནས་བྱེད་མི་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="172"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> +- <translation>Wallpaper files (*.jpg *.jpeg *.bmp *.dib *.png *.jfif *jpe *.gif *.tif *.tiff *wdp)</translation> ++ <translation type="vanished">Wallpaper files (*.jpg *.jpeg *.bmp *.dib *.png *.jfif *jpe *.gif *.tif *.tiff *wdp)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="213"/> + <source>select custom wallpaper file</source> +- <translation>ཡུལ་སྲོལ་གོམས་གཤིས་ཀྱི་གྱང་ཤོག་ཡིག་ཆ་བདམས་པ</translation> ++ <translation type="vanished">ཡུལ་སྲོལ་གོམས་གཤིས་ཀྱི་གྱང་ཤོག་ཡིག་ཆ་བདམས་པ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="214"/> + <source>Select</source> +- <translation>བདམས་ཐོན་བྱུང་བ།</translation> ++ <translation type="vanished">བདམས་ཐོན་བྱུང་བ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="215"/> + <source>Position: </source> +- <translation>གོ་གནས་ནི། </translation> ++ <translation type="vanished">གོ་གནས་ནི། </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="216"/> + <source>FileName: </source> +- <translation>ཡིག་ཆའི་མིང་ནི། </translation> ++ <translation type="vanished">ཡིག་ཆའི་མིང་ནི། </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="217"/> + <source>FileType: </source> +- <translation>ཡིག་ཆའི་རིགས་དབྱིབས་ནི། </translation> ++ <translation type="vanished">ཡིག་ཆའི་རིགས་དབྱིབས་ནི། </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="218"/> + <source>Cancel</source> +- <translation>ཕྱིར་འཐེན།</translation> ++ <translation type="vanished">ཕྱིར་འཐེན།</translation> + </message> + </context> + <context> + <name>ScreenlockUi</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="42"/> + <source>Show picture of screenlock on screenlogin</source> +- <translation>བརྙན་ཤེལ་སྟེང་གི་བརྙན་ཤེལ་གྱི་པར་རིས་འགྲེམས་སྟོན་བྱས།</translation> +- <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> ++ <translation type="vanished">བརྙན་ཤེལ་སྟེང་གི་བརྙན་ཤེལ་གྱི་པར་རིས་འགྲེམས་སྟོན་བྱས།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="45"/> + <source>Leave lock (System will be locked when the paired phone gone)</source> +- <translation>ཟྭ་དང་བྲལ་ནས་(ལག་ཁྱེར་ཁ་པར་མེད་པར་གྱུར་རྗེས་མ་ལག་ལ་སྒོ་བརྒྱབ་ནས་གཏན་ཁེལ་བྱེད་ངེས་ )</translation> +- <extra-contents_path>/Screenlock/Leave lock (System will be locked when the paired phone gone)</extra-contents_path> ++ <translation type="vanished">ཟྭ་དང་བྲལ་ནས་(ལག་ཁྱེར་ཁ་པར་མེད་པར་གྱུར་རྗེས་མ་ལག་ལ་སྒོ་བརྒྱབ་ནས་གཏན་ཁེལ་བྱེད་ངེས་ )</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="46"/> + <source>Specified device</source> +- <translation>སྒྲིག་ཆས་དམིགས་འཛུགས་བྱ།</translation> ++ <translation type="vanished">སྒྲིག་ཆས་དམིགས་འཛུགས་བྱ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="47"/> + <source>No paired phone. Please turn to 'Bluetooth' to pair.</source> +- <translation>ལག་ཁྱེར་ཁ་པར་ཆ་འགྲིག་མེད། "སོ་སྔོན་པོ་"རུ་བསྒྱུར་ནས་སྡེབ་སྒྲིག་བྱེད་རོགས།</translation> ++ <translation type="vanished">ལག་ཁྱེར་ཁ་པར་ཆ་འགྲིག་མེད། "སོ་སྔོན་པོ་"རུ་བསྒྱུར་ནས་སྡེབ་སྒྲིག་བྱེད་རོགས།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="67"/> + <source>Screenlock</source> +- <translation>བརྙན་ཤེལ་གྱི་སྒོ་བརྒྱབ་པ</translation> +- <extra-contents_path>/Screenlock/Screenlock</extra-contents_path> ++ <translation type="vanished">བརྙན་ཤེལ་གྱི་སྒོ་བརྒྱབ་པ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="97"/> + <source>Local Pictures</source> +- <translation>ས་གནས་ཀྱི་རི་མོ།</translation> +- <extra-contents_path>/Screenlock/Local Pictures</extra-contents_path> ++ <translation type="vanished">ས་གནས་ཀྱི་རི་མོ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="99"/> + <source>Online Pictures</source> +- <translation>དྲ་ཐོག་པར་རིས།</translation> +- <extra-contents_path>/Screenlock/Online Pictures</extra-contents_path> ++ <translation type="vanished">དྲ་ཐོག་པར་རིས།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="101"/> + <source>Reset To Default</source> +- <translation>བསྐྱར་དུ་ཁ་ཆད་དང་འགལ་བའི་གནས་</translation> +- <extra-contents_path>/Screenlock/Reset To Default</extra-contents_path> ++ <translation type="vanished">བསྐྱར་དུ་ཁ་ཆད་དང་འགལ་བའི་གནས་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="113"/> + <source>Bluetooth</source> +- <translation>སོ་སྔོན་པོ།</translation> ++ <translation type="vanished">སོ་སྔོན་པོ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="118"/> + <source>No bluetooth adapter detected, can not use Leave Lock.</source> +- <translation>སོ་སྔོན་པོའི་སྡེབ་སྦྱོར་ཡོ་བྱད་ལ་ཞིབ་དཔྱད་ཚད་ལེན་མ་བྱས་ན། བཀོད་སྤྱོད་བྱེད་ཐབས་མེད།</translation> ++ <translation type="vanished">སོ་སྔོན་པོའི་སྡེབ་སྦྱོར་ཡོ་བྱད་ལ་ཞིབ་དཔྱད་ཚད་ལེན་མ་བྱས་ན། བཀོད་སྤྱོད་བྱེད་ཐབས་མེད།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="138"/> + <source>Monitor Off</source> +- <translation>སྒོ་རྒྱག་འཆར་ཆས་</translation> +- <extra-contents_path>/Screenlock/Monitor Off</extra-contents_path> ++ <translation type="vanished">སྒོ་རྒྱག་འཆར་ཆས་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="140"/> + <source>Screensaver</source> +- <translation>བརྙན་ཡོལ་སྲུང་སྐྱོབ་</translation> +- <extra-contents_path>/Screenlock/Screensaver</extra-contents_path> ++ <translation type="vanished">བརྙན་ཡོལ་སྲུང་སྐྱོབ་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="143"/> + <source>Related Settings</source> +- <translation>འབྲེལ་ལྡན་སྒྲིག་འགོད་</translation> +- <extra-contents_path>/Screenlock/Related Settings</extra-contents_path> ++ <translation type="vanished">འབྲེལ་ལྡན་སྒྲིག་འགོད་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="149"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="150"/> + <source>Set</source> +- <translation>ཉི་ནུབ</translation> ++ <translation type="vanished">ཉི་ནུབ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="165"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="532"/> + <source>Please select device</source> +- <translation>སྒྲིག་ཆས་གདམ་ག་གནང་རོགས།</translation> ++ <translation type="vanished">སྒྲིག་ཆས་གདམ་ག་གནང་རོགས།</translation> + </message> + </context> + <context> + <name>Screensaver</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="37"/> + <source>Screensaver</source> +- <translation>བརྙན་ཤེལ་གྱི་བརྙན་ཤེལ་འཕྲུལ་ཆས།</translation> ++ <translation type="vanished">བརྙན་ཤེལ་གྱི་བརྙན་ཤེལ་འཕྲུལ་ཆས།</translation> + </message> + <message> + <source>Idle time</source> + <translation type="vanished">སྒྱིད་ལུག་གི་དུས་ཚོད།</translation> +- <extra-contents_path>/Screensaver/Idle time</extra-contents_path> + </message> + <message> + <source>Lock screen when activating screensaver</source> +@@ -4875,58 +4832,46 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <message> + <source>Screensaver program</source> + <translation type="vanished">བརྙན་ཤེལ་གྱི་འཆར་གཞི།</translation> +- <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> + </message> + <message> + <source>View</source> + <translation type="vanished">ལྟ་ཚུལ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>UKUI</source> +- <translation>UKUI</translation> ++ <translation type="vanished">UKUI</translation> + </message> + <message> + <source>Blank_Only</source> + <translation type="vanished">Blank_Only</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>Customize</source> +- <translation>ཡུལ་སྲོལ་གོམས་གཤིས་</translation> ++ <translation type="vanished">ཡུལ་སྲོལ་གོམས་གཤིས་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>5min</source> +- <translation>5སྐར་མ་</translation> ++ <translation type="vanished">5སྐར་མ་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>10min</source> +- <translation>10སྐར་མ་</translation> ++ <translation type="vanished">10སྐར་མ་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>15min</source> +- <translation>15སྐར་མ་</translation> ++ <translation type="vanished">15སྐར་མ་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>30min</source> +- <translation>30སྐར་མ་</translation> ++ <translation type="vanished">30སྐར་མ་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>1hour</source> +- <translation>1ཆུ་ཚོད།</translation> ++ <translation type="vanished">1ཆུ་ཚོད།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>Never</source> +- <translation>གཏན་ནས་བྱེད་མི་</translation> ++ <translation type="vanished">གཏན་ནས་བྱེད་མི་</translation> + </message> + <message> + <source>Screensaver source</source> +@@ -4965,10 +4910,8 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <translation type="vanished">བརྗེ་རེས་བྱེད་པའི་དུས་ཚོད།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="168"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>1min</source> +- <translation>1སྐར་མ་</translation> ++ <translation type="vanished">1སྐར་མ་</translation> + </message> + <message> + <source>Ordinal</source> +@@ -5010,120 +4953,88 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <context> + <name>ScreensaverUi</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="41"/> + <source>Screensaver</source> +- <translation>བརྙན་ཡོལ་སྲུང་སྐྱོབ་</translation> +- <extra-contents_path>/Screensaver/Screensaver</extra-contents_path> ++ <translation type="vanished">བརྙན་ཡོལ་སྲུང་སྐྱོབ་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="54"/> + <source>Idle time</source> +- <translation>སྒྱིད་ལུག་གི་དུས་ཚོད།</translation> +- <extra-contents_path>/Screensaver/Idle time</extra-contents_path> ++ <translation type="vanished">སྒྱིད་ལུག་གི་དུས་ཚོད།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="56"/> + <source>Screensaver program</source> +- <translation>བརྙན་ཤེལ་གྱི་འཆར་གཞི།</translation> +- <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> ++ <translation type="vanished">བརྙན་ཤེལ་གྱི་འཆར་གཞི།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="88"/> + <source>Screensaver source</source> +- <translation>བརྙན་ཤེལ་གྱི་འབྱུང་ཁུངས།</translation> +- <extra-contents_path>/Screensaver/Screensaver source</extra-contents_path> ++ <translation type="vanished">བརྙན་ཤེལ་གྱི་འབྱུང་ཁུངས།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="93"/> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="456"/> + <source>Select</source> +- <translation>བདམས་ཐོན་བྱུང་བ།</translation> ++ <translation type="vanished">བདམས་ཐོན་བྱུང་བ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="114"/> + <source>Ordinal</source> +- <translation>སྲོལ་ཡིག</translation> ++ <translation type="vanished">སྲོལ་ཡིག</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="115"/> + <source>Random</source> +- <translation>སྐབས་བསྟུན་རང་བཞིན།</translation> ++ <translation type="vanished">སྐབས་བསྟུན་རང་བཞིན།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="122"/> + <source>Random switching</source> +- <translation>སྐབས་བསྟུན་གྱིས་བརྗེ་རེས་བྱེད་པ</translation> +- <extra-contents_path>/Screensaver/Random switching</extra-contents_path> ++ <translation type="vanished">སྐབས་བསྟུན་གྱིས་བརྗེ་རེས་བྱེད་པ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="142"/> + <source>Switching time</source> +- <translation>བརྗེ་རེས་བྱེད་པའི་དུས་ཚོད།</translation> +- <extra-contents_path>/Screensaver/Switching time</extra-contents_path> ++ <translation type="vanished">བརྗེ་རེས་བྱེད་པའི་དུས་ཚོད།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="161"/> + <source>Text(up to 30 characters):</source> +- <translation>ཡི་གེ(ཆེས་མང་ན་ཡི་གེ་30ཡོད་པ་གཤམ་གསལ། )</translation> +- <extra-contents_path>/Screensaver/Text(up to 30 characters):</extra-contents_path> ++ <translation type="vanished">ཡི་གེ(ཆེས་མང་ན་ཡི་གེ་30ཡོད་པ་གཤམ་གསལ། )</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="184"/> + <source>Text position</source> +- <translation>ཡི་གེའི་གོ་གནས།</translation> +- <extra-contents_path>/Screensaver/Text position</extra-contents_path> ++ <translation type="vanished">ཡི་གེའི་གོ་གནས།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="192"/> + <source>Centered</source> +- <translation>ལྟེ་བར་འཛིན་པ།</translation> ++ <translation type="vanished">ལྟེ་བར་འཛིན་པ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="193"/> + <source>Randow(Bubble text)</source> +- <translation>ལན་ཏུའོ་(ལྦུ་བ་ཅན་གྱི་ཡི་གེ)</translation> ++ <translation type="vanished">ལན་ཏུའོ་(ལྦུ་བ་ཅན་གྱི་ཡི་གེ)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="215"/> + <source>Show rest time</source> +- <translation>ངལ་གསོའི་དུས་ཚོད་མངོན་པ།</translation> +- <extra-contents_path>/Screensaver/Show rest time</extra-contents_path> ++ <translation type="vanished">ངལ་གསོའི་དུས་ཚོད་མངོན་པ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="225"/> + <source>Lock screen when screensaver boot</source> +- <translation>བརྙན་ཤེལ་གྱི་ལྷམ་ཡུ་རིང་གི་དུས་སུ་བརྙན་ཤེལ་ལ་ཟྭ་རྒྱག</translation> +- <extra-contents_path>/Screensaver/Lock screen when screensaver boot</extra-contents_path> ++ <translation type="vanished">བརྙན་ཤེལ་གྱི་ལྷམ་ཡུ་རིང་གི་དུས་སུ་བརྙན་ཤེལ་ལ་ཟྭ་རྒྱག</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="414"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</source> +- <translation>Wallpaper files (*.jpg *.jpeg *.bmp *.dib *.png *.jfif *jpe *.gif *.tif *.tiff *.svg)</translation> ++ <translation type="vanished">Wallpaper files (*.jpg *.jpeg *.bmp *.dib *.png *.jfif *jpe *.gif *.tif *.tiff *.svg)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="455"/> + <source>select custom screensaver dir</source> +- <translation>ཡུལ་སྲོལ་གོམས་གཤིས་ཀྱི་བརྙན་ཤེལ་གྲོན་ཆུང་བྱེད་མཁན་བདམས་པ་</translation> ++ <translation type="vanished">ཡུལ་སྲོལ་གོམས་གཤིས་ཀྱི་བརྙན་ཤེལ་གྲོན་ཆུང་བྱེད་མཁན་བདམས་པ་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="457"/> + <source>Position: </source> +- <translation>གོ་གནས་ནི། </translation> ++ <translation type="vanished">གོ་གནས་ནི། </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="458"/> + <source>FileName: </source> +- <translation>ཡིག་ཆའི་མིང་ནི། </translation> ++ <translation type="vanished">ཡིག་ཆའི་མིང་ནི། </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="459"/> + <source>FileType: </source> +- <translation>ཡིག་ཆའི་རིགས་དབྱིབས་ནི། </translation> ++ <translation type="vanished">ཡིག་ཆའི་རིགས་དབྱིབས་ནི། </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="460"/> + <source>Cancel</source> +- <translation>ཕྱིར་འཐེན།</translation> ++ <translation type="vanished">ཕྱིར་འཐེན།</translation> + </message> + </context> + <context> +@@ -6147,7 +6058,7 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <translation type="vanished">དཔེ་དབྱིབས་</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="322"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="336"/> + <source>Cancel</source> + <translation>ཕྱིར་འཐེན།</translation> + </message> +@@ -6157,80 +6068,80 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <translation>རྒྱབ་ལྗོངས།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="195"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="205"/> + <source>picture</source> + <translation>པར་རིས།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="195"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="211"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> + <source>color</source> + <translation>ཁ་དོག</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="225"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="216"/> + <source>wallpaper</source> + <translation>གྱང་ཤོག</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="227"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="218"/> + <source>centered</source> + <translation>ལྟེ་བར་བཟུང་བ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="223"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> + <source>scaled</source> + <translation>གཞི་ཁྱོན་ལྡན་པ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="229"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="220"/> + <source>stretched</source> + <translation>བརྐྱངས་པ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="231"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="222"/> + <source>zoom</source> + <translation>ཆེ་རུ་གཏོང་བ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="233"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="224"/> + <source>spanned</source> + <translation>ཁྱབ་ཁོངས་ལས་བརྒལ་བ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="277"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="291"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> + <translation>Wallpaper files (*.jpg *.jpeg *.bmp *.dib *.png *.jfif *jpe *.gif *.tif *.tiff *wdp)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="317"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="331"/> + <source>select custom wallpaper file</source> + <translation>ཡུལ་སྲོལ་གོམས་གཤིས་ཀྱི་གྱང་ཤོག་ཡིག་ཆ་བདམས་པ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="318"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="332"/> + <source>Select</source> + <translation>བདམས་ཐོན་བྱུང་བ།</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="319"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="333"/> + <source>Position: </source> + <translation>གོ་གནས་ནི། </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="320"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="334"/> + <source>FileName: </source> + <translation>ཡིག་ཆའི་མིང་ནི། </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="321"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="335"/> + <source>FileType: </source> + <translation>ཡིག་ཆའི་རིགས་དབྱིབས་ནི། </translation> + </message> +@@ -6282,12 +6193,12 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <extra-contents_path>/display/night mode</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2875"/> + <source>as main</source> + <translation>གཙོ་བོར་འཛིན་དགོས།</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2882"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2883"/> + <source>screen zoom</source> + <translation>བརྙན་ཤེལ་ཆེ་རུ་གཏོང་བ།</translation> + </message> +@@ -6320,8 +6231,8 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="299"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> + <source>Open</source> + <translation>སྒོ་ཕྱེ་བ།</translation> + </message> +@@ -6343,7 +6254,7 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="322"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2132"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>Custom Time</source> + <translation>གོམས་སྲོལ་གྱི་དུས་ཚོད།</translation> + </message> +@@ -6407,7 +6318,7 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="643"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2739"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2740"/> + <source>Splice Screen</source> + <translation>སྦྲེལ་མཐུད་བཅས་བྱ་དགོས།</translation> + </message> +@@ -6417,28 +6328,28 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <translation>འཆར་ངོས་ཇེ་ཆུང་དུ་བཏང་སྟེ་བཟོ་བཅོས་བྱས།ཐོ་ཁོངས་ནས་སུབ་རྗེས་ནུས་པ་ཐོན།</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2045"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> + <source>Turning on 'Eye Protection Mode' will turn off 'Color Temperature'. Continue turning it on?</source> + <translation>“མིག་སྲུང་རྣམ་པའི”སྒོ་མོ་ཕྱེ་ཚེ“ཚོས་གཞི་དྲོད་ཚད”ཀྱི་སྒོ་རྒྱག་རྒྱ་དང་མུ་མཐུད་སྒོ་མོ་འབྱེད་རྒྱ་ཡིན་ནམ།?</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2048"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2074"/> + <source>Cancel</source> + <translation>ཕྱིར་འཐེན།</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2071"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> + <source>Turning on 'Color Temperature' will turn off 'Eye Protection Mode'. Continue turning it on?</source> + <translation>“ཁ་དོག་དྲོད་ཚད”ཀྱི་སྒོ་མོ་ཕྱེ་ཚེ“མིག་སྲུང་རྣམ་པ”མུ་མཐུད་འབྱེད་སྲིད་དམ།?</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2873"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> + <source>monitor</source> + <translation>ལྟ་ཞིབ་ཡོ་བྱད།</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2895"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2896"/> + <source>open monitor</source> + <translation>སྒོ་འབྱེད་ལྟ་ཞིབ་ཡོ་བྱད</translation> + </message> +@@ -6447,7 +6358,7 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <translation type="vanished">བརྗོད་བྱ་གཙོ་བོ་ནི་མཚན་མོའི་རྣམ་</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2845"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2846"/> + <source>Auto Brightness</source> + <translation>རང་འགུལ་གྱི་འོད་ཟེར་</translation> + <extra-contents_path>/Display/Auto Brightness</extra-contents_path> +@@ -6481,12 +6392,12 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <translation type="vanished">གསལ་འདེབས་བྱེད་པ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2802"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2803"/> + <source>Splicing Method</source> + <translation>མཐུད་སྦྱོར་བྱེད་སྟངས།</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2805"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2806"/> + <source>Change</source> + <translation>བསྒྱུར་བཅོས་བྱ་དགོས།</translation> + </message> +@@ -6533,26 +6444,26 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <translation type="vanished">སྒོ་འབྱེད་པའི་དུས་ཚོད་ནི་ཉེ་བའི་དུས་ཚོད་ལས་སྔ་བ་རེད།</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2132"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>All Day</source> + <translation>ཉིན་གང་བོར།</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2316"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2322"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2317"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2323"/> + <source>Follow the sunrise and sunset</source> + <translation>ཉི་མ་ཤར་བ་དང་ཉི་མ་ནུབ་པའི་རྗེས་སུ་</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2347"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2353"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2348"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2354"/> + <source>Brightness</source> + <translation>འོད་ཆེམ་ཆེམ་དུ་འཕྲོ</translation> + <extra-contents_path>/Display/Brightness</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1546"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1846"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>please insure at least one output!</source> + <translation>མ་མཐར་ཡང་ཐོན་ཚད་གཅིག་ལ་ཉེན་ཁ་བཟོ་རོགས།</translation> + </message> +@@ -6567,14 +6478,14 @@ II.Javaལག་རྩལ་གྱི་ཚད་བཀག + <translation>བརྙན་ཤེལ་གྱི་%1ལ་བཟོ་བཅོས་བརྒྱབ་ཟིན་པས་ཉར་ཚགས་བྱེད་དགོས་སམ། <br/> <font style= 'color:#626c6e'>སྒྲིག་བཀོད་དེ་%2秒</font>ཡི་རྗེས་སུ་ཉར་ཚགས་བྱེད་རྒྱུ་རེད།</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1546"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1553"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1846"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>Warning</source> + <translation>ཐ་ཚིག་སྒྲོག་པ།</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1555"/> + <source>Sorry, your configuration could not be applied. + Common reasons are that the overall screen size is too big, or you enabled more displays than supported by your GPU.</source> + <translation>དགོངས་པ་མ་ཚོམ། ཁྱེད་ཚོའི་བཀོད་སྒྲིག་བཀོལ་སྤྱོད་བྱེད་ཐབས་མེད། +diff --git a/shell/res/i18n/en_US.ts b/shell/res/i18n/en_US.ts +index 2ebee38..5790376 100644 +--- a/shell/res/i18n/en_US.ts ++++ b/shell/res/i18n/en_US.ts +@@ -167,6 +167,7 @@ + <location filename="../../../plugins/system/about/aboutui.cpp" line="87"/> + <source>HostName</source> + <translation type="unfinished"></translation> ++ <extra-contents_path>/About/HostName</extra-contents_path> + </message> + <message> + <location filename="../../../plugins/system/about/aboutui.cpp" line="100"/> +@@ -897,7 +898,7 @@ you can restore them to ensure the integrity of your system.</source> + <context> + <name>BrightnessFrame</name> + <message> +- <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="66"/> ++ <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="64"/> + <source>Failed to get the brightness information of this monitor</source> + <translation type="unfinished"></translation> + </message> +@@ -2003,67 +2004,67 @@ you can restore them to ensure the integrity of your system.</source> + <context> + <name>MainWindow</name> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> ++ <location filename="../../mainwindow.cpp" line="156"/> + <source>Warnning</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> +- <location filename="../../mainwindow.cpp" line="1107"/> ++ <location filename="../../mainwindow.cpp" line="156"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>This function has been controlled</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="170"/> ++ <location filename="../../mainwindow.cpp" line="174"/> + <source>Restore</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="173"/> +- <location filename="../../mainwindow.cpp" line="510"/> ++ <location filename="../../mainwindow.cpp" line="177"/> ++ <location filename="../../mainwindow.cpp" line="515"/> + <source>Maximize</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="470"/> +- <location filename="../../mainwindow.cpp" line="488"/> +- <location filename="../../mainwindow.cpp" line="620"/> +- <location filename="../../mainwindow.cpp" line="974"/> ++ <location filename="../../mainwindow.cpp" line="475"/> ++ <location filename="../../mainwindow.cpp" line="493"/> ++ <location filename="../../mainwindow.cpp" line="625"/> ++ <location filename="../../mainwindow.cpp" line="979"/> + <source>Settings</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="482"/> ++ <location filename="../../mainwindow.cpp" line="487"/> + <source>Back home</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="508"/> ++ <location filename="../../mainwindow.cpp" line="513"/> + <source>Option</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="509"/> ++ <location filename="../../mainwindow.cpp" line="514"/> + <source>Minimize</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="511"/> ++ <location filename="../../mainwindow.cpp" line="516"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="621"/> ++ <location filename="../../mainwindow.cpp" line="626"/> + <source>Version: </source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="756"/> ++ <location filename="../../mainwindow.cpp" line="761"/> + <source>Specified</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="1107"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> +@@ -2401,329 +2402,21 @@ you can restore them to ensure the integrity of your system.</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../main.cpp" line="89"/> ++ <location filename="../../main.cpp" line="93"/> + <source>ukui-control-center is already running!</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../main.cpp" line="100"/> ++ <location filename="../../main.cpp" line="104"/> + <source>ukui-control-center is disabled!</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../main.cpp" line="128"/> ++ <location filename="../../main.cpp" line="132"/> + <source>ukui-control-center</source> + <translation type="unfinished"></translation> + </message> + </context> +-<context> +- <name>Screenlock</name> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="32"/> +- <source>Screenlock</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="172"/> +- <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="213"/> +- <source>select custom wallpaper file</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="214"/> +- <source>Select</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="215"/> +- <source>Position: </source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="216"/> +- <source>FileName: </source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="217"/> +- <source>FileType: </source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="218"/> +- <source>Cancel</source> +- <translation type="unfinished"></translation> +- </message> +-</context> +-<context> +- <name>ScreenlockUi</name> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="42"/> +- <source>Show picture of screenlock on screenlogin</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="45"/> +- <source>Leave lock (System will be locked when the paired phone gone)</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screenlock/Leave lock (System will be locked when the paired phone gone)</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="46"/> +- <source>Specified device</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="47"/> +- <source>No paired phone. Please turn to 'Bluetooth' to pair.</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="67"/> +- <source>Screenlock</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screenlock/Screenlock</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="97"/> +- <source>Local Pictures</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screenlock/Local Pictures</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="99"/> +- <source>Online Pictures</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screenlock/Online Pictures</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="101"/> +- <source>Reset To Default</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screenlock/Reset To Default</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="113"/> +- <source>Bluetooth</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="118"/> +- <source>No bluetooth adapter detected, can not use Leave Lock.</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="138"/> +- <source>Monitor Off</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screenlock/Monitor Off</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="140"/> +- <source>Screensaver</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screenlock/Screensaver</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="143"/> +- <source>Related Settings</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screenlock/Related Settings</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="149"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="150"/> +- <source>Set</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="165"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="532"/> +- <source>Please select device</source> +- <translation type="unfinished"></translation> +- </message> +-</context> +-<context> +- <name>Screensaver</name> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="37"/> +- <source>Screensaver</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> +- <source>UKUI</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> +- <source>Customize</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> +- <source>5min</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> +- <source>10min</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <source>15min</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> +- <source>30min</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <source>1hour</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <source>Never</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="168"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> +- <source>1min</source> +- <translation type="unfinished"></translation> +- </message> +-</context> +-<context> +- <name>ScreensaverUi</name> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="41"/> +- <source>Screensaver</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screensaver/Screensaver</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="54"/> +- <source>Idle time</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screensaver/Idle time</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="56"/> +- <source>Screensaver program</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="88"/> +- <source>Screensaver source</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screensaver/Screensaver source</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="93"/> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="456"/> +- <source>Select</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="114"/> +- <source>Ordinal</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="115"/> +- <source>Random</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="122"/> +- <source>Random switching</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screensaver/Random switching</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="142"/> +- <source>Switching time</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screensaver/Switching time</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="161"/> +- <source>Text(up to 30 characters):</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screensaver/Text(up to 30 characters):</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="184"/> +- <source>Text position</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screensaver/Text position</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="192"/> +- <source>Centered</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="193"/> +- <source>Randow(Bubble text)</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="215"/> +- <source>Show rest time</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screensaver/Show rest time</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="225"/> +- <source>Lock screen when screensaver boot</source> +- <translation type="unfinished"></translation> +- <extra-contents_path>/Screensaver/Lock screen when screensaver boot</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="414"/> +- <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="455"/> +- <source>select custom screensaver dir</source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="457"/> +- <source>Position: </source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="458"/> +- <source>FileName: </source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="459"/> +- <source>FileType: </source> +- <translation type="unfinished"></translation> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="460"/> +- <source>Cancel</source> +- <translation type="unfinished"></translation> +- </message> +-</context> + <context> + <name>SearchWidget</name> + <message> +@@ -3520,85 +3213,85 @@ you can restore them to ensure the integrity of your system.</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="195"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="205"/> + <source>picture</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="195"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="211"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> + <source>color</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="223"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> + <source>scaled</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="225"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="216"/> + <source>wallpaper</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="227"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="218"/> + <source>centered</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="229"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="220"/> + <source>stretched</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="231"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="222"/> + <source>zoom</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="233"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="224"/> + <source>spanned</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="277"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="291"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="317"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="331"/> + <source>select custom wallpaper file</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="318"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="332"/> + <source>Select</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="319"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="333"/> + <source>Position: </source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="320"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="334"/> + <source>FileName: </source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="321"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="335"/> + <source>FileType: </source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="322"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="336"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> +@@ -3646,8 +3339,8 @@ you can restore them to ensure the integrity of your system.</source> + <name>Widget</name> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="299"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> + <source>Open</source> + <translation type="unfinished"></translation> + </message> +@@ -3663,7 +3356,7 @@ you can restore them to ensure the integrity of your system.</source> + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="322"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2132"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>Custom Time</source> + <translation type="unfinished"></translation> + </message> +@@ -3722,12 +3415,12 @@ you can restore them to ensure the integrity of your system.</source> + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="643"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2739"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2740"/> + <source>Splice Screen</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2845"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2846"/> + <source>Auto Brightness</source> + <translation type="unfinished"></translation> + <extra-contents_path>/Display/Auto Brightness</extra-contents_path> +@@ -3811,85 +3504,85 @@ you can restore them to ensure the integrity of your system.</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1546"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1553"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1846"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1546"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1846"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>please insure at least one output!</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1555"/> + <source>Sorry, your configuration could not be applied. + Common reasons are that the overall screen size is too big, or you enabled more displays than supported by your GPU.</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2045"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> + <source>Turning on 'Eye Protection Mode' will turn off 'Color Temperature'. Continue turning it on?</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2048"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2074"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2071"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> + <source>Turning on 'Color Temperature' will turn off 'Eye Protection Mode'. Continue turning it on?</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2132"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>All Day</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2316"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2322"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2317"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2323"/> + <source>Follow the sunrise and sunset</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2347"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2353"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2348"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2354"/> + <source>Brightness</source> + <translation type="unfinished"></translation> + <extra-contents_path>/Display/Brightness</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2802"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2803"/> + <source>Splicing Method</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2805"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2806"/> + <source>Change</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2873"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> + <source>monitor</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2875"/> + <source>as main</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2882"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2883"/> + <source>screen zoom</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2895"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2896"/> + <source>open monitor</source> + <translation type="unfinished"></translation> + </message> +diff --git a/shell/res/i18n/kk.ts b/shell/res/i18n/kk.ts +index 0b2a1bc..b597acb 100644 +--- a/shell/res/i18n/kk.ts ++++ b/shell/res/i18n/kk.ts +@@ -16,12 +16,12 @@ + <translation type="vanished">Нұсқа нөмірі</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="547"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="548"/> + <source>Status</source> + <translation>بەينە</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="224"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="225"/> + <source>DateRes</source> + <translation>قىزىمەت مەزگىلى تولۋ ۋاقىتى</translation> + </message> +@@ -42,7 +42,7 @@ + <translation type="vanished"><<Protocol>></translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="56"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="57"/> + <source>About and Support</source> + <translation>جايىندا ۋا قولداۋ</translation> + </message> +@@ -87,29 +87,29 @@ + <translation type="vanished">未激活(试用期)</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="229"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="230"/> + <source>Trial expiration time</source> + <translation>سىناپ ٸستەتۋ مەزگىلى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="279"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="280"/> + <source>Kylin Linux Desktop (Touch Screen) V10 (SP1)</source> + <translation>V10 (SP1)( سابان جولى ۇستەل بەتى جوبالاۋ سەستيماسى (ۇلكەن ەكٸران نۇسقاسى Kylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="281"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="282"/> + <source>Kylin Linux Desktop (Tablet) V10 (SP1)</source> + <translation>V10 (SP1)( سابان جولى ۇستەل بەتى جوبالاۋ سەستيماسى (تاقتا كومپيۋتەر نۇسقاسى Kylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="457"/> +- <location filename="../../../plugins/system/about/about.cpp" line="553"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="458"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="554"/> + <source>expired</source> + <translation>ۋاقىتى وتٸپ كەتكەن</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="244"/> +- <location filename="../../../plugins/system/about/about.cpp" line="458"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="245"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="459"/> + <source>Extend</source> + <translation>ۇزارتۋ</translation> + </message> +@@ -118,17 +118,17 @@ + <translation type="obsolete">版权所有 © 2009-2021 麒麟软件 保留所有权利。 {2020 ?}</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="518"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="519"/> + <source>The system needs to be restarted to set the HostName, whether to reboot</source> + <translation>كومپيۋتەر مى وزگەرتٸلدٸ، سەستامانى قاتە قوزعالتقاننان كەيىن سونان نورمال ٸستەتكەلٸ بولادٸ. سەستامانى دەرەۋ قاتە قوزعالتۋدى ۇسٸنٸس بەرۋ ورىندايمىز!</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="519"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="520"/> + <source>Reboot Now</source> + <translation>قازىر قاتە قوزعالت</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="520"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="521"/> + <source>Reboot Later</source> + <translation>كەيىن قاتە قوزعالت</translation> + </message> +@@ -141,8 +141,8 @@ + <translation type="vanished">延长服务</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="401"/> +- <location filename="../../../plugins/system/about/about.cpp" line="410"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="402"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="411"/> + <source>avaliable</source> + <translation>كۇشكە يە ەمەس</translation> + </message> +@@ -159,12 +159,12 @@ + <translation type="vanished">版权所有2009-2021@kylinos保留所有权利</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="545"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="546"/> + <source>Version</source> + <translation>باسىلىمى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="287"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="288"/> + <source>Kylin Linux Desktop V10 (SP1)</source> + <translation>V10 (SP1) ساما جولى ۇستەل بەتى جوبالاۋ سەستيماسى Kylin</translation> + </message> +@@ -192,7 +192,7 @@ + <extra-contents_path>/About/Memory</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="408"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="409"/> + <source>Disk</source> + <translation>دىسكاز</translation> + </message> +@@ -215,7 +215,7 @@ + <translation type="vanished">有效期</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="549"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="550"/> + <source>Serial</source> + <translation>قاتار</translation> + </message> +@@ -228,8 +228,8 @@ + <translation type="vanished">序列号</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="231"/> +- <location filename="../../../plugins/system/about/about.cpp" line="235"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="232"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="236"/> + <source>Active</source> + <translation>اكتيۆ</translation> + </message> +@@ -246,7 +246,7 @@ + <translation type="vanished">关于</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="58"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="59"/> + <source>About</source> + <translation>جايىندا</translation> + </message> +@@ -263,13 +263,13 @@ + <translation type="vanished">可用</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="227"/> +- <location filename="../../../plugins/system/about/about.cpp" line="233"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="228"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="234"/> + <source>Inactivated</source> + <translation>قىزىمەت وتەۋدە</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="243"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="244"/> + <source>Activated</source> + <translation>قوزعالدى</translation> + </message> +@@ -313,7 +313,7 @@ + <context> + <name>AboutInterface</name> + <message> +- <location filename="../../../registeredSession/plugins/about/aboutinterface.cpp" line="226"/> ++ <location filename="../../../registeredSession/plugins/about/aboutinterface.cpp" line="238"/> + <source>avaliable</source> + <translation>كۇشكە يە ەمەس</translation> + </message> +@@ -321,174 +321,174 @@ + <context> + <name>AboutUi</name> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="32"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="33"/> + <source>System Summary</source> + <translation>سەستيما قورتىندى</translation> + <extra-contents_path>/About/System Summary</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="35"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="37"/> + <source>Privacy and agreement</source> + <translation>قۇپيالىق ۋا كەلىسىم</translation> + <extra-contents_path>/About/Privacy and agreement</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="37"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="40"/> + <source>Support</source> + <translation>قولداۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="51"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="381"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="55"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="399"/> + <source>Version</source> + <translation>باسىلىمى</translation> + <extra-contents_path>/About/version</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="56"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="61"/> + <source>Version Number</source> + <translation>باسىلىم نومەرى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="61"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="67"/> + <source>Patch Version</source> + <translation>سەستيما يامىقىنىڭ باسىلىم نومەرى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="66"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="73"/> + <source>Installed Date</source> + <translation>قاشالانعان ۋاقىتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="71"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="79"/> + <source>Upgrade Date</source> + <translation>جاڭالاۋ ۋاقىتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="78"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="87"/> + <source>HostName</source> + <translation>كومپيۋتەر مى</translation> + <extra-contents_path>/About/HostName</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="90"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="383"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="100"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="401"/> + <source>Kernel</source> + <translation>Kernel</translation> + <extra-contents_path>/About/Kernel</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="95"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="385"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="106"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="403"/> + <source>CPU</source> + <translation>CPU</translation> + <extra-contents_path>/About/CPU</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="100"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="387"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="112"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="405"/> + <source>Memory</source> + <translation>ٸشكٸ ساقتاعىش</translation> + <extra-contents_path>/About/Memory</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="105"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="118"/> + <source>Disk</source> + <translation>دىسكاز</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="110"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="389"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="124"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="407"/> + <source>Desktop</source> + <translation>ئۈستەلئۈستى</translation> + <extra-contents_path>/About/Desktop</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="115"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="391"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="130"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="409"/> + <source>User</source> + <translation>پايدالانۋشٸ</translation> + <extra-contents_path>/About/User</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="123"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="139"/> + <source>Copyright ©%1 %2. All rights reserved.</source> + <translation>باسىلىم ۇقىعى©%1 %2. بارلٸق ۇقىق ماقامى.</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="172"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="188"/> + <source>openKylin</source> + <translation>openKylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="169"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="185"/> + <source>KylinSoft</source> + <translation>KylinSoft</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="235"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="251"/> + <source>Wechat code scanning obtains HP professional technical support</source> + <translation>ئۈندىدار بەلگىنى كەسكىندەۋ HP كاسىپتىك تەحىنيكا جايٸنان قولداۋعا يە بولدٸ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="236"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="252"/> + <source>See more about Kylin Tianqi edu platform</source> + <translation>Kylin Tianqi edu سۇپىسى جايىندا ناقتىلاپ مالىمەت</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="256"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="272"/> + <source>Learn more HP user manual>></source> + <translation>HP پايدالانۋشٸ قولدانباسىن الٸدە كوپ بىلىۋېلىڭ>></translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="261"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="277"/> + <source>See user manual>></source> + <translation>قولدانبا قولداۋىنا قارا>></translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="339"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="356"/> + <source>Send optional diagnostic data</source> + <translation>ەركىن دىياگنوز ساندىق مالىمەتى جولداۋ</translation> +- <extra-contents_path>/About/Send optional diagnostic data</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="340"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="357"/> + <source>By sending us diagnostic data, improve the system experience and solve your problems faster</source> + <translation>دىياگنوز ساندىق مالىمەتتى بٸزگە جولداۋ ارقىلى، سەستيما تاجىريبەسىن جوعارعى كوتەرگىش، ماسەلەلەردى الٸدە تەز شەشىم ەتۋ ەتۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="363"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="380"/> + <source><<Protocol>></source> + <translation>«سىناپ ٸستەتۋدە جاۋاپكەرلكتەن كەشىرەم ەتۋ كەلىسىمى»</translation> + <extra-contents_path>/About/<<Protocol>></extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="364"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="382"/> + <source>and</source> + <translation>ۋا</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="366"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="384"/> + <source><<Privacy>></source> + <translation>«ابونتتار قۇپيالىق كەلىسىمى»</translation> + <extra-contents_path>/About/<<Privacy>></extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="393"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="411"/> + <source>Status</source> + <translation>بەينە</translation> + <extra-contents_path>/About/Status</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="395"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="413"/> + <source>Active</source> + <translation>اكتيۆ</translation> + <extra-contents_path>/About/Active</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="396"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="415"/> + <source>Serial</source> + <translation>قاتار</translation> ++ <extra-contents_path>/About/Serial</extra-contents_path> + </message> + </context> + <context> +@@ -704,7 +704,7 @@ + </message> + <message> + <location filename="../../../plugins/devices/shortcut/addshortcutdialog.ui" line="348"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="266"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="265"/> + <source>Cancel</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> +@@ -714,65 +714,65 @@ + <translation>ساقتاۋ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="73"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="72"/> + <source>Add Shortcut</source> + <translation>قىسقارتۋ قوسۋ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="86"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="85"/> + <source>Please enter a shortcut</source> + <translation>بٸر قىسقا جولىن كىرگىزىڭىز</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="224"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="223"/> + <source>Desktop files(*.desktop)</source> + <translation>Жұмыс үстелі файлдары(*.desktop)</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="265"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="264"/> + <source>select desktop</source> + <translation>ئۈستەلئۈستى تالداۋ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="302"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="323"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="334"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="301"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="322"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="333"/> + <source>Invalid application</source> + <translation>كۇشكە يە ەمەس جابلماس</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="304"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="319"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="330"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="303"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="318"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="329"/> + <source>Shortcut conflict</source> + <translation>قىسقا جول سوقتٸعٸۋٸ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="306"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="321"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="332"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="305"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="320"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="331"/> + <source>Invalid shortcut</source> + <translation>كۇشكە يە ەمەس قىسقا جول</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="309"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="316"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="337"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="308"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="315"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="336"/> + <source>Name repetition</source> + <translation>ات قاتە قايتالاۋ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="343"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="342"/> + <source>Unknown error</source> + <translation>كۋالىك قاتەلىك</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="522"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="521"/> + <source>Shortcut cannot be empty</source> + <translation>قىسقا جولىن بوس قويۋعا بولمايدى</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="526"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="525"/> + <source>Name cannot be empty</source> + <translation>ەسىمىن بوس قويۋعا بولمايدى</translation> + </message> +@@ -1060,7 +1060,7 @@ + <extra-contents_path>/Area/system language</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="639"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="642"/> + <source>Simplified Chinese</source> + <translation>ٸقشامدالعان حانزۋ جازۋى</translation> + </message> +@@ -1121,18 +1121,28 @@ + <translation>فىرانسۇز ٴتٸلٸ (FR)</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="215"/> +- <location filename="../../../plugins/time-language/area/area.cpp" line="302"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="209"/> ++ <source>Arab (AE)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="210"/> ++ <source>Vietnam (VN)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="217"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="304"/> + <source>Solar calendar</source> + <translation>كۇن كالەندىرىنە</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="221"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="223"/> + <source>Monday</source> + <translation>دۇيسەنبى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="222"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="224"/> + <source>Sunday</source> + <translation>جەكسەنبى</translation> + </message> +@@ -1142,104 +1152,114 @@ + <extra-contents_path>/Area/First Day Of Week</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="216"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="218"/> + <source>Lunar</source> + <translation>اي</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="233"/> +- <location filename="../../../plugins/time-language/area/area.cpp" line="384"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="235"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="386"/> + <source>12 Hours</source> + <translation>12 ساعات</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="234"/> +- <location filename="../../../plugins/time-language/area/area.cpp" line="385"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="236"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="387"/> + <source>24 Hours</source> + <translation>24 ساعات</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="366"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="368"/> + <source>MMMM dd, yyyy</source> + <translation>yyyy جىل MM اي dd كۇن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="369"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="371"/> + <source>MMMM d, yy</source> + <translation>yy جىل M اي d كۇن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="643"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="646"/> + <source>Tibetan</source> + <translation>تيبەت ٴتٸلٸ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="645"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="648"/> + <source>Kazaqa</source> + <translation>قازاق ٴتٸلٸ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="647"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="650"/> + <source>Uygur</source> + <translation>ۇيعٸرشا</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="649"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="652"/> + <source>Kirghiz</source> + <translation>قىرعىزشا</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="651"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="654"/> + <source>Traditional Chinese</source> + <translation>كۇردەلى حانزۋشا</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="653"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="656"/> + <source>Mongolian</source> + <translation>مۇڭعۇل ٴتٸلٸ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="655"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="658"/> + <source>German</source> + <translation>نەمىس ٴتٸلٸ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="657"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="660"/> + <source>Spanish</source> + <translation>يٸسپان ٴتٸلٸ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="659"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="662"/> + <source>French</source> + <translation>فىرانسۇز ٴتٸلٸ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="672"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="664"/> ++ <source>Arab</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="666"/> ++ <source>Vietnam</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="679"/> + <source>Modify the current region need to logout to take effect, whether to logout?</source> + <translation>قازىرعى رايونداردى وزگەرتۋگە دۇرٸس كەلسە، ونٸمٸن كورسەتۋ كەرەكپە- جوق؟</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="673"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="680"/> + <source>Logout later</source> + <translation>كەيىن شەگىنۋ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="674"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="681"/> + <source>Logout now</source> + <translation>قازىر شەگىنۋ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="676"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="683"/> + <source>Modify the first language need to reboot to take effect, whether to reboot?</source> + <translation>1. تىلىن وزگەرتۋ ارقىلى قايتادان قوزعالتۋعا دۇرٸس كەلەدى، قايتادان قوزعالۋ كەرەكپە-جوق؟</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="677"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="684"/> + <source>Reboot later</source> + <translation>كەيىن قاتە قوزعالت</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="678"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="685"/> + <source>Reboot now</source> + <translation>قازىر قاتە قوزعالت</translation> + </message> +@@ -1304,7 +1324,7 @@ + <translation type="vanished">区域格式数据</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="641"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="644"/> + <source>English</source> + <translation>ەنگٸلٸس ٴتٸلٸ</translation> + </message> +@@ -1343,31 +1363,31 @@ + <context> + <name>AreaUi</name> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="38"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="39"/> + <source>Regional Format</source> + <translation>رايون پىشىنى</translation> + <extra-contents_path>/Area/Regional Format</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="40"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="41"/> + <source>Calendar</source> + <translation>كالەندٸر</translation> + <extra-contents_path>/Area/Calendar</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="42"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="43"/> + <source>First Day Of Week</source> + <translation>اپتانىڭ بٸرٸنشٸ كۇنى</translation> + <extra-contents_path>/Area/First Day Of Week</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="45"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="46"/> + <source>Short Foramt Date</source> + <translation>قىسقا Foramt ۋاقىتى</translation> + <extra-contents_path>/Area/Short Foramt Date</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="47"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="48"/> + <source>Long Format Date</source> + <translation>ۇزىن ٴپىشىم ۋاقىتى</translation> + <extra-contents_path>/Area/Long Format Date</extra-contents_path> +@@ -1377,25 +1397,24 @@ + <translation type="vanished">چيسىلا</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="50"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="51"/> + <source>Time</source> + <translation>ۋاقىتىندا</translation> + <extra-contents_path>/Area/Time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="63"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="64"/> + <source>Language Format</source> + <translation>ٴتٸل پىشىنى</translation> + <extra-contents_path>/Area/Language Format</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="74"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="76"/> + <source>Language Format Example</source> + <translation type="unfinished"></translation> +- <extra-contents_path>/Area/Language Format Example</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="103"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="106"/> + <source>System Language</source> + <translation>سەستيما ٴتٸلٸ</translation> + <extra-contents_path>/Area/System Language</extra-contents_path> +@@ -1411,17 +1430,17 @@ + <context> + <name>AutoBoot</name> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="96"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="95"/> + <source>Auto Start</source> + <translation>اۆتوماتتى قوزعالۋ</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="293"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="292"/> + <source>Desktop files(*.desktop)</source> + <translation>Жұмыс үстелі файлдары(*.desktop)</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="301"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="300"/> + <source>select autoboot desktop</source> + <translation>اۆتوماتتى قوزعالتاتىن ۇستەل بەتىن تالداۋ</translation> + </message> +@@ -1430,12 +1449,12 @@ + <translation type="obsolete">жұмыс үстелін автоматты түрде жүктеу пәрменін таңдаңыз</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="302"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="301"/> + <source>Select</source> + <translation>تالداۋ</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="303"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="302"/> + <source>Cancel</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> +@@ -1474,7 +1493,7 @@ + <translation type="vanished">当前状态</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="231"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="230"/> + <source>Delete</source> + <translation>حابار</translation> + </message> +@@ -1487,13 +1506,13 @@ + <extra-contents_path>/Autoboot/Autoboot Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="17"/> ++ <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="18"/> + <source>Autostart Settings</source> + <translation>اۆتوماتتى قوزعالتۋ تەڭشەۋلەرى</translation> + <extra-contents_path>/Autostart/Autostart Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="27"/> ++ <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="28"/> + <source>Add</source> + <translation>قوس</translation> + <extra-contents_path>/Autostart/Add</extra-contents_path> +@@ -2048,7 +2067,7 @@ Please authenticate yourself to continue</source> + <context> + <name>BrightnessFrame</name> + <message> +- <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="36"/> ++ <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="64"/> + <source>Failed to get the brightness information of this monitor</source> + <translation>نۇ كۇزەتكىشتڭ جارىقتىق حابارعا قول جەتكٸزبەدٸ</translation> + </message> +@@ -2664,47 +2683,47 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="158"/> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="307"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="309"/> + <source>Cancel</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="161"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="162"/> + <source>Confirm</source> + <translation>تۇراقتاندىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="302"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="304"/> + <source>select custom face file</source> + <translation>ەرەكشە جۇز حۇجاتىن تالداۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="303"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="305"/> + <source>Select</source> + <translation>تالداۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="304"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="306"/> + <source>Position: </source> + <translation>ورنى: </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="305"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="307"/> + <source>FileName: </source> + <translation>حۇجات مى: </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="306"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="308"/> + <source>FileType: </source> + <translation>:حۇجات تۇرى </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="322"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="324"/> + <source>Warning</source> + <translation>ديقات</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="323"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="325"/> + <source>The avatar is larger than 1M, please choose again</source> + <translation>باس سۋرەت 1M دان ۇلكەن، قاتە تالدا</translation> + </message> +@@ -2758,17 +2777,17 @@ Please authenticate yourself to continue</source> + <translation>تەخەللۇسلار</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="156"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="158"/> + <source>NickName's length must between 1~%1 characters!</source> + <translation>لاقامنىڭ ۇزٸندٸعٸ ٴسوزسٸز 1 ~ %1 ٴارپىتەر ارالىعىندا بولۋٸ كەرەك!</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="158"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="160"/> + <source>nickName already in use.</source> + <translation>تور مى ٸستەتٸپ بولعان.</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="160"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="162"/> + <source>Can't contains ':'.</source> + <translation>':' نى ٶز ىشىنە الا المايدى.</translation> + </message> +@@ -2794,7 +2813,7 @@ Please authenticate yourself to continue</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="116"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="117"/> + <source>Confirm</source> + <translation>تۇراقتاندىرۋ</translation> + </message> +@@ -2808,7 +2827,7 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="103"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="471"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="473"/> + <source>Current Pwd</source> + <translation>قازىرعى قۇپيا نومەر</translation> + </message> +@@ -2819,15 +2838,15 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="136"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="472"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="480"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="474"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="482"/> + <source>New Pwd</source> + <translation>جاڭا ئىم</translation> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="163"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="473"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="481"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="475"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="483"/> + <source>Sure Pwd</source> + <translation>جاڭا قۇپيا نۇمىردى تۇراقتاندىرۋ</translation> + </message> +@@ -2837,50 +2856,50 @@ Please authenticate yourself to continue</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="220"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="305"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="371"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="221"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="307"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="373"/> + <source>Confirm</source> + <translation>تۇراقتاندىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="281"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="544"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="283"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="546"/> + <source>Inconsistency with pwd</source> + <translation>جاڭا قۇپيا نومەر مەنەن ۇقساس بولمادى</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="301"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="303"/> + <source>Same with old pwd</source> + <translation>كۇنا ئىم مەنەن ۇقساس</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="354"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="356"/> + <source>Pwd Changed Succes</source> + <translation>قۇپيا نۇمىردى وزگەرتۋ مۇۋەپىقيەتلىك قالدى</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="361"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="363"/> + <source>Authentication failed, input authtok again!</source> + <translation>!قۇپيا نومەر كىرگىزۋ قاتە، قاتە كىرگىزىڭىز</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="503"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="505"/> + <source>Contains illegal characters!</source> + <translation>!قاعيداعا قايشى ٴارىپ-بەلگى بار</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="615"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="617"/> + <source>current pwd cannot be empty!</source> + <translation>!قازىرعى قۇپيا نۇمىردى بوس قويۋعا بولمايدى</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="620"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="622"/> + <source>new pwd cannot be empty!</source> + <translation>!جاڭا قۇپيا نۇمىردى بوس قويۋعا بولمايدى</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="625"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="627"/> + <source>sure pwd cannot be empty!</source> + <translation>!جاڭا قۇپيا نۇمىردى جەزملەشتۈرۈشنى بوس قويۋعا بولمايدى</translation> + </message> +@@ -3046,7 +3065,7 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/personalized/wallpaper/colordialog.ui" line="86"/> +- <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="89"/> ++ <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="88"/> + <source>Choose a custom color</source> + <translation>ەرەكشە رەڭ تالداۋ</translation> + </message> +@@ -3071,12 +3090,12 @@ Please authenticate yourself to continue</source> + <translation>ماقۇل</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="94"/> ++ <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="93"/> + <source>Custom color</source> + <translation>ەرەكشە رەڭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="182"/> ++ <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="181"/> + <source>Close</source> + <translation>ياپ</translation> + </message> +@@ -3098,18 +3117,18 @@ Please authenticate yourself to continue</source> + <translation>ات-فاميليا</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="78"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="79"/> + <source>Id</source> + <translation>ازاماتتىق كۋالىك</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="92"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="94"/> + <source>Confirm</source> + <translation>تۇراقتاندىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="202"/> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="216"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="205"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="219"/> + <source>GroupName's length must be between 1 and %1 characters!</source> + <translation>!گرۋپپا اتاعىنىڭ ۇزٸندٸعٸ 1 دان %1 عادەيىن بولعان ٴارىپ-بەلگى ارالٸعٸندا بولۋٸ كەرەك</translation> + </message> +@@ -3130,7 +3149,7 @@ Please authenticate yourself to continue</source> + <translation type="vanished">组成员</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="89"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="90"/> + <source>Cancel</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> +@@ -3139,7 +3158,7 @@ Please authenticate yourself to continue</source> + <translation type="vanished">Белгілі бір</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="50"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="49"/> + <source>Add user group</source> + <translation>ابونتتار گرۋپپاسى قوسۋ</translation> + </message> +@@ -3497,19 +3516,19 @@ change system settings</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="279"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="280"/> + <source>Confirm</source> + <translation>تۇراقتاندىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="355"/> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="581"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="357"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="583"/> + <source>Inconsistency with pwd</source> + <translation>جاڭا قۇپيا نومەر مەنەن ۇقساس بولمادى</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="494"/> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="647"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="496"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="649"/> + <source>NickName's length must between 1~%1 characters!</source> + <translation>لاقامنىڭ ۇزٸندٸعٸ ٴسوزسٸز 1 ~ %1 ٴارپىتەر ارالىعىندا بولۋٸ كەرەك!</translation> + </message> +@@ -3518,7 +3537,7 @@ change system settings</source> + <translation type="vanished">Ник атауы бос бола алмайды</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="496"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="498"/> + <source>nickName already in use.</source> + <translation>تور مى ٸستەتٸپ بولعان.</translation> + </message> +@@ -3527,17 +3546,17 @@ change system settings</source> + <translation type="vanished">лақап атының ұзындығы% 1 әріптен кем болуы керек!</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="642"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="644"/> + <source>Username's length must be between 1 and %1 characters!</source> + <translation>پايدالانۋشٸ اتاعىنىڭ ۇزٸندٸعٸ ٴسوزسٸز %1 مەنەن %1 ٴارىپ ارالٸعٸندا بولۋٸ كەرەك!</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="652"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="654"/> + <source>new pwd cannot be empty!</source> + <translation>!جاڭا قۇپيا نۇمىردى بوس قويۋعا بولمايدى</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="657"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="659"/> + <source>sure pwd cannot be empty!</source> + <translation>!جاڭا قۇپيا نۇمىردى جەزملەشتۈرۈشنى بوس قويۋعا بولمايدى</translation> + </message> +@@ -3566,7 +3585,7 @@ change system settings</source> + <translation type="vanished">该用户名已存在,请更改。</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="526"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="528"/> + <source>Name corresponds to group already exists.</source> + <translation>ات الدەقاشان ساقتالعان بولىپ بولعان توپقا بۇرشاق كەلەتىن .</translation> + </message> +@@ -3579,12 +3598,12 @@ change system settings</source> + <translation type="vanished">用户名仅能包含字母,数字及下划线</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="522"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="524"/> + <source>Username's folder exists, change another one</source> + <translation>پايدالانۋشٸ اتاعىنىڭ حۇجات قىسۋ اسپابى ساقتالعان، باسقا بىرىستى الماستىر</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="551"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="553"/> + <source>Contains illegal characters!</source> + <translation>!قاعيداعا قايشى ٴارىپ-بەلگى بار</translation> + </message> +@@ -3763,7 +3782,7 @@ change system settings</source> + <extra-contents_path>/Date/Sync Server</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="341"/> ++ <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="346"/> + <source>Add Timezone</source> + <translation>ۋاقىت رايونى قوسۋ</translation> + </message> +@@ -3826,8 +3845,8 @@ change system settings</source> + <translation type="vanished">Сақтау</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="201"/> +- <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="343"/> ++ <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="206"/> ++ <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="348"/> + <source>Change Timezone</source> + <translation>ۋاقىت رايوننى وزگەرتۋ</translation> + </message> +@@ -3855,37 +3874,37 @@ change system settings</source> + <context> + <name>DatetimeUi</name> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="53"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="54"/> + <source>Sync Server</source> + <translation>بۇرشاق قادامدا قىزىمەت وتەۋى</translation> + <extra-contents_path>/Date/Sync Server</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="75"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="77"/> + <source>Current Date</source> + <translation>كەزەكتەگى ۋاقىتى</translation> + <extra-contents_path>/Date/Current Date</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="105"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="107"/> + <source>Timezone</source> + <translation>ۋاقىت رايونى</translation> + <extra-contents_path>/Date/Timezone</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="111"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="113"/> + <source>Set Time</source> + <translation>بەلگٸلەنگەن ۋاقىت</translation> + <extra-contents_path>/Date/Set Time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="113"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="115"/> + <source>Manual Time</source> + <translation>قولدانبا ۋاقىتى</translation> + <extra-contents_path>/Date/Manual Time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="115"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="117"/> + <source>Sync Time</source> + <translation>بۇرشاق كونە ۋاقىتى</translation> + <extra-contents_path>/Date/Sync Time</extra-contents_path> +@@ -3896,55 +3915,55 @@ change system settings</source> + <extra-contents_path>/Date/Set Date Manually</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="127"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="129"/> + <source>Set Time Manually</source> + <translation type="unfinished"></translation> + <extra-contents_path>/Date/Set Time Manually</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="162"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="164"/> + <source>Server Address</source> + <translation>قىزىمەت وتەۋى ٵدىرىسى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="164"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="166"/> + <source>Required</source> + <translation>تالاپ قىلىندى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="165"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="167"/> + <source>Save</source> + <translation>ساقتاۋ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="169"/> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="313"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="171"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="315"/> + <source>Customize</source> + <translation>دارالاندىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="197"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="199"/> + <source>Other Timezone</source> + <translation>باسقا ۋاقىت رايونى</translation> + <extra-contents_path>/Date/Other Timezone</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="269"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="271"/> + <source>MMMM d, yy ddd</source> + <translation>yy جىل M اي d كۇن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="271"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="273"/> + <source>MMMM dd, yyyy ddd</source> + <translation>yyyy جىل MM اي dd كۇن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="302"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="304"/> + <source>Sync failed</source> + <translation>بۇرشاق قادامدا جەڭىلىپ قالدى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="312"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="314"/> + <source>Default</source> + <translation>كوڭىلدەگى سوز</translation> + </message> +@@ -4008,56 +4027,56 @@ change system settings</source> + <context> + <name>DefaultAppUi</name> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="17"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="18"/> + <source>DefaultAppWindow</source> + <comment>Select Default Application</comment> + <translation>كوڭىلگىدەي قولدانۋ</translation> + <extra-contents_path>/Defaultapp/Select Default Application</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="21"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="22"/> + <source>Browser</source> + <translation>تور شولىعىش</translation> + <extra-contents_path>/Defaultapp/Browser</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="23"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="24"/> + <source>Mail</source> + <translation>پوچتا جولدانباسى</translation> + <extra-contents_path>/Defaultapp/Mail</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="25"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="26"/> + <source>Image Viewer</source> + <translation>راسىم شولىعىش</translation> + <extra-contents_path>/Defaultapp/Image Viewer</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="27"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="28"/> + <source>Audio Player</source> + <translation>ۇن قۇيعىش</translation> + <extra-contents_path>/Defaultapp/Audio Player</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="29"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="30"/> + <source>Video Player</source> + <translation>سىن قۇيعىش</translation> + <extra-contents_path>/Defaultapp/Video Player</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="31"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="32"/> + <source>Text Editor</source> + <translation>تەكىسىت رەدەكسيا اسبابٸ</translation> + <extra-contents_path>/Defaultapp/Text Editor</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="35"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="36"/> + <source>Reset default apps to system recommended apps</source> + <translation>سەستيما ۇسٸنٸس بەرۋ ورىندالعان ئەپلەرگە كوڭىلدەگى ئەپلەرنى قاتە بەكٸتۋ</translation> + <extra-contents_path>/Defaultapp/Reset default apps to system recommended apps</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="36"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="37"/> + <source>Reset</source> + <translation>قاتە تەڭشە</translation> + </message> +@@ -4283,7 +4302,7 @@ folder will be deleted!</source> + <translation>'? جانە:</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="65"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="66"/> + <source>Keep desktop, files, favorites, music of the user</source> + <translation>ۇستەل بەتى، حۇجات، ئامراقلار، قاريدارلاردىڭ مۋزيكاسىن ساقتاۋ</translation> + </message> +@@ -4292,17 +4311,17 @@ folder will be deleted!</source> + <translation type="vanished">保留用户家目录</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="98"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="100"/> + <source>Cancel</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="100"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="102"/> + <source>Confirm</source> + <translation>تۇراقتاندىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="66"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="68"/> + <source>Delete whole data belong user</source> + <translation>پۇتٸن ساندىق مال-مۇلىكى ٴوشىرۋ قولدانۋشىعا ٴتان</translation> + </message> +@@ -4676,74 +4695,60 @@ folder will be deleted!</source> + <context> + <name>DisplayPerformanceDialog</name> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="26"/> + <source>Dialog</source> +- <translation>دىيالوگ</translation> ++ <translation type="vanished">دىيالوگ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="214"/> + <source>Display Advanced Settings</source> +- <translation>ىلعارى تەڭشەۋلەردەگٸ كورسەتۋ</translation> ++ <translation type="vanished">ىلعارى تەڭشەۋلەردەگٸ كورسەتۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="297"/> + <source>Performance</source> +- <translation>ويٸن قويۋ</translation> ++ <translation type="vanished">ويٸن قويۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="376"/> + <source>Applicable to machine with discrete graphics, which can accelerate the rendering of 3D graphics.</source> +- <translation>3D گرافيكتىڭ شەكىللىنىشىنى تەزدەتەتىنى بولادٸ.</translation> ++ <translation type="vanished">3D گرافيكتىڭ شەكىللىنىشىنى تەزدەتەتىنى بولادٸ.</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="392"/> + <source>(Note: not support connect graphical with xmanager on windows.)</source> +- <translation>(ەسكەرتپەۋ: windows دەگى xmanager مەنەن گىرافىكىلىق جالعاۋدى قولدامايدى.)</translation> ++ <translation type="vanished">(ەسكەرتپەۋ: windows دەگى xmanager مەنەن گىرافىكىلىق جالعاۋدى قولدامايدى.)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="462"/> + <source>Compatible</source> +- <translation>سايكەستىرىلگەن</translation> ++ <translation type="vanished">سايكەستىرىلگەن</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="538"/> + <source>Applicable to machine with integrated graphics, there is no 3D graphics acceleration. </source> +- <translation>توپتاستىرىلعان گىرافىكىلىق ماشيناعا قولدانۋعا بولادٸ، 3D گرافيكتىڭ تېزلىشى جوق. </translation> ++ <translation type="vanished">توپتاستىرىلعان گىرافىكىلىق ماشيناعا قولدانۋعا بولادٸ، 3D گرافيكتىڭ تېزلىشى جوق. </translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="554"/> + <source>(Note: need connect graphical with xmanager on windows, use this option.)</source> +- <translation>(ەسكەرتپەۋ: windows دەگى xmanager مەنەن گىرافىكىلىق جالعانۋعا مۇقتاج، نۇ تاڭداۋدى ٸستەتڭٸز.)</translation> ++ <translation type="vanished">(ەسكەرتپەۋ: windows دەگى xmanager مەنەن گىرافىكىلىق جالعانۋعا مۇقتاج، نۇ تاڭداۋدى ٸستەتڭٸز.)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="624"/> + <source>Automatic</source> +- <translation>اۆتوماتتى</translation> ++ <translation type="vanished">اۆتوماتتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="700"/> + <source>Auto select according to environment, delay the login time (about 0.5 sec).</source> +- <translation>مۇحىيتىا نەگىزىنەن اۆتوماتتى تالداۋ، كىرۋ ۋاقىتىن كەشىكتىرۋ (نەگٸزٸنەن 0.5 سەكونت).</translation> ++ <translation type="vanished">مۇحىيتىا نەگىزىنەن اۆتوماتتى تالداۋ، كىرۋ ۋاقىتىن كەشىكتىرۋ (نەگٸزٸنەن 0.5 سەكونت).</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="721"/> + <source>Threshold:</source> +- <translation>چەرچەن:</translation> ++ <translation type="vanished">چەرچەن:</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="744"/> + <source>Apply</source> +- <translation>جابلماس ەتۋ</translation> ++ <translation type="vanished">جابلماس ەتۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="757"/> + <source>Reset</source> +- <translation>قاتە تەڭشە</translation> ++ <translation type="vanished">قاتە تەڭشە</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="772"/> + <source>(Note: select this option to use 3D graphics acceleration and xmanager.)</source> +- <translation>(ەسكەرتپەۋ: 3D گرافىكىلارنى تەزدەتۋ ۋا xmanager ٸستەتۋ ٷشٸن نۇ تاڭداۋدى تالدا.)</translation> ++ <translation type="vanished">(ەسكەرتپەۋ: 3D گرافىكىلارنى تەزدەتۋ ۋا xmanager ٸستەتۋ ٷشٸن نۇ تاڭداۋدى تالدا.)</translation> + </message> + </context> + <context> +@@ -5831,132 +5836,132 @@ folder will be deleted!</source> + <context> + <name>KeyboardUi</name> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="24"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="30"/> + <source>Keyboard Settings</source> + <translation>كىنوپكا تاقتاسى تەڭشەۋلەرى</translation> + <extra-contents_path>/Keyboard/Keyboard Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="35"/> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="167"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="41"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="173"/> + <source>Input Method</source> + <translation>كىرگىزگىش</translation> + <extra-contents_path>/Keyboard/Input Method</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="51"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="57"/> + <source>Virtual Keyboard</source> + <translation>جاساندى كىنوپكا تاقتاسى</translation> + <extra-contents_path>/Keyboard/Virtual Keyboard</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="106"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="112"/> + <source>Key repeat</source> + <translation>كىلت قايتالاۋ</translation> + <extra-contents_path>/Keyboard/Key repeat</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="114"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="120"/> + <source>Delay</source> + <translation>كەشىكتىرۋ</translation> + <extra-contents_path>/Keyboard/Delay</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="117"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="123"/> + <source>Short</source> + <translation>قىسقا</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="118"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="124"/> + <source>Long</source> + <translation>ۇزىن</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="130"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="136"/> + <source>Speed</source> + <translation>جىلدامدىق</translation> + <extra-contents_path>/Keyboard/Speed</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="132"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="138"/> + <source>Slow</source> + <translation>اقٸرٸن</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="133"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="139"/> + <source>Fast</source> + <translation>تەز</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="144"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="150"/> + <source>Input test</source> + <translation>كىرگىزۋ سىنىعى</translation> + <extra-contents_path>/Keyboard/Input test</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="152"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="158"/> + <source>Key tips</source> + <translation>شەشۋشٸ ەسكەرتپەۋ</translation> + <extra-contents_path>/Keyboard/Key tips</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="161"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="167"/> + <source>Input settings</source> + <translation>كىرگىزۋ تەڭشەۋلەرى</translation> + <extra-contents_path>/Keyboard/Input settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="168"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="174"/> + <source>Edit</source> + <translation>تالداۋجاساۋ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="175"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="181"/> + <source>Show icon on tray</source> + <translation>داستىكى گرافيىكتى كورسەتۋ</translation> + <extra-contents_path>/Keyboard/Show icon on tray</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="182"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="188"/> + <source>Show icon on desktop</source> + <translation>ۇستەل بەتىندە گرافيىكتى كورسەت</translation> + <extra-contents_path>/Keyboard/Show icon on desktop</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="189"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="195"/> + <source>Keyboard Size</source> + <translation>كىنوپكا تاقتاسى ۇلكەندىگى</translation> + <extra-contents_path>/Keyboard/Keyboard Size</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="197"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="203"/> + <source>Text size</source> + <translation>جازۋ ۇلكەندىگى</translation> + <extra-contents_path>/Keyboard/Text size</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="199"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="205"/> + <source>Small</source> + <translation>كشكەنە</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="200"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="206"/> + <source>Medium</source> + <translation>ورتا كۇي</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="201"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="207"/> + <source>Large</source> + <translation>ۇلكەن</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="207"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="213"/> + <source>Animation</source> + <translation>كارتون فيلىم</translation> + <extra-contents_path>/Keyboard/Animation</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="214"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="220"/> + <source>Input sound effect</source> + <translation>اۋا كىرگىزۋ ٴونٸمٸ</translation> + <extra-contents_path>/Keyboard/Input sound effect</extra-contents_path> +@@ -5965,12 +5970,12 @@ folder will be deleted!</source> + <context> + <name>LanguageFrame</name> + <message> +- <location filename="../../../plugins/time-language/area/languageframe.cpp" line="70"/> ++ <location filename="../../../plugins/time-language/area/languageframe.cpp" line="90"/> + <source>Input Settings</source> + <translation>كىرگىزۋ تەڭشەۋلەرى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/languageframe.cpp" line="71"/> ++ <location filename="../../../plugins/time-language/area/languageframe.cpp" line="91"/> + <source>Delete</source> + <translation>حابار</translation> + </message> +@@ -6445,10 +6450,10 @@ Please retry or relogin!</source> + <translation type="vanished">设置</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="441"/> +- <location filename="../../mainwindow.cpp" line="459"/> +- <location filename="../../mainwindow.cpp" line="591"/> +- <location filename="../../mainwindow.cpp" line="949"/> ++ <location filename="../../mainwindow.cpp" line="475"/> ++ <location filename="../../mainwindow.cpp" line="493"/> ++ <location filename="../../mainwindow.cpp" line="625"/> ++ <location filename="../../mainwindow.cpp" line="979"/> + <source>Settings</source> + <translation>تەڭشەۋلەر</translation> + </message> +@@ -6457,7 +6462,7 @@ Please retry or relogin!</source> + <translation type="vanished">Негізгі мәзір</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="480"/> ++ <location filename="../../mainwindow.cpp" line="514"/> + <source>Minimize</source> + <translation>كىشرەيتۋ</translation> + </message> +@@ -6466,7 +6471,7 @@ Please retry or relogin!</source> + <translation type="vanished">最大化/正常</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> ++ <location filename="../../mainwindow.cpp" line="156"/> + <source>Warnning</source> + <translation>ەسكەرتۋ</translation> + </message> +@@ -6475,8 +6480,8 @@ Please retry or relogin!</source> + <translation type="vanished">Қалыпты</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="173"/> +- <location filename="../../mainwindow.cpp" line="481"/> ++ <location filename="../../mainwindow.cpp" line="177"/> ++ <location filename="../../mainwindow.cpp" line="515"/> + <source>Maximize</source> + <translation>ەڭ ۇلكەن شەككە</translation> + </message> +@@ -6485,22 +6490,22 @@ Please retry or relogin!</source> + <translation type="obsolete">开始菜单</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="170"/> ++ <location filename="../../mainwindow.cpp" line="174"/> + <source>Restore</source> + <translation>قالپىنا كەلتىرىلگەن</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="453"/> ++ <location filename="../../mainwindow.cpp" line="487"/> + <source>Back home</source> + <translation>قايتۋ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="479"/> ++ <location filename="../../mainwindow.cpp" line="513"/> + <source>Option</source> + <translation>تالدانبا</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="482"/> ++ <location filename="../../mainwindow.cpp" line="516"/> + <source>Close</source> + <translation>ياپ</translation> + </message> +@@ -6517,12 +6522,12 @@ Please retry or relogin!</source> + <translation type="vanished">شىعۋ اۋٸزٸ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="592"/> ++ <location filename="../../mainwindow.cpp" line="626"/> + <source>Version: </source> + <translation>باسىلىمى: </translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="731"/> ++ <location filename="../../mainwindow.cpp" line="761"/> + <source>Specified</source> + <translation>بەلگٸلەنگەن</translation> + </message> +@@ -6531,13 +6536,13 @@ Please retry or relogin!</source> + <translation type="vanished">控制面板</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="1082"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>Warning</source> + <translation>ديقات</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> +- <location filename="../../mainwindow.cpp" line="1082"/> ++ <location filename="../../mainwindow.cpp" line="156"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>This function has been controlled</source> + <translation>نۇ فونكسيا مەڭگەرۋ قىلىندى</translation> + </message> +@@ -7842,7 +7847,7 @@ Please retry or relogin!</source> + <translation>پىرىنتېر</translation> + </message> + <message> +- <location filename="../../../plugins/devices/printer/printer.cpp" line="121"/> ++ <location filename="../../../plugins/devices/printer/printer.cpp" line="122"/> + <source>Printers</source> + <translation>پىرىنتېرلار</translation> + </message> +@@ -7859,22 +7864,22 @@ Please retry or relogin!</source> + <context> + <name>PrivacyDialog</name> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="11"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="12"/> + <source>Set</source> + <translation>بەلگٸلەۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="73"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="74"/> + <source>End User License Agreement and Privacy Policy Statement of openKylin</source> + <translation>سوڭعٸ پايدالانۋشٸلار يجاراتتاماسى كەلىسىمى ۋا قۇپيالىق ساياساتى باياناتنامىسى openKylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="75"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="76"/> + <source>End User License Agreement and Privacy Policy Statement of Kylin</source> + <translation>سوڭعٸ پايدالانۋشٸلار يجاراتتاماسى كەلىسىمى ۋا چىلىن قۇپيالىق ساياساتى مالىمەتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="81"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="82"/> + <source>openKylin Community.</source> + <translation>openKylin مەھەللىسى.</translation> + </message> +@@ -8825,7 +8830,7 @@ E-mail: support@kylinos.cn</source> + 长沙(0731)88280170 上海(021)51098866</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="83"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="84"/> + <source>Kylinsoft Co., Ltd.</source> + <translation>جۇمساق دەتال شەكتى سەرىكتى Kylin</translation> + </message> +@@ -9195,7 +9200,7 @@ E-mail: support@kylinos.cn</source> + <translation>قىسقا جولىن تەڭشەۋ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="472"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="474"/> + <source>Edit Shortcut</source> + <translation>قىسقارتپا جولىن تالداۋجاساۋ</translation> + </message> +@@ -9325,7 +9330,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">远程桌面</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="75"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="78"/> + <source>User Info</source> + <translation>پايدالانۋشٸ حابارى</translation> + </message> +@@ -9546,17 +9551,17 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Күн</translation> + </message> + <message> +- <location filename="../../main.cpp" line="100"/> ++ <location filename="../../main.cpp" line="104"/> + <source>ukui-control-center is disabled!</source> + <translation>ukui مەڭگەرۋ ورتالىعى مۇگەدەك!</translation> + </message> + <message> +- <location filename="../../main.cpp" line="128"/> ++ <location filename="../../main.cpp" line="132"/> + <source>ukui-control-center</source> + <translation>ukui-مەڭگەرۋ-ورتالىعى</translation> + </message> + <message> +- <location filename="../../main.cpp" line="89"/> ++ <location filename="../../main.cpp" line="93"/> + <source>ukui-control-center is already running!</source> + <translation>ukui مەڭگەرۋ ەتۋ ورتالىعى الدەقاشان ئىجرادا!</translation> + </message> +@@ -9697,63 +9702,63 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">连接失败,尝试重新连接</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1221"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1201"/> + <source>min length %1 + </source> + <translation>min ۇزٸندٸعٸ %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1231"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1211"/> + <source>min digit num %1 + </source> + <translation>مىڭ ورىندىق num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1240"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1220"/> + <source>min upper num %1 + </source> + <translation>min ٷستٸنكٸ num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1249"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1229"/> + <source>min lower num %1 + </source> + <translation>min تومەن num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1258"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1238"/> + <source>min other num %1 + </source> + <translation>min باسقا num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1268"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1248"/> + <source>min char class %1 + </source> + <translation>min char كلاسى %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1277"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1257"/> + <source>max repeat %1 + </source> + <translation>max قاتە قايتالاۋ %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1286"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1266"/> + <source>max class repeat %1 + </source> + <translation>ەڭ ۇلكەن دەرسى قايتالاۋ %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1295"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1275"/> + <source>max sequence %1 + </source> + <translation>ەڭ ۇلكەن تارتىپ %1 +@@ -9772,7 +9777,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">XXX 客户端</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="373"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="372"/> + <source>Programs are not allowed to be added.</source> + <translation>پرٶگراممالاردىڭ قوشۇلۇشىغا جول قويىلمايدى.</translation> + </message> +@@ -9830,9 +9835,8 @@ E-mail: support@kylinos.cn</source> + <context> + <name>Screenlock</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="32"/> + <source>Screenlock</source> +- <translation>ەكٸران قۇلىبى</translation> ++ <translation type="vanished">ەكٸران قۇلىبى</translation> + </message> + <message> + <source>Screenlock Interface</source> +@@ -9952,9 +9956,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">2h</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="172"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> +- <translation>تام قاعازى حۇجاتتارى(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> ++ <translation type="vanished">تام قاعازى حۇجاتتارى(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> + <message> + <source>allFiles(*.*)</source> +@@ -9993,131 +9996,107 @@ E-mail: support@kylinos.cn</source> + <translation type="obsolete">1 нөсер {3h?}</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="213"/> + <source>select custom wallpaper file</source> +- <translation>ەرەكشە تام قاعازى حۇجاتىن تالداۋ</translation> ++ <translation type="vanished">ەرەكشە تام قاعازى حۇجاتىن تالداۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="214"/> + <source>Select</source> +- <translation>تالداۋ</translation> ++ <translation type="vanished">تالداۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="215"/> + <source>Position: </source> +- <translation>ورنى: </translation> ++ <translation type="vanished">ورنى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="216"/> + <source>FileName: </source> +- <translation>حۇجات مى: </translation> ++ <translation type="vanished">حۇجات مى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="217"/> + <source>FileType: </source> +- <translation>:حۇجات تۇرى </translation> ++ <translation type="vanished">:حۇجات تۇرى </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="218"/> + <source>Cancel</source> +- <translation>كۇشىنەن قالدىرۋ</translation> ++ <translation type="vanished">كۇشىنەن قالدىرۋ</translation> + </message> + </context> + <context> + <name>ScreenlockUi</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="41"/> + <source>Show picture of screenlock on screenlogin</source> +- <translation>كورسەتۋ ەكرانداعى تام قاعازى كىرۋ كورىنبە بەتىندە</translation> ++ <translation type="vanished">كورسەتۋ ەكرانداعى تام قاعازى كىرۋ كورىنبە بەتىندە</translation> + <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="44"/> + <source>Leave lock (System will be locked when the paired phone gone)</source> +- <translation>قۇلىبىن قالدىرىپ قويۋ (بٸر جۇپ تەلەفون جوعالىپ كەتكەندە سەستيما قۇلىپتالادى)</translation> ++ <translation type="vanished">قۇلىبىن قالدىرىپ قويۋ (بٸر جۇپ تەلەفون جوعالىپ كەتكەندە سەستيما قۇلىپتالادى)</translation> + <extra-contents_path>/Screenlock/Leave lock (System will be locked when the paired phone gone)</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="45"/> + <source>Specified device</source> +- <translation>بەلگٸلەنگەن اسباب</translation> ++ <translation type="vanished">بەلگٸلەنگەن اسباب</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="46"/> + <source>No paired phone. Please turn to 'Bluetooth' to pair.</source> +- <translation>جۇپ تەلەفون جوق 'كۆكچىش' نى قوشۇۋېلىپ قوس.</translation> ++ <translation type="vanished">جۇپ تەلەفون جوق 'كۆكچىش' نى قوشۇۋېلىپ قوس.</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="66"/> + <source>Screenlock</source> +- <translation>ەكٸران قۇلىبى</translation> ++ <translation type="vanished">ەكٸران قۇلىبى</translation> + <extra-contents_path>/Screenlock/Screenlock</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="96"/> + <source>Local Pictures</source> +- <translation>جەرلىك راسىمدەر</translation> ++ <translation type="vanished">جەرلىك راسىمدەر</translation> + <extra-contents_path>/Screenlock/Local Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="98"/> + <source>Online Pictures</source> +- <translation>تورداعٸ راسىمدەر</translation> ++ <translation type="vanished">تورداعٸ راسىمدەر</translation> + <extra-contents_path>/Screenlock/Online Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="100"/> + <source>Reset To Default</source> +- <translation>سۈكۈتكە قايتاي</translation> ++ <translation type="vanished">سۈكۈتكە قايتاي</translation> + <extra-contents_path>/Screenlock/Reset To Default</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="112"/> + <source>Bluetooth</source> +- <translation>كۆكچىش</translation> ++ <translation type="vanished">كۆكچىش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="117"/> + <source>No bluetooth adapter detected, can not use Leave Lock.</source> +- <translation>كۆكچىش ۇيلەستىرۋ بايقالمادٸ، Leave Lock نى ٸستەتكەلٸ بولمايدى.</translation> ++ <translation type="vanished">كۆكچىش ۇيلەستىرۋ بايقالمادٸ، Leave Lock نى ٸستەتكەلٸ بولمايدى.</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="136"/> + <source>Monitor Off</source> +- <translation>قاداعالاۋ ٴوشىرۋ</translation> ++ <translation type="vanished">قاداعالاۋ ٴوشىرۋ</translation> + <extra-contents_path>/Screenlock/Monitor Off</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="138"/> + <source>Screensaver</source> +- <translation>ەكٸران قورعاۋ</translation> ++ <translation type="vanished">ەكٸران قورعاۋ</translation> + <extra-contents_path>/Screenlock/Screensaver</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="141"/> + <source>Related Settings</source> +- <translation>قاتىناستىق تەڭشەۋلەر</translation> ++ <translation type="vanished">قاتىناستىق تەڭشەۋلەر</translation> + <extra-contents_path>/Screenlock/Related Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="147"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="148"/> + <source>Set</source> +- <translation>بەلگٸلەۋ</translation> ++ <translation type="vanished">بەلگٸلەۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="163"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="530"/> + <source>Please select device</source> +- <translation>اسبابٸن تالدا</translation> ++ <translation type="vanished">اسبابٸن تالدا</translation> + </message> + </context> + <context> + <name>Screensaver</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="37"/> + <source>Screensaver</source> +- <translation>ەكٸران قورعاۋ</translation> ++ <translation type="vanished">ەكٸران قورعاۋ</translation> + </message> + <message> + <source>Idle time</source> +@@ -10170,46 +10149,36 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Демалыс уақытын көрсету</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>UKUI</source> +- <translation>UKUI</translation> ++ <translation type="vanished">UKUI</translation> + </message> + <message> + <source>Blank_Only</source> + <translation type="vanished">Blank_Only</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>Customize</source> +- <translation>دارالاندىرۋ</translation> ++ <translation type="vanished">دارالاندىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>5min</source> +- <translation>بەس مينۋت</translation> ++ <translation type="vanished">بەس مينۋت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>10min</source> +- <translation>ون مينۋت</translation> ++ <translation type="vanished">ون مينۋت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>15min</source> +- <translation>15 مينۋت</translation> ++ <translation type="vanished">15 مينۋت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>30min</source> +- <translation>وتىز مينۋت</translation> ++ <translation type="vanished">وتىز مينۋت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>1hour</source> +- <translation>بٸر ساعات</translation> ++ <translation type="vanished">بٸر ساعات</translation> + </message> + <message> + <source>Screensaver source</source> +@@ -10248,10 +10217,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Ауыстырып қосу уақыты</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="168"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>1min</source> +- <translation>بٸر مينۋت</translation> ++ <translation type="vanished">بٸر مينۋت</translation> + </message> + <message> + <source>Ordinal</source> +@@ -10318,128 +10285,105 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Кездейсоқ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>Never</source> +- <translation>ماڭگى</translation> ++ <translation type="vanished">ماڭگى</translation> + </message> + </context> + <context> + <name>ScreensaverUi</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="40"/> + <source>Screensaver</source> +- <translation>ەكٸران قورعاۋ</translation> ++ <translation type="vanished">ەكٸران قورعاۋ</translation> + <extra-contents_path>/Screensaver/Screensaver</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="53"/> + <source>Idle time</source> +- <translation>بوس ۋاقىتى</translation> ++ <translation type="vanished">بوس ۋاقىتى</translation> + <extra-contents_path>/Screensaver/Idle time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="55"/> + <source>Screensaver program</source> +- <translation>ەكٸران قورعاۋ پىروگىرامماسى</translation> ++ <translation type="vanished">ەكٸران قورعاۋ پىروگىرامماسى</translation> + <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="87"/> + <source>Screensaver source</source> +- <translation>ەكٸران بەتى قاينارى</translation> ++ <translation type="vanished">ەكٸران بەتى قاينارى</translation> + <extra-contents_path>/Screensaver/Screensaver source</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="92"/> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="455"/> + <source>Select</source> +- <translation>تالداۋ</translation> ++ <translation type="vanished">تالداۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="113"/> + <source>Ordinal</source> +- <translation>داستۇرلٸ</translation> ++ <translation type="vanished">داستۇرلٸ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="114"/> + <source>Random</source> +- <translation>ەركىن</translation> ++ <translation type="vanished">ەركىن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="121"/> + <source>Random switching</source> +- <translation>قالاعانىڭىزشا سايكەستىرۋ</translation> ++ <translation type="vanished">قالاعانىڭىزشا سايكەستىرۋ</translation> + <extra-contents_path>/Screensaver/Random switching</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="141"/> + <source>Switching time</source> +- <translation>سايكەستىرۋ ۋاقىتى</translation> ++ <translation type="vanished">سايكەستىرۋ ۋاقىتى</translation> + <extra-contents_path>/Screensaver/Switching time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="160"/> + <source>Text(up to 30 characters):</source> +- <translation>تەكىسىت(ەڭ كوپ بولعاندا 30 ٴارىپ):</translation> ++ <translation type="vanished">تەكىسىت(ەڭ كوپ بولعاندا 30 ٴارىپ):</translation> + <extra-contents_path>/Screensaver/Text(up to 30 characters):</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="183"/> + <source>Text position</source> +- <translation>تەكىسىت ورنى</translation> ++ <translation type="vanished">تەكىسىت ورنى</translation> + <extra-contents_path>/Screensaver/Text position</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="191"/> + <source>Centered</source> +- <translation>ورتالىق ورىندالعان</translation> ++ <translation type="vanished">ورتالىق ورىندالعان</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="192"/> + <source>Randow(Bubble text)</source> +- <translation>ەرٸكتٸ(كوبىكشە تەكىسىت)</translation> ++ <translation type="vanished">ەرٸكتٸ(كوبىكشە تەكىسىت)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="214"/> + <source>Show rest time</source> +- <translation>دەمالٸس الۋ ۋاقىتىن كورسەتۋ</translation> ++ <translation type="vanished">دەمالٸس الۋ ۋاقىتىن كورسەتۋ</translation> + <extra-contents_path>/Screensaver/Show rest time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="224"/> + <source>Lock screen when screensaver boot</source> +- <translation>ەكٸرانٸ كوز بەك سارالاۋعا ەكٸرانٸ قۇلپىلاۋ</translation> ++ <translation type="vanished">ەكٸرانٸ كوز بەك سارالاۋعا ەكٸرانٸ قۇلپىلاۋ</translation> + <extra-contents_path>/Screensaver/Lock screen when screensaver boot</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="413"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</source> +- <translation>تام قاعازى حۇجاتتارى(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> ++ <translation type="vanished">تام قاعازى حۇجاتتارى(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="454"/> + <source>select custom screensaver dir</source> +- <translation>ەرەكشە ەكٸران باقىلاۋدى تالداۋ</translation> ++ <translation type="vanished">ەرەكشە ەكٸران باقىلاۋدى تالداۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="456"/> + <source>Position: </source> +- <translation>ورنى: </translation> ++ <translation type="vanished">ورنى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="457"/> + <source>FileName: </source> +- <translation>حۇجات مى: </translation> ++ <translation type="vanished">حۇجات مى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="458"/> + <source>FileType: </source> +- <translation>:حۇجات تۇرى </translation> ++ <translation type="vanished">:حۇجات تۇرى </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="459"/> + <source>Cancel</source> +- <translation>كۇشىنەن قالدىرۋ</translation> ++ <translation type="vanished">كۇشىنەن قالدىرۋ</translation> + </message> + </context> + <context> +@@ -10819,81 +10763,82 @@ E-mail: support@kylinos.cn</source> + <context> + <name>ShortcutUi</name> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="33"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="34"/> + <source>System Shortcut</source> + <translation>سەستيما قىسقارتۋ جولى</translation> + <extra-contents_path>/Shortcut/System Shortcut</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="46"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="47"/> + <source>Customize Shortcut</source> + <translation>قىسقا جولىن تەڭشەۋ</translation> + <extra-contents_path>/Shortcut/Customize Shortcut</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="77"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="81"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="98"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="102"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="180"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="269"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="79"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="83"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="100"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="104"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="182"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="271"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="483"/> + <source>Null</source> + <translation>جوق</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="230"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="362"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="605"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="232"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="364"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="619"/> + <source>Cancel</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="231"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="363"/> + <source>Use</source> +- <translation>ٸستەتۋ</translation> ++ <translation type="vanished">ٸستەتۋ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="232"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="364"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="607"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="234"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="366"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="621"/> + <source>Shortcut key conflict, use it?</source> + <translation>قىسقا جول كىلت سوقتٸعٸۋٸ، پايدالاناسزبا؟</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="233"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="365"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="235"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="367"/> + <source>%1 occuied, using this combination will invalidate %2</source> + <translation>%1 قوسىلدى، نۇ بٸرٸكپە ارقىلى %2 كۇشكە يە ەمەس بولادٸ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="256"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="395"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="258"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="397"/> + <source>Shortcut "%1" occuied, please change the key combination</source> + <translation>قىسقا جول «%1» نى وزگەرت، كىنوپكا بىرىكپەسىن الماستٸر</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="447"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="449"/> + <source>Edit</source> + <translation>تالداۋجاساۋ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="448"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="450"/> + <source>Delete</source> + <translation>حابار</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="606"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="233"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="365"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="620"/> + <source>Continue</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="608"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="622"/> + <source>"%1" occuied, using this combination will invalidate "%2".</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="648"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="662"/> + <source> or </source> + <translation> ياكي </translation> + </message> +@@ -10991,7 +10936,7 @@ E-mail: support@kylinos.cn</source> + <translation>جايىندا</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/statusdialog.cpp" line="59"/> ++ <location filename="../../../plugins/system/about/statusdialog.cpp" line="60"/> + <source>Activation Code</source> + <translation>قوزعالتۋ بەلگىسى</translation> + </message> +@@ -11409,117 +11354,117 @@ E-mail: support@kylinos.cn</source> + <extra-contents_path>/Theme/Theme Mode</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="111"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="534"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="108"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="539"/> + <source>Theme</source> + <translation>سلوب</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="188"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="186"/> + <source>Default</source> + <translation>كوڭىلدەگى سوز</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="184"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="182"/> + <source>Light</source> + <translation>نۇر</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="184"/> + <source>Dark</source> + <translation>قاراڭغۇلۇق</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="190"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="188"/> + <source>Auto</source> + <translation>اۆتوماتتى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="423"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="426"/> + <source>Corlor</source> + <translation>باسا دارىپتەلگەن رەڭ</translation> + <extra-contents_path>/Theme/Corlor</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="608"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="614"/> + <source>Other</source> + <translation>باسقا</translation> + <extra-contents_path>/Theme/Other</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="613"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="617"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="619"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="623"/> + <source>Set</source> + <translation>بەلگٸلەۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="611"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="617"/> + <source>Wallpaper</source> + <translation>تام قاعازى</translation> + <extra-contents_path>/Theme/Wallpaper</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="224"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="223"/> + <source>Corner</source> + <translation>بۇرىش</translation> + <extra-contents_path>/Theme/Corner</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="230"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="229"/> + <source>Right angle</source> + <translation>وڭ بۇرىش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="231"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="230"/> + <source>Small</source> + <translation>كشكەنە</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="232"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="231"/> + <source>Big</source> + <translation>ۇلكەن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="615"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="621"/> + <source>Beep</source> + <translation>ويرانداۋ</translation> + <extra-contents_path>/Theme/Beep</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="963"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="972"/> + <source>Blue-Crystal</source> + <translation>كوك كىرىستال</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="965"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1049"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="974"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1058"/> + <source>Light-Seeking</source> + <translation>جارىقتىق ئىزدەيمەن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="967"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="976"/> + <source>DMZ-Black</source> + <translation>جاتقىزۋ قارا</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="969"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="978"/> + <source>DMZ-White</source> + <translation>جاتقىزۋ اق</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="971"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="980"/> + <source>Dark-Sense</source> + <translation>زۇلمەتلىك سەزۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1045"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1049"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1055"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1054"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1058"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1064"/> + <source>basic</source> + <translation>نەگٸزگٸ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1047"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1056"/> + <source>Classic</source> + <translation>ۇزدىك ٴان – فيلىم</translation> + </message> +@@ -11532,57 +11477,57 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">时尚</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1053"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1062"/> + <source>hp</source> + <translation>خۈيپۇ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1055"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1064"/> + <source>ukui</source> + <translation>ukui</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1051"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1060"/> + <source>HeYin</source> + <translation>خېيىن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1047"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1056"/> + <source>classic</source> + <translation>ۇزدىك</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1057"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1066"/> + <source>daybreakBlue</source> + <translation>كوك</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1059"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1068"/> + <source>jamPurple</source> + <translation>كۇلگىن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1061"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1070"/> + <source>magenta</source> + <translation>اتىرگۇل قىزىلى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1063"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1072"/> + <source>sunRed</source> + <translation>قىزىل</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1065"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1074"/> + <source>sunsetOrange</source> + <translation>قىزعىش سارى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1067"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1076"/> + <source>dustGold</source> + <translation>التٸن رەڭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1069"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1078"/> + <source>polarGreen</source> + <translation>جاسىل</translation> + </message> +@@ -11595,13 +11540,13 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">中</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="248"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="247"/> + <source>Window Theme</source> + <translation>كوز بەك سلوبٸ</translation> + <extra-contents_path>/Theme/Window Theme</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="250"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="249"/> + <source>Icon Theme</source> + <translation>سۋرەت بەلگىلىك سلوب</translation> + <extra-contents_path>/Theme/Icon Theme</extra-contents_path> +@@ -11611,19 +11556,19 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Басқару тақырыбы</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="253"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="252"/> + <source>Cursor Theme</source> + <translation>Cursor سلوبٸ</translation> + <extra-contents_path>/Theme/Cursor Theme</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="215"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="214"/> + <source>Effect Setting</source> + <translation>ٶنىم تەڭگەرگٸش</translation> + <extra-contents_path>/Theme/Effect Setting</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="222"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="221"/> + <source>Transparency</source> + <translation>تۇنىقتىق</translation> + <extra-contents_path>/Theme/Transparency</extra-contents_path> +@@ -11633,7 +11578,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">透明特效</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="220"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="219"/> + <source>Performance mode</source> + <translation>اتقار ەتۋ پىشىنى</translation> + <extra-contents_path>/Theme/Performance mode</extra-contents_path> +@@ -11662,27 +11607,27 @@ E-mail: support@kylinos.cn</source> + <context> + <name>TimeBtn</name> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="106"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="107"/> + <source>Tomorrow</source> + <translation>ەرتەڭ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="108"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="109"/> + <source>Yesterday</source> + <translation>كەشە</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="110"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="111"/> + <source>Today</source> + <translation>تاريح-بوگٸن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="128"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="129"/> + <source>%1 hours earlier than local</source> + <translation>جەرلىكتەن %1 ساعات بۇرٸن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="130"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="131"/> + <source>%1 hours later than local</source> + <translation>جەرلىكتەن %1 ساعات كەيىن</translation> + </message> +@@ -11690,12 +11635,12 @@ E-mail: support@kylinos.cn</source> + <context> + <name>TimeZoneChooser</name> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="35"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="34"/> + <source>Cancel</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="37"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="36"/> + <source>Confirm</source> + <translation>تۇراقتاندىرۋ</translation> + </message> +@@ -11704,7 +11649,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">更改时区</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="33"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="32"/> + <source>Search Timezone</source> + <translation>ىزدە ۋاقىت رايونى</translation> + </message> +@@ -11713,7 +11658,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">搜索时区</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="64"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="63"/> + <source>To select a time zone, please click where near you on the map and select a city from the nearest city</source> + <translation>ۋاقىت رايوننى تالداۋ ٷشٸن كارتاداعى ٶزٸڭٸزدٸڭ جانىنداعى جەردى تۇرتىپ، ەڭ جاقىن قالادىن قالا تالدا</translation> + </message> +@@ -11726,7 +11671,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">更改时区</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="40"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="39"/> + <source>Change Timezone</source> + <translation>ۋاقىت رايوننى وزگەرتۋ</translation> + </message> +@@ -11903,12 +11848,12 @@ E-mail: support@kylinos.cn</source> + <translation>بەلگٸلەۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/trialdialog.cpp" line="37"/> ++ <location filename="../../../plugins/system/about/trialdialog.cpp" line="38"/> + <source>Yinhe Kylin OS(Trail Version) Disclaimer</source> + <translation>سابان جولى چىلىن (ٴىز نۇسقاسى) نى تارقاتۋشٸ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/trialdialog.cpp" line="46"/> ++ <location filename="../../../plugins/system/about/trialdialog.cpp" line="47"/> + <source>Dear customer: + Thank you for trying Yinhe Kylin OS(trail version)! This version is free for users who only try out, no commercial purpose is permitted. The trail period lasts one year and it starts from the ex-warehouse time of the OS. No after-sales service is provided during the trail stage. If any security problems occurred when user put important files or do any commercial usage in system, all consequences are taken by users. Kylin software Co., Ltd. take no legal risk in trail version. + During trail stage,if you want any technology surpport or activate the system, please buy“Yinhe Kylin Operating System”official version or authorization by contacting 400-089-1870.</source> +@@ -11925,7 +11870,7 @@ E-mail: support@kylinos.cn</source> + 在试用过程中,如希望激活或者得到专业的技术服务支持,请您购买“银河麒麟操作系统”正式版本或授权,联系方式如下:400-089-1870。</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/trialdialog.cpp" line="60"/> ++ <location filename="../../../plugins/system/about/trialdialog.cpp" line="61"/> + <source>Kylin software Co., Ltd.</source> + <translation>Kylin جۇمساق دەتال شەكتى سەرىكتى</translation> + </message> +@@ -12350,12 +12295,12 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">管理员用户</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1088"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1043"/> + <source>root</source> + <translation>جۇلدىز</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1056"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1011"/> + <source>Hint</source> + <translation>ەسكەرتپەۋ</translation> + </message> +@@ -12364,32 +12309,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">更改账户类型需要注销后生效,是否注销?</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="956"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="911"/> + <source>The account type of “%1” has been modified, will take effect after logout, whether to logout?</source> + <translation>«%1» نىڭ ەسەپات تيپى وزگەرتٸلدٸ، شەگىنگەننەن كەيىن كۇشكە يە بولاما- جوق؟</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="957"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="912"/> + <source>logout later</source> + <translation>كەيىن شەگىنۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="958"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="913"/> + <source>logout now</source> + <translation>قازىر شەگىنۋ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1057"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1012"/> + <source>The system only allows one user to log in automatically.After it is turned on, the automatic login of other users will be turned off.Is it turned on?</source> + <translation>سەستيما تەك بٸرەۋ الارماننىڭ اۆتوماتتى كىرەلىشىگە جول قويادى. ئېچىۋېتىلگەندىن كەيىن باسقا قاريدارلاردىڭ اۆتوماتتى كىرۋى ٶشٸرٸلەدٸ. اشالٸپ كەتتىمە؟</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1060"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1015"/> + <source>Trun on</source> + <translation>Trun on</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1061"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1016"/> + <source>Close on</source> + <translation>جابۋ</translation> + </message> +@@ -12406,12 +12351,12 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">验证</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1084"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1039"/> + <source>Standard</source> + <translation>ولشەم</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1086"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1041"/> + <source>Admin</source> + <translation>باسقارۋشٸسٸ</translation> + </message> +@@ -12420,13 +12365,13 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">删除</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="161"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="170"/> + <source>CurrentUser</source> + <translation>كەزەكتەگى پايدالانۋشٸ</translation> + <extra-contents_path>/Userinfo/CurrentUser</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="167"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="176"/> + <source>OthersUser</source> + <translation>باسقا پايدالانۋشٸ</translation> + <extra-contents_path>/Userinfo/OthersUser</extra-contents_path> +@@ -12436,36 +12381,36 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Пассвд</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="209"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="218"/> + <source>Groups</source> + <translation>گرۋپپالار</translation> + <extra-contents_path>/Userinfo/Groups</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="261"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="270"/> + <source>AutoLoginOnBoot</source> + <translation>اۆتوماتتى كىرۋدى اشىپ وتۋ</translation> + <extra-contents_path>/Userinfo/AutoLoginOnBoot</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="256"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="265"/> + <source>LoginWithoutPwd</source> + <translation>قۇپيا نومىرسىز كىرۋ</translation> + <extra-contents_path>/Userinfo/LoginWithoutPwd</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="169"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="178"/> + <source>Add</source> + <translation>قوس</translation> + <extra-contents_path>/Userinfo/Add</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="570"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="540"/> + <source>Warning</source> + <translation>ديقات</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="570"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="540"/> + <source>The user is logged in, please delete the user after logging out</source> + <translation>ابونت تٸزٸمدەتٸپ كىردى، تٸزٸمدەتٸپ كىرگەننەن كەيىن ابونتىن ٶشٸرۋدٸڭ</translation> + </message> +@@ -12497,14 +12442,14 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/userinfo.ui" line="309"/> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="197"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="206"/> + <source>Password</source> + <translation>ئىم</translation> + <extra-contents_path>/Userinfo/Password</extra-contents_path> + </message> + <message> + <location filename="../../../plugins/account/userinfo/userinfo.ui" line="331"/> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="203"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="212"/> + <source>Type</source> + <translation>تۇرى</translation> + <extra-contents_path>/Userinfo/Type</extra-contents_path> +@@ -12669,12 +12614,12 @@ E-mail: support@kylinos.cn</source> + <translation>حابار</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="205"/> ++ <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="216"/> + <source>Standard</source> + <translation>ولشەم</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="207"/> ++ <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="218"/> + <source>Admin</source> + <translation>باسقارۋشٸسٸ</translation> + </message> +@@ -12770,19 +12715,19 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">背景</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="31"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="48"/> + <source>Background</source> + <translation>تەڭدٸك</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="137"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="156"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="205"/> + <source>picture</source> + <translation>راسىم</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="137"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="153"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> + <source>color</source> + <translation>رەڭ</translation> + </message> +@@ -12795,43 +12740,43 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">自定义颜色</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="167"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="216"/> + <source>wallpaper</source> + <translation>تام قاعازى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="169"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="218"/> + <source>centered</source> + <translation>ورتالىق ورىندالعان</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="165"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> + <source>scaled</source> + <translation>كۆلەملەشكەن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="171"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="220"/> + <source>stretched</source> + <translation>سوزىلعان</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="173"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="222"/> + <source>zoom</source> + <translation>ۇلكەيتۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="175"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="224"/> + <source>spanned</source> + <translation>رايون اتتاۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="219"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="291"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> + <translation>تام قاعازى حۇجاتتارى(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> +@@ -12840,32 +12785,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">所有文件(*.*)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="259"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="331"/> + <source>select custom wallpaper file</source> + <translation>ەرەكشە تام قاعازى حۇجاتىن تالداۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="260"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="332"/> + <source>Select</source> + <translation>تالداۋ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="261"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="333"/> + <source>Position: </source> + <translation>ورنى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="262"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="334"/> + <source>FileName: </source> + <translation>حۇجات مى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="263"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="335"/> + <source>FileType: </source> + <translation>:حۇجات تۇرى </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="264"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="336"/> + <source>Cancel</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> +@@ -12873,37 +12818,37 @@ E-mail: support@kylinos.cn</source> + <context> + <name>WallpaperUi</name> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="28"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="29"/> + <source>Background</source> + <translation>تەڭدٸك</translation> + <extra-contents_path>/Wallpaper/Background</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="30"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="31"/> + <source>Type</source> + <translation>تۇرى</translation> + <extra-contents_path>/Wallpaper/Type</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="66"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="67"/> + <source>Desktop Background</source> + <translation>ۇستەل ٷستٸن ارتى كورىنۋى</translation> + <extra-contents_path>/Wallpaper/Desktop Background</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="93"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="94"/> + <source>Local Pictures</source> + <translation>جەرلىك راسىمدەر</translation> + <extra-contents_path>/Wallpaper/Local Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="95"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="96"/> + <source>Online Pictures</source> + <translation>تورداعٸ راسىمدەر</translation> + <extra-contents_path>/Wallpaper/Online Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="97"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="98"/> + <source>Reset To Default</source> + <translation>سۈكۈتكە قايتاي</translation> + <extra-contents_path>/Wallpaper/Reset To Default</extra-contents_path> +@@ -12929,106 +12874,106 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Күшіне ену үшін кейбір бағдарламаларды тіркеу қажет</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="266"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="288"/> + <source>Night Mode</source> + <translation>تۇن كۇيى</translation> + <extra-contents_path>/Display/Night Mode</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="277"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1986"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2012"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="299"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> + <source>Open</source> + <translation>ٸشٸۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="277"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="299"/> + <source>When turned on, it will reduce the blue light of the screen.</source> + <translation>يانغاندا ەكٸراننڭ كوك نٷردى تومەندەتىلەدى.</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="290"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="312"/> + <source>Time</source> + <translation>ۋاقىتىندا</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="300"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="322"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>Custom Time</source> + <translation>تاموژنا ۋاقىتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="311"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="333"/> + <source>to</source> + <translation>عا</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="284"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="329"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="306"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="351"/> + <source>Color Temperature</source> + <translation>رەڭ تەمپەراتۋراسى</translation> + <extra-contents_path>/Display/Color Temperature</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="271"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="293"/> + <source>Eye Protection Mode</source> + <translation>كوز كۇتىمدەۋ فورماسى</translation> + <extra-contents_path>/Display/Eye protection mode</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="271"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="293"/> + <source>When turned on, it can reduce blue light to prevent eye, the screen will turn yellow.</source> + <translation>يانغاندا كوك نٷردى ازايتىپ كوزىنىڭ الدٸن العالٸ بولادٸ، ەكٸران سارغىيىپ كەتەدى.</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="282"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="304"/> + <source>Color Temperature And Eye Care</source> + <translation>رەڭ تەمپەراتۋراسى ۋا كوز كۇتىمدەۋ</translation> + <extra-contents_path>/Display/Color Temperature And Eye Care</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="331"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="353"/> + <source>Warmer</source> + <translation>الٸدە جىلى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="332"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="354"/> + <source>Colder</source> + <translation>سۋىق</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="610"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="632"/> + <source>Multi-screen</source> + <translation>كوپ ەكٸراندٸق</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="615"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="637"/> + <source>First Screen</source> + <translation>بٸرٸنشٸ ەكٸران</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="619"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="641"/> + <source>Clone Screen</source> + <translation>كىلون ەكٸرانٸ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1985"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> + <source>Turning on 'Eye Protection Mode' will turn off 'Color Temperature'. Continue turning it on?</source> + <translation>'كوز كۇتىمدەۋ پىشىنى'نى ٸشٸۋ «رەڭلىك تەمپەراتۋرا» نى ٶشٸرەدٸ. جالعاستى سٸناۋ قوياسىزبا؟</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1987"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2013"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2048"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2074"/> + <source>Cancel</source> + <translation>كۇشىنەن قالدىرۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2011"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> + <source>Turning on 'Color Temperature' will turn off 'Eye Protection Mode'. Continue turning it on?</source> + <translation>'رەڭلىك تەمپەراتۋرا' نى ٸشٸۋ «كوز كۇتىمدەۋ پىشىنى»نى ٶشٸرەدٸ. جالعاستى سٸناۋ قوياسىزبا؟</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2744"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2846"/> + <source>Auto Brightness</source> + <translation>اۆتوماتتى جارىقتىق</translation> + <extra-contents_path>/Display/Auto Brightness</extra-contents_path> +@@ -13038,32 +12983,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Экран жарықтығын қоршаған орта бойынша реттеу</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="792"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="822"/> + <source>scale</source> + <translation>كولەم</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="797"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="827"/> + <source>The screen %1 has been modified, whether to save it ? <br/><font style= 'color:#626c6e'>the settings will be restore after 14 seconds</font></source> + <translation>%1 نىڭ ەكٸرانٸ وزگەرتٸلدٸ، ساقتاۋ كەرەكپە جوق ؟ <br/> <font style= 'color:#626c6e'>تەڭشەۋلەر 14 سەكونتىن كەيىن قالپىنا كەلەدى</font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="808"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="838"/> + <source>The screen %1 has been modified, whether to save it ? <br/><font style= 'color:#626c6e'>the settings will be restore after %2 seconds</font></source> + <translation>%1 نىڭ ەكٸرانٸ وزگەرتٸلدٸ، ساقتاۋ كەرەكپە جوق ؟ <br/> <font style= 'color:#626c6e'>تەڭشەۋلەر %2 سەكونتىن كەيىن قالپىنا كەلەدى</font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1022"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1069"/> + <source>The zoom has been modified, it will take effect after you log off</source> + <translation>ۇلكەيتىپ وزگەرتۋ كىرگىزىلدى، ٴسىز شەگىنگەننەن كەيىن كۇشكە يە بولادٸ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2773"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2875"/> + <source>as main</source> + <translation>نەگٸزگدٸسٸ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2794"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2896"/> + <source>open monitor</source> + <translation>ايقٸن كۇزەتۋشى</translation> + </message> +@@ -13076,39 +13021,39 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">% 1 экраны өзгертілген, оны сақтау керек пе? <br/> <font style= 'color:#626c6e'>параметрлер% 2 секундтан кейін сақталады</font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2252"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2258"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2317"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2323"/> + <source>Follow the sunrise and sunset</source> + <translation>كۇن شىعۋ ۋا كۇن پېتىشقا ەرٸپ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="618"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="640"/> + <source>Extend Screen</source> + <translation>ەكٸرانٸ ۇزارتۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="616"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="638"/> + <source>Vice Screen</source> + <translation>قوسىمشا ەكٸران</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="621"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2638"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="643"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2740"/> + <source>Splice Screen</source> + <translation>Splice ەكٸرانٸ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2701"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2803"/> + <source>Splicing Method</source> + <translation>پۇشۇرۇش ٴتاسٸلٸ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2704"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2806"/> + <source>Change</source> + <translation>وزگەرتۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2772"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> + <source>monitor</source> + <translation>كۇزەتكىشى</translation> + </message> +@@ -13121,17 +13066,17 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Тақырып түнгі режимде жүреді</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="783"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="813"/> + <source>resolution</source> + <translation>انٸقتاما</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="786"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="816"/> + <source>orientation</source> + <translation>باعىت</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="789"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="819"/> + <source>frequency</source> + <translation>جيىلىگى</translation> + </message> +@@ -13145,12 +13090,12 @@ the settings will be saved after 14 seconds</source> + <translation type="vanished">是否保留当前修改的配置?将在14秒后自动保存配置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="777"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="806"/> + <source>Save</source> + <translation>ساقتاۋ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="776"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="805"/> + <source>Not Save</source> + <translation>ساقتاماۋ</translation> + </message> +@@ -13164,18 +13109,18 @@ the settings will be saved after %1 seconds</source> + <translation type="vanished">Ұлғайту функциясының күшіне енуі үшін кіру қажет</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1023"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1070"/> + <source>Log out now</source> + <translation>قازىر چېكىن</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1024"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1071"/> + <source>Later</source> + <translation>كەيىنشە</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1041"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1051"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1088"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1098"/> + <source>(Effective after logout)</source> + <translation>(شەگىنگەننەن كەيىن ونٸمدٸ)</translation> + </message> +@@ -13184,7 +13129,7 @@ the settings will be saved after %1 seconds</source> + <translation type="obsolete">应用</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>All Day</source> + <translation>كۇن بويى</translation> + </message> +@@ -13193,8 +13138,8 @@ the settings will be saved after %1 seconds</source> + <translation type="vanished">跟随日出日落(17:55-06:23)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2283"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2289"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2348"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2354"/> + <source>Brightness</source> + <translation>جارىقتىق</translation> + <extra-contents_path>/Display/Brightness</extra-contents_path> +@@ -13220,7 +13165,7 @@ If something goes wrong, the settings will be restored after 9 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在9秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2781"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2883"/> + <source>screen zoom</source> + <translation>ەكٸرانٸ چوڭايت</translation> + </message> +@@ -13261,15 +13206,15 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在%1秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1488"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1788"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>please insure at least one output!</source> + <translation>ەڭ از بولغانلىرىنى بٸر مالنى قامسىزداندىرۋعا الدىر!</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1488"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1495"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1788"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>Warning</source> + <translation>ديقات</translation> + </message> +@@ -13290,7 +13235,7 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">早晨时刻应早于晚上的时刻!</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1496"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1555"/> + <source>Sorry, your configuration could not be applied. + Common reasons are that the overall screen size is too big, or you enabled more displays than supported by your GPU.</source> + <translation>كەشىرىڭ، بالامالى بۇيىمىڭىز قٶلدانبادى. +diff --git a/shell/res/i18n/ky.ts b/shell/res/i18n/ky.ts +index 7d042b7..44904e9 100644 +--- a/shell/res/i18n/ky.ts ++++ b/shell/res/i18n/ky.ts +@@ -16,12 +16,12 @@ + <translation type="vanished">Версия номери</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="547"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="548"/> + <source>Status</source> + <translation>ابالى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="224"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="225"/> + <source>DateRes</source> + <translation>تەيلۅۅ مۅنۅتۉ توشۇۇ ۇباقتى</translation> + </message> +@@ -42,7 +42,7 @@ + <translation type="vanished"><<Protocol>></translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="56"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="57"/> + <source>About and Support</source> + <translation>جۅنۉندۅ جانا قولدوش ، دەم بەرىش</translation> + </message> +@@ -87,29 +87,29 @@ + <translation type="vanished">未激活(试用期)</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="229"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="230"/> + <source>Trial expiration time</source> + <translation>سىناپ ىشتەتىش مۅنۅتۉ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="279"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="280"/> + <source>Kylin Linux Desktop (Touch Screen) V10 (SP1)</source> + <translation>V10 (SP1)( سامان جولۇ شىرە بەتى ماشقۇلدانۇۇ ساامالىعى (چوڭ ەكىران ۉلگۉسۉ Kylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="281"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="282"/> + <source>Kylin Linux Desktop (Tablet) V10 (SP1)</source> + <translation>V10 (SP1)( سامان جولۇ شىرە بەتى ماشقۇلدانۇۇ ساامالىعى (تاقتا كومپىيۇتەر ۉلگۉسۉ Kylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="457"/> +- <location filename="../../../plugins/system/about/about.cpp" line="553"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="458"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="554"/> + <source>expired</source> + <translation>ۇباقتى ۅتۉپ كەتكەن ،قوروعون</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="244"/> +- <location filename="../../../plugins/system/about/about.cpp" line="458"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="245"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="459"/> + <source>Extend</source> + <translation>ۇزارتۇۇ</translation> + </message> +@@ -118,17 +118,17 @@ + <translation type="obsolete">版权所有 © 2009-2021 麒麟软件 保留所有权利。 {2020 ?}</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="518"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="519"/> + <source>The system needs to be restarted to set the HostName, whether to reboot</source> + <translation>كومپىيۇتەر ناامى ۅزگۅرتۉلدۉ، سەستىمانى قايرا قوزعوتقوندون كىيىن اندان نورماال ىشتەتكەلى بولوت . سەستىمانى داروو قايرا قوزعوتۇشتۇ كەڭەش قىلابىز!</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="519"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="520"/> + <source>Reboot Now</source> + <translation>ازىر قايرا قوزعوتۇڭ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="520"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="521"/> + <source>Reboot Later</source> + <translation>كىيىن قايرا قوزعوتۇڭ</translation> + </message> +@@ -141,8 +141,8 @@ + <translation type="vanished">延长服务</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="401"/> +- <location filename="../../../plugins/system/about/about.cpp" line="410"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="402"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="411"/> + <source>avaliable</source> + <translation>ەسەپ ەمەس</translation> + </message> +@@ -159,12 +159,12 @@ + <translation type="vanished">版权所有2009-2021@kylinos保留所有权利</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="545"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="546"/> + <source>Version</source> + <translation>باسماسى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="287"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="288"/> + <source>Kylin Linux Desktop V10 (SP1)</source> + <translation>V10 (SP1) ساما جولۇ شىرە بەتى ماشقۇلدانۇۇ ساامالىعى Kylin</translation> + </message> +@@ -192,7 +192,7 @@ + <extra-contents_path>/About/Memory</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="408"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="409"/> + <source>Disk</source> + <translation>دىسكاز</translation> + </message> +@@ -215,7 +215,7 @@ + <translation type="vanished">有效期</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="549"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="550"/> + <source>Serial</source> + <translation>قاتار</translation> + </message> +@@ -228,8 +228,8 @@ + <translation type="vanished">序列号</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="231"/> +- <location filename="../../../plugins/system/about/about.cpp" line="235"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="232"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="236"/> + <source>Active</source> + <translation>اكتىپ</translation> + </message> +@@ -246,7 +246,7 @@ + <translation type="vanished">关于</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="58"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="59"/> + <source>About</source> + <translation>جۅنۉندۅ</translation> + </message> +@@ -263,13 +263,13 @@ + <translation type="vanished">可用</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="227"/> +- <location filename="../../../plugins/system/about/about.cpp" line="233"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="228"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="234"/> + <source>Inactivated</source> + <translation>تەيلۅۅدۅ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="243"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="244"/> + <source>Activated</source> + <translation>قوزعوتۇلدۇ</translation> + </message> +@@ -313,7 +313,7 @@ + <context> + <name>AboutInterface</name> + <message> +- <location filename="../../../registeredSession/plugins/about/aboutinterface.cpp" line="226"/> ++ <location filename="../../../registeredSession/plugins/about/aboutinterface.cpp" line="238"/> + <source>avaliable</source> + <translation>ەسەپ ەمەس</translation> + </message> +@@ -321,174 +321,174 @@ + <context> + <name>AboutUi</name> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="32"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="33"/> + <source>System Summary</source> + <translation>ساامالىق قورتۇندۇ</translation> + <extra-contents_path>/About/System Summary</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="35"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="37"/> + <source>Privacy and agreement</source> + <translation>سىرلۇۇ جانا گەلىشىم</translation> + <extra-contents_path>/About/Privacy and agreement</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="37"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="40"/> + <source>Support</source> + <translation>قولدوش ، دەم بەرىش</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="51"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="381"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="55"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="399"/> + <source>Version</source> + <translation>باسماسى</translation> + <extra-contents_path>/About/version</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="56"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="61"/> + <source>Version Number</source> + <translation>باسما نومۇرۇ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="61"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="67"/> + <source>Patch Version</source> + <translation>ساامالىق يامىقىنىڭ باسما نومۇرۇ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="66"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="73"/> + <source>Installed Date</source> + <translation>ورنوتۇلعان ۇباقتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="71"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="79"/> + <source>Upgrade Date</source> + <translation>جاڭىلوو ۇباقتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="78"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="87"/> + <source>HostName</source> + <translation>كومپىيۇتەر ناامى</translation> + <extra-contents_path>/About/HostName</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="90"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="383"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="100"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="401"/> + <source>Kernel</source> + <translation>Kernel</translation> + <extra-contents_path>/About/Kernel</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="95"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="385"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="106"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="403"/> + <source>CPU</source> + <translation>CPU</translation> + <extra-contents_path>/About/CPU</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="100"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="387"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="112"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="405"/> + <source>Memory</source> + <translation>ىچكى ساقتاعىچ</translation> + <extra-contents_path>/About/Memory</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="105"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="118"/> + <source>Disk</source> + <translation>دىسكاز</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="110"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="389"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="124"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="407"/> + <source>Desktop</source> + <translation>ئۈستەلئۈستى</translation> + <extra-contents_path>/About/Desktop</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="115"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="391"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="130"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="409"/> + <source>User</source> + <translation>ىشتەتۉۉچۉ</translation> + <extra-contents_path>/About/User</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="123"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="139"/> + <source>Copyright ©%1 %2. All rights reserved.</source> + <translation>باسما ۇقۇعۇ©%1 %2. باردىق ۇقۇق ماقامى.</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="172"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="188"/> + <source>openKylin</source> + <translation>openKylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="169"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="185"/> + <source>KylinSoft</source> + <translation>KylinSoft</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="235"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="251"/> + <source>Wechat code scanning obtains HP professional technical support</source> + <translation>ئۈندىدار قۇپۇيا نومۇرۇن ىسكاننىردوو HP كەسپىي تەحنىكا جاقتان قولدوعوو ەە بولدۇ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="236"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="252"/> + <source>See more about Kylin Tianqi edu platform</source> + <translation>Kylin Tianqi edu سۇپاسى جۅنۉندۅ ىچكەلەي ، قۇنت قويۇپ بايانداما</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="256"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="272"/> + <source>Learn more HP user manual>></source> + <translation>HP ىشتەتۉۉچۉ قولدونموسۇن داعى ەلە كۅپ بىلىۋېلىڭ>></translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="261"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="277"/> + <source>See user manual>></source> + <translation>قولدونمو قوللانمىسىغا قاراڭ>></translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="339"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="356"/> + <source>Send optional diagnostic data</source> + <translation>ۅز ەركىنچە دىياگنوز ساندۇۇ بايانداماسى جولدوو</translation> +- <extra-contents_path>/About/Send optional diagnostic data</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="340"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="357"/> + <source>By sending us diagnostic data, improve the system experience and solve your problems faster</source> + <translation>دىياگنوز ساندۇۇ مالىماتتى بىزگە جولدوو ارقىلۇۇ، ساامالىق تەجرىبىسىنى جوعورۇ كۅتۅرۉپ، ماسەلەلەردى داعى ەلە تەز بىر تاراپ قىلۇۇ جاسوو ،اتقارۇۇ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="363"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="380"/> + <source><<Protocol>></source> + <translation>«سىناپ ىشتەتىلۉۉدۅ جاۋابكارلىقتىن كەچۈرۈم جاسوو ،اتقارۇۇ كەلىشىمى»</translation> + <extra-contents_path>/About/<<Protocol>></extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="364"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="382"/> + <source>and</source> + <translation>جانا</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="366"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="384"/> + <source><<Privacy>></source> + <translation>«ابونتتار سىرلۇۇ كەلىشىمى»</translation> + <extra-contents_path>/About/<<Privacy>></extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="393"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="411"/> + <source>Status</source> + <translation>ابالى</translation> + <extra-contents_path>/About/Status</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="395"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="413"/> + <source>Active</source> + <translation>اكتىپ</translation> + <extra-contents_path>/About/Active</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="396"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="415"/> + <source>Serial</source> + <translation>قاتار</translation> ++ <extra-contents_path>/About/Serial</extra-contents_path> + </message> + </context> + <context> +@@ -704,7 +704,7 @@ + </message> + <message> + <location filename="../../../plugins/devices/shortcut/addshortcutdialog.ui" line="348"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="266"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="265"/> + <source>Cancel</source> + <translation>ارعادان قالتىرىش</translation> + </message> +@@ -714,65 +714,65 @@ + <translation>ساقتوو</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="73"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="72"/> + <source>Add Shortcut</source> + <translation>قىسقارتۇۇ قوشۇۇ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="86"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="85"/> + <source>Please enter a shortcut</source> + <translation>بىر قىسقا جولدۇ كىرگىزىڭ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="224"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="223"/> + <source>Desktop files(*.desktop)</source> + <translation>Иш столунун файлдары(*.desktop)</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="265"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="264"/> + <source>select desktop</source> + <translation>ئۈستەلئۈستى تانداش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="302"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="323"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="334"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="301"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="322"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="333"/> + <source>Invalid application</source> + <translation>ەسەپ ەمەس ۅتۉنۉچ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="304"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="319"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="330"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="303"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="318"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="329"/> + <source>Shortcut conflict</source> + <translation>قىسقا جول توقۇنۇشۇ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="306"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="321"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="332"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="305"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="320"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="331"/> + <source>Invalid shortcut</source> + <translation>ەسەپ ەمەس قىسقا جول</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="309"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="316"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="337"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="308"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="315"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="336"/> + <source>Name repetition</source> + <translation>ات قايرا قايتالوو</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="343"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="342"/> + <source>Unknown error</source> + <translation>بەلگىسىز قاتاالىق</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="522"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="521"/> + <source>Shortcut cannot be empty</source> + <translation>قىسقا جولدۇ بوش ،بەكەر قويۇشقا بولبويت</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="526"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="525"/> + <source>Name cannot be empty</source> + <translation>اتتى بوش ،بەكەر قويۇشقا بولبويت</translation> + </message> +@@ -1060,7 +1060,7 @@ + <extra-contents_path>/Area/system language</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="639"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="642"/> + <source>Simplified Chinese</source> + <translation>جۅنۅكۅيلۅشتۉرۉلگۅن حانزۇ جازۇۇسۇ</translation> + </message> +@@ -1121,18 +1121,28 @@ + <translation>فرانسۇز تىلى (FR)</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="215"/> +- <location filename="../../../plugins/time-language/area/area.cpp" line="302"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="209"/> ++ <source>Arab (AE)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="210"/> ++ <source>Vietnam (VN)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="217"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="304"/> + <source>Solar calendar</source> + <translation>كۉن كالەندارى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="221"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="223"/> + <source>Monday</source> + <translation>دۉيشۉنبۉ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="222"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="224"/> + <source>Sunday</source> + <translation>جەكشەنبە</translation> + </message> +@@ -1142,104 +1152,114 @@ + <extra-contents_path>/Area/First Day Of Week</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="216"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="218"/> + <source>Lunar</source> + <translation>اي</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="233"/> +- <location filename="../../../plugins/time-language/area/area.cpp" line="384"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="235"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="386"/> + <source>12 Hours</source> + <translation>12 ساات</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="234"/> +- <location filename="../../../plugins/time-language/area/area.cpp" line="385"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="236"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="387"/> + <source>24 Hours</source> + <translation>24 ساات</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="366"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="368"/> + <source>MMMM dd, yyyy</source> + <translation>yyyy جىل MM اي dd كۉن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="369"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="371"/> + <source>MMMM d, yy</source> + <translation>yy جىل M اي d كۉن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="643"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="646"/> + <source>Tibetan</source> + <translation>تىبەت تىلى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="645"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="648"/> + <source>Kazaqa</source> + <translation>قازاق تىلى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="647"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="650"/> + <source>Uygur</source> + <translation>ۇيعۇرچا</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="649"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="652"/> + <source>Kirghiz</source> + <translation>قىرعىزچا</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="651"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="654"/> + <source>Traditional Chinese</source> + <translation>تاتاال حانزۇچا</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="653"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="656"/> + <source>Mongolian</source> + <translation>موڭعۇل تىلى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="655"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="658"/> + <source>German</source> + <translation>نەمىس تىلى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="657"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="660"/> + <source>Spanish</source> + <translation>ئسپان تىلى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="659"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="662"/> + <source>French</source> + <translation>فرانسۇز تىلى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="672"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="664"/> ++ <source>Arab</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="666"/> ++ <source>Vietnam</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="679"/> + <source>Modify the current region need to logout to take effect, whether to logout?</source> + <translation>ازىرقى رايوندوردۇ ۅزگـۅرتۉۉگـۅ تۇۇرا كەلسە، ۅنۉمۉن كۅرسۅتۉۉ كەرەكبى- جوق؟</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="673"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="680"/> + <source>Logout later</source> + <translation>كىيىن جانىش ، قايتىش</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="674"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="681"/> + <source>Logout now</source> + <translation>ازىر جانىش ، قايتىش</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="676"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="683"/> + <source>Modify the first language need to reboot to take effect, whether to reboot?</source> + <translation>1. تىلدى ۅزگۅرتۉش ارقىلۇۇ قايتادان قوزعوتۇشقا تۇۇرا گەلەت ، قايتادان قوزعولۇش كەرەكبى-جوق؟</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="677"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="684"/> + <source>Reboot later</source> + <translation>كىيىن قايرا قوزعوتۇڭ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="678"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="685"/> + <source>Reboot now</source> + <translation>ازىر قايرا قوزعوتۇڭ</translation> + </message> +@@ -1304,7 +1324,7 @@ + <translation type="vanished">区域格式数据</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="641"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="644"/> + <source>English</source> + <translation>ەنگىلىز تىلى</translation> + </message> +@@ -1343,31 +1363,31 @@ + <context> + <name>AreaUi</name> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="38"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="39"/> + <source>Regional Format</source> + <translation>رايون ،چۅلكۅم كەبەتەسى ، تۇرپاتى</translation> + <extra-contents_path>/Area/Regional Format</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="40"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="41"/> + <source>Calendar</source> + <translation>كالەندار</translation> + <extra-contents_path>/Area/Calendar</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="42"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="43"/> + <source>First Day Of Week</source> + <translation>اپتانىن بىرىنچى كۉنۉ</translation> + <extra-contents_path>/Area/First Day Of Week</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="45"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="46"/> + <source>Short Foramt Date</source> + <translation>قىسقا Foramt ۇباقتى</translation> + <extra-contents_path>/Area/Short Foramt Date</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="47"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="48"/> + <source>Long Format Date</source> + <translation>ۇزۇن فورمات ۇباقتى</translation> + <extra-contents_path>/Area/Long Format Date</extra-contents_path> +@@ -1377,25 +1397,24 @@ + <translation type="vanished">چىسلا</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="50"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="51"/> + <source>Time</source> + <translation>ۇباقىتتا</translation> + <extra-contents_path>/Area/Time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="63"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="64"/> + <source>Language Format</source> + <translation>تىل كەبەتەسى ، تۇرپاتى</translation> + <extra-contents_path>/Area/Language Format</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="74"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="76"/> + <source>Language Format Example</source> + <translation type="unfinished"></translation> +- <extra-contents_path>/Area/Language Format Example</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="103"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="106"/> + <source>System Language</source> + <translation>ساامالىق تىلى</translation> + <extra-contents_path>/Area/System Language</extra-contents_path> +@@ -1411,17 +1430,17 @@ + <context> + <name>AutoBoot</name> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="96"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="95"/> + <source>Auto Start</source> + <translation>اپتوماتتىك قوزعولۇش</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="293"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="292"/> + <source>Desktop files(*.desktop)</source> + <translation>Иш столунун файлдары(*.desktop)</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="301"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="300"/> + <source>select autoboot desktop</source> + <translation>اپتوماتتىك قوزعوتوتۇرعان شىرە بەتىن تانداش</translation> + </message> +@@ -1430,12 +1449,12 @@ + <translation type="obsolete">автобут иш столун тандоо</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="302"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="301"/> + <source>Select</source> + <translation>تانداش</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="303"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="302"/> + <source>Cancel</source> + <translation>ارعادان قالتىرىش</translation> + </message> +@@ -1474,7 +1493,7 @@ + <translation type="vanished">当前状态</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="231"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="230"/> + <source>Delete</source> + <translation>ۅچۉر</translation> + </message> +@@ -1487,13 +1506,13 @@ + <extra-contents_path>/Autoboot/Autoboot Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="17"/> ++ <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="18"/> + <source>Autostart Settings</source> + <translation>اپتوماتتىك قوزعوتۇۇ تەڭشەكتەرى</translation> + <extra-contents_path>/Autostart/Autostart Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="27"/> ++ <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="28"/> + <source>Add</source> + <translation>قوش</translation> + <extra-contents_path>/Autostart/Add</extra-contents_path> +@@ -2048,7 +2067,7 @@ Please authenticate yourself to continue</source> + <context> + <name>BrightnessFrame</name> + <message> +- <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="36"/> ++ <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="64"/> + <source>Failed to get the brightness information of this monitor</source> + <translation>بۇل كۉزۅتۉۉچۉنۉن جارىقتىق ۇچۇرۇنا ەە بولوالبادى</translation> + </message> +@@ -2664,47 +2683,47 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="158"/> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="307"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="309"/> + <source>Cancel</source> + <translation>ارعادان قالتىرىش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="161"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="162"/> + <source>Confirm</source> + <translation>بەكىتۉۉ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="302"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="304"/> + <source>select custom face file</source> + <translation>قاسىيەت جۉز ۅجۅتۉن تانداش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="303"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="305"/> + <source>Select</source> + <translation>تانداش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="304"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="306"/> + <source>Position: </source> + <translation>وردۇ: </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="305"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="307"/> + <source>FileName: </source> + <translation>ۅجۅت ناامى : </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="306"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="308"/> + <source>FileType: </source> + <translation>:ۅجۅت تۉرۉ </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="322"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="324"/> + <source>Warning</source> + <translation>دىققات</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="323"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="325"/> + <source>The avatar is larger than 1M, please choose again</source> + <translation>باش سۉرۅت 1M نان چوڭ، قايرا تانداڭ</translation> + </message> +@@ -2758,17 +2777,17 @@ Please authenticate yourself to continue</source> + <translation>تەخەللۇسلار</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="156"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="158"/> + <source>NickName's length must between 1~%1 characters!</source> + <translation>اتتىن ۇزۇندۇعۇ سۅزسۉز 1 ~ %1 تامعالار ورتوسۇندا بولۇۇسۇ كەرەك!</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="158"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="160"/> + <source>nickName already in use.</source> + <translation>تور ناامى ىشتەتىلىپ بولعون.</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="160"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="162"/> + <source>Can't contains ':'.</source> + <translation>':' نى ۅز ىچىنە الا البايت.</translation> + </message> +@@ -2794,7 +2813,7 @@ Please authenticate yourself to continue</source> + <translation>ارعادان قالتىرىش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="116"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="117"/> + <source>Confirm</source> + <translation>بەكىتۉۉ</translation> + </message> +@@ -2808,7 +2827,7 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="103"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="471"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="473"/> + <source>Current Pwd</source> + <translation>ازىرقى جاشىرۇۇن نومۇر</translation> + </message> +@@ -2819,15 +2838,15 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="136"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="472"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="480"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="474"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="482"/> + <source>New Pwd</source> + <translation>جاڭى ئىم</translation> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="163"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="473"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="481"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="475"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="483"/> + <source>Sure Pwd</source> + <translation>جاڭى جاشىرۇۇن نومۇردۇ بەكىتۉۉ</translation> + </message> +@@ -2837,50 +2856,50 @@ Please authenticate yourself to continue</source> + <translation>ارعادان قالتىرىش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="220"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="305"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="371"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="221"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="307"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="373"/> + <source>Confirm</source> + <translation>بەكىتۉۉ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="281"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="544"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="283"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="546"/> + <source>Inconsistency with pwd</source> + <translation>جاڭى جاشىرۇۇن نومۇر مەنەن وقشوش بولبودۇ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="301"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="303"/> + <source>Same with old pwd</source> + <translation>گۅنۅۅ ئىم مەنەن وقشوش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="354"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="356"/> + <source>Pwd Changed Succes</source> + <translation>جاشىرۇۇن نومۇردۇ ۅزگۅرتۉش مۇۋەپىقيەتلىك بولدۇ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="361"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="363"/> + <source>Authentication failed, input authtok again!</source> + <translation>!جاشىرۇۇن نومۇر كىرگىزۉۉ قاتاا، قايرا كىرگىزىڭ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="503"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="505"/> + <source>Contains illegal characters!</source> + <translation>!جۅرۅلگۅسۉنۅ قارشى تامعا-بەلگە بار</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="615"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="617"/> + <source>current pwd cannot be empty!</source> + <translation>!ازىرقى جاشىرۇۇن نومۇردۇ بوش ،بەكەر قويۇشقا بولبويت</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="620"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="622"/> + <source>new pwd cannot be empty!</source> + <translation>!جاڭى جاشىرۇۇن نومۇردۇ بوش ،بەكەر قويۇشقا بولبويت</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="625"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="627"/> + <source>sure pwd cannot be empty!</source> + <translation>!جاڭى جاشىرۇۇن نومۇردۇ جەزملەشتۈرۈشنى بوش ،بەكەر قويۇشقا بولبويت</translation> + </message> +@@ -3046,7 +3065,7 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/personalized/wallpaper/colordialog.ui" line="86"/> +- <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="89"/> ++ <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="88"/> + <source>Choose a custom color</source> + <translation>قاسىيەت تۉس تانداش</translation> + </message> +@@ -3071,12 +3090,12 @@ Please authenticate yourself to continue</source> + <translation>ماقۇل</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="94"/> ++ <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="93"/> + <source>Custom color</source> + <translation>قاسىيەت تۉس</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="182"/> ++ <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="181"/> + <source>Close</source> + <translation>ياپ</translation> + </message> +@@ -3098,18 +3117,18 @@ Please authenticate yourself to continue</source> + <translation>ات-تەك اتى</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="78"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="79"/> + <source>Id</source> + <translation>كۉبۅلۉك</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="92"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="94"/> + <source>Confirm</source> + <translation>بەكىتۉۉ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="202"/> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="216"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="205"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="219"/> + <source>GroupName's length must be between 1 and %1 characters!</source> + <translation>!توپ ناامىنىن ۇزۇندۇعۇ 1 نان %1 تۉن بولعون تامعا-بەلگە ارالىعىندا بولۇۇسۇ كەرەك</translation> + </message> +@@ -3130,7 +3149,7 @@ Please authenticate yourself to continue</source> + <translation type="vanished">组成员</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="89"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="90"/> + <source>Cancel</source> + <translation>ارعادان قالتىرىش</translation> + </message> +@@ -3139,7 +3158,7 @@ Please authenticate yourself to continue</source> + <translation type="vanished">Албетте</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="50"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="49"/> + <source>Add user group</source> + <translation>ابونتتار گۇرۇپپاسى قوشۇۇ</translation> + </message> +@@ -3497,19 +3516,19 @@ change system settings</source> + <translation>ارعادان قالتىرىش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="279"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="280"/> + <source>Confirm</source> + <translation>بەكىتۉۉ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="355"/> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="581"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="357"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="583"/> + <source>Inconsistency with pwd</source> + <translation>جاڭى جاشىرۇۇن نومۇر مەنەن وقشوش بولبودۇ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="494"/> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="647"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="496"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="649"/> + <source>NickName's length must between 1~%1 characters!</source> + <translation>اتتىن ۇزۇندۇعۇ سۅزسۉز 1 ~ %1 تامعالار ورتوسۇندا بولۇۇسۇ كەرەك!</translation> + </message> +@@ -3518,7 +3537,7 @@ change system settings</source> + <translation type="vanished">Ник аты бош болушу мүмкүн эмес</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="496"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="498"/> + <source>nickName already in use.</source> + <translation>تور ناامى ىشتەتىلىپ بولعون.</translation> + </message> +@@ -3527,17 +3546,17 @@ change system settings</source> + <translation type="vanished">никНам узундугу %1 тамгадан аз болушу керек!</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="642"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="644"/> + <source>Username's length must be between 1 and %1 characters!</source> + <translation>ىشتەتۉۉچۉ ناامىنىن ۇزۇندۇعۇ سۅزسۉز %1 مەنەن %1 تامعا ارالىعىندا بولۇۇسۇ كەرەك!</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="652"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="654"/> + <source>new pwd cannot be empty!</source> + <translation>!جاڭى جاشىرۇۇن نومۇردۇ بوش ،بەكەر قويۇشقا بولبويت</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="657"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="659"/> + <source>sure pwd cannot be empty!</source> + <translation>!جاڭى جاشىرۇۇن نومۇردۇ جەزملەشتۈرۈشنى بوش ،بەكەر قويۇشقا بولبويت</translation> + </message> +@@ -3566,7 +3585,7 @@ change system settings</source> + <translation type="vanished">该用户名已存在,请更改。</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="526"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="528"/> + <source>Name corresponds to group already exists.</source> + <translation>ات تەە مۇردا باربولۇۇسۇ بولۇپ بولعون توپقو شاي گەلەتۇرعان .</translation> + </message> +@@ -3579,12 +3598,12 @@ change system settings</source> + <translation type="vanished">用户名仅能包含字母,数字及下划线</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="522"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="524"/> + <source>Username's folder exists, change another one</source> + <translation>ىشتەتۉۉچۉ ناامىنىن ۅجۅت قىسقىچى باربولۇۇسۇ ، باشقا بىرسىن الماشتىر</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="551"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="553"/> + <source>Contains illegal characters!</source> + <translation>!جۅرۅلگۅسۉنۅ قارشى تامعا-بەلگە بار</translation> + </message> +@@ -3763,7 +3782,7 @@ change system settings</source> + <extra-contents_path>/Date/Sync Server</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="341"/> ++ <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="346"/> + <source>Add Timezone</source> + <translation>ۇباقىت رايونۇ قوشۇۇ</translation> + </message> +@@ -3826,8 +3845,8 @@ change system settings</source> + <translation type="vanished">Сактоо</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="201"/> +- <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="343"/> ++ <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="206"/> ++ <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="348"/> + <source>Change Timezone</source> + <translation>ۇباقىت رايونۇن ۅزگۅرتۉش</translation> + </message> +@@ -3855,37 +3874,37 @@ change system settings</source> + <context> + <name>DatetimeUi</name> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="53"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="54"/> + <source>Sync Server</source> + <translation>شاي قادامدا مۇلازىمەتىر</translation> + <extra-contents_path>/Date/Sync Server</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="75"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="77"/> + <source>Current Date</source> + <translation>گەزەكتەكى ۇباقتى</translation> + <extra-contents_path>/Date/Current Date</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="105"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="107"/> + <source>Timezone</source> + <translation>ۇباقىت رايونۇ</translation> + <extra-contents_path>/Date/Timezone</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="111"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="113"/> + <source>Set Time</source> + <translation>بەلگىلەنگەن ۇباقىت</translation> + <extra-contents_path>/Date/Set Time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="113"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="115"/> + <source>Manual Time</source> + <translation>قولدونمو ۇباقتى</translation> + <extra-contents_path>/Date/Manual Time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="115"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="117"/> + <source>Sync Time</source> + <translation>شاي قادام ۇباقتى</translation> + <extra-contents_path>/Date/Sync Time</extra-contents_path> +@@ -3896,55 +3915,55 @@ change system settings</source> + <extra-contents_path>/Date/Set Date Manually</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="127"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="129"/> + <source>Set Time Manually</source> + <translation type="unfinished"></translation> + <extra-contents_path>/Date/Set Time Manually</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="162"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="164"/> + <source>Server Address</source> + <translation>مۇلازىمەتىر دايىن وردۇ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="164"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="166"/> + <source>Required</source> + <translation>تالاپ جاسالات</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="165"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="167"/> + <source>Save</source> + <translation>ساقتوو</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="169"/> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="313"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="171"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="315"/> + <source>Customize</source> + <translation>قاسىيەتتەشتىرۉۉ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="197"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="199"/> + <source>Other Timezone</source> + <translation>باشقا ۇباقىت رايونۇ</translation> + <extra-contents_path>/Date/Other Timezone</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="269"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="271"/> + <source>MMMM d, yy ddd</source> + <translation>yy جىل M اي d كۉن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="271"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="273"/> + <source>MMMM dd, yyyy ddd</source> + <translation>yyyy جىل MM اي dd كۉن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="302"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="304"/> + <source>Sync failed</source> + <translation>شاي قادامدا جەڭىلۉۉ بولدۇ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="312"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="314"/> + <source>Default</source> + <translation>ويۇنداقى سۅز</translation> + </message> +@@ -4008,56 +4027,56 @@ change system settings</source> + <context> + <name>DefaultAppUi</name> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="17"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="18"/> + <source>DefaultAppWindow</source> + <comment>Select Default Application</comment> + <translation>كۅڭۉلدۅگۉدۅي قولدونۇش</translation> + <extra-contents_path>/Defaultapp/Select Default Application</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="21"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="22"/> + <source>Browser</source> + <translation>تور كۅرگۉچ</translation> + <extra-contents_path>/Defaultapp/Browser</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="23"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="24"/> + <source>Mail</source> + <translation>پوچتو جولدونموسۇ</translation> + <extra-contents_path>/Defaultapp/Mail</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="25"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="26"/> + <source>Image Viewer</source> + <translation>سۉرۅت كۅرگۉچ</translation> + <extra-contents_path>/Defaultapp/Image Viewer</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="27"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="28"/> + <source>Audio Player</source> + <translation>دوبۇش قويعۇچ</translation> + <extra-contents_path>/Defaultapp/Audio Player</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="29"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="30"/> + <source>Video Player</source> + <translation>ايىپ قويعۇچ</translation> + <extra-contents_path>/Defaultapp/Video Player</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="31"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="32"/> + <source>Text Editor</source> + <translation>تەكىست راداكسىيالاعىچ</translation> + <extra-contents_path>/Defaultapp/Text Editor</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="35"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="36"/> + <source>Reset default apps to system recommended apps</source> + <translation>ساامالىق كەڭەش اتقارىلعان ئەپلەرگە ويۇنداقى ئەپلەرنى قايرا بەكىتۉۉ</translation> + <extra-contents_path>/Defaultapp/Reset default apps to system recommended apps</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="36"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="37"/> + <source>Reset</source> + <translation>قايرا تەڭشە</translation> + </message> +@@ -4283,7 +4302,7 @@ folder will be deleted!</source> + <translation>'? داعى:</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="65"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="66"/> + <source>Keep desktop, files, favorites, music of the user</source> + <translation>شىرە بەتى، ۅجۅت، ئامراقلار، ابونىتتاردىن مۇزىكىسنى ساقتوو</translation> + </message> +@@ -4292,17 +4311,17 @@ folder will be deleted!</source> + <translation type="vanished">保留用户家目录</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="98"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="100"/> + <source>Cancel</source> + <translation>ارعادان قالتىرىش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="100"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="102"/> + <source>Confirm</source> + <translation>بەكىتۉۉ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="66"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="68"/> + <source>Delete whole data belong user</source> + <translation>پۉتۉن ساندۇۇ باياندامانى ۅچۉرۉۉ ىشتەتۉۉچۉگۅ تاان</translation> + </message> +@@ -4676,74 +4695,60 @@ folder will be deleted!</source> + <context> + <name>DisplayPerformanceDialog</name> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="26"/> + <source>Dialog</source> +- <translation>دىيالوگ</translation> ++ <translation type="vanished">دىيالوگ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="214"/> + <source>Display Advanced Settings</source> +- <translation>وزوت تەڭشەكتەردى كۅرسۅتۉۉ</translation> ++ <translation type="vanished">وزوت تەڭشەكتەردى كۅرسۅتۉۉ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="297"/> + <source>Performance</source> +- <translation>ويۇن قويۇش</translation> ++ <translation type="vanished">ويۇن قويۇش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="376"/> + <source>Applicable to machine with discrete graphics, which can accelerate the rendering of 3D graphics.</source> +- <translation>3D گىرافىكىنىڭ شەكىللىنىشىنى تېزلەتكىلى بولوت .</translation> ++ <translation type="vanished">3D گىرافىكىنىڭ شەكىللىنىشىنى تېزلەتكىلى بولوت .</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="392"/> + <source>(Note: not support connect graphical with xmanager on windows.)</source> +- <translation>(ەسكەرتۉۉ: windows داعى xmanager مەنەن گىرافىكىلىق جالعاشتى قولدوبويت.)</translation> ++ <translation type="vanished">(ەسكەرتۉۉ: windows داعى xmanager مەنەن گىرافىكىلىق جالعاشتى قولدوبويت.)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="462"/> + <source>Compatible</source> +- <translation>شايكەشتىرىلگەن</translation> ++ <translation type="vanished">شايكەشتىرىلگەن</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="538"/> + <source>Applicable to machine with integrated graphics, there is no 3D graphics acceleration. </source> +- <translation>توپتوشتۇرۇلعان گىرافىكىلىق ماشىناعا قولدونۇۇعا بولوت ، 3D گىرافىكىنىڭ تېزلىشى جوق. </translation> ++ <translation type="vanished">توپتوشتۇرۇلعان گىرافىكىلىق ماشىناعا قولدونۇۇعا بولوت ، 3D گىرافىكىنىڭ تېزلىشى جوق. </translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="554"/> + <source>(Note: need connect graphical with xmanager on windows, use this option.)</source> +- <translation>(ەسكەرتۉۉ: windows داعى xmanager مەنەن گىرافىكىلىق ۇلانۇۇعا اجات، بۇل تانداشتى ىشتەتىڭ.)</translation> ++ <translation type="vanished">(ەسكەرتۉۉ: windows داعى xmanager مەنەن گىرافىكىلىق ۇلانۇۇعا اجات، بۇل تانداشتى ىشتەتىڭ.)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="624"/> + <source>Automatic</source> +- <translation>اپتوماتتىك</translation> ++ <translation type="vanished">اپتوماتتىك</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="700"/> + <source>Auto select according to environment, delay the login time (about 0.5 sec).</source> +- <translation>مۇھىتقا نەگىزىنەن اپتوماتتىك تانداش ، كىرۉۉ ۇباقتىن كەچىكتىرۉۉ (بوجومول 0.5 سىكونت).</translation> ++ <translation type="vanished">مۇھىتقا نەگىزىنەن اپتوماتتىك تانداش ، كىرۉۉ ۇباقتىن كەچىكتىرۉۉ (بوجومول 0.5 سىكونت).</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="721"/> + <source>Threshold:</source> +- <translation>چەرچەن:</translation> ++ <translation type="vanished">چەرچەن:</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="744"/> + <source>Apply</source> +- <translation>ۅتۉنۉچ جاسوو ،اتقارۇۇ</translation> ++ <translation type="vanished">ۅتۉنۉچ جاسوو ،اتقارۇۇ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="757"/> + <source>Reset</source> +- <translation>قايرا تەڭشە</translation> ++ <translation type="vanished">قايرا تەڭشە</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="772"/> + <source>(Note: select this option to use 3D graphics acceleration and xmanager.)</source> +- <translation>(ەسكەرتۉۉ: 3D گرافىكىلارنى ىلدامداتىش جانا xmanager ىشتەتىش ۉچۉن بۇل تانداشتى تانداڭ.)</translation> ++ <translation type="vanished">(ەسكەرتۉۉ: 3D گرافىكىلارنى ىلدامداتىش جانا xmanager ىشتەتىش ۉچۉن بۇل تانداشتى تانداڭ.)</translation> + </message> + </context> + <context> +@@ -5831,132 +5836,132 @@ folder will be deleted!</source> + <context> + <name>KeyboardUi</name> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="24"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="30"/> + <source>Keyboard Settings</source> + <translation>كۇنۇپكا تاقتاسى تەڭشەكتەرى</translation> + <extra-contents_path>/Keyboard/Keyboard Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="35"/> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="167"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="41"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="173"/> + <source>Input Method</source> + <translation>كىيىرگىچ</translation> + <extra-contents_path>/Keyboard/Input Method</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="51"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="57"/> + <source>Virtual Keyboard</source> + <translation>جورۇما كۇنۇپكا تاقتاسى</translation> + <extra-contents_path>/Keyboard/Virtual Keyboard</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="106"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="112"/> + <source>Key repeat</source> + <translation>اچقىچ قايتالوو</translation> + <extra-contents_path>/Keyboard/Key repeat</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="114"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="120"/> + <source>Delay</source> + <translation>كەچىكتىرۉۉ</translation> + <extra-contents_path>/Keyboard/Delay</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="117"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="123"/> + <source>Short</source> + <translation>قىسقا</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="118"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="124"/> + <source>Long</source> + <translation>ۇزۇن</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="130"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="136"/> + <source>Speed</source> + <translation>تەزدىك</translation> + <extra-contents_path>/Keyboard/Speed</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="132"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="138"/> + <source>Slow</source> + <translation>اقىرىن</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="133"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="139"/> + <source>Fast</source> + <translation>تەز</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="144"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="150"/> + <source>Input test</source> + <translation>كىرگىزۉۉ سىنىعى</translation> + <extra-contents_path>/Keyboard/Input test</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="152"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="158"/> + <source>Key tips</source> + <translation>تۉيۉندۉۉ ەسكەرتۉۉ</translation> + <extra-contents_path>/Keyboard/Key tips</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="161"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="167"/> + <source>Input settings</source> + <translation>كىرگىزۉۉ تەڭشەكتەرى</translation> + <extra-contents_path>/Keyboard/Input settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="168"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="174"/> + <source>Edit</source> + <translation>تۅپتۅش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="175"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="181"/> + <source>Show icon on tray</source> + <translation>داستىكى شارتتۇۇ بەلگىنى كۅرسۅتۉۉ</translation> + <extra-contents_path>/Keyboard/Show icon on tray</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="182"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="188"/> + <source>Show icon on desktop</source> + <translation>شىرە بەتىندە شارتتۇۇ بەلگىنى كۆرسەت</translation> + <extra-contents_path>/Keyboard/Show icon on desktop</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="189"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="195"/> + <source>Keyboard Size</source> + <translation>كۇنۇپكا تاقتاسى چوڭدۇعۇ</translation> + <extra-contents_path>/Keyboard/Keyboard Size</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="197"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="203"/> + <source>Text size</source> + <translation>جازۇۇ چوڭدۇعۇ</translation> + <extra-contents_path>/Keyboard/Text size</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="199"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="205"/> + <source>Small</source> + <translation>كىچىك</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="200"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="206"/> + <source>Medium</source> + <translation>ورتوسۇ ابال</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="201"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="207"/> + <source>Large</source> + <translation>چوڭ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="207"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="213"/> + <source>Animation</source> + <translation>كارتون كىينوو ، فىلىم</translation> + <extra-contents_path>/Keyboard/Animation</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="214"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="220"/> + <source>Input sound effect</source> + <translation>دووش كىرگىزۉۉ ۅنۉمۉ</translation> + <extra-contents_path>/Keyboard/Input sound effect</extra-contents_path> +@@ -5965,12 +5970,12 @@ folder will be deleted!</source> + <context> + <name>LanguageFrame</name> + <message> +- <location filename="../../../plugins/time-language/area/languageframe.cpp" line="70"/> ++ <location filename="../../../plugins/time-language/area/languageframe.cpp" line="90"/> + <source>Input Settings</source> + <translation>كىرگىزۉۉ تەڭشەكتەرى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/languageframe.cpp" line="71"/> ++ <location filename="../../../plugins/time-language/area/languageframe.cpp" line="91"/> + <source>Delete</source> + <translation>ۅچۉر</translation> + </message> +@@ -6445,10 +6450,10 @@ Please retry or relogin!</source> + <translation type="vanished">设置</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="441"/> +- <location filename="../../mainwindow.cpp" line="459"/> +- <location filename="../../mainwindow.cpp" line="591"/> +- <location filename="../../mainwindow.cpp" line="949"/> ++ <location filename="../../mainwindow.cpp" line="475"/> ++ <location filename="../../mainwindow.cpp" line="493"/> ++ <location filename="../../mainwindow.cpp" line="625"/> ++ <location filename="../../mainwindow.cpp" line="979"/> + <source>Settings</source> + <translation>تەڭشەكتەر</translation> + </message> +@@ -6457,7 +6462,7 @@ Please retry or relogin!</source> + <translation type="vanished">Негизги меню</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="480"/> ++ <location filename="../../mainwindow.cpp" line="514"/> + <source>Minimize</source> + <translation>كىچىرەيتۉۉ</translation> + </message> +@@ -6466,7 +6471,7 @@ Please retry or relogin!</source> + <translation type="vanished">最大化/正常</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> ++ <location filename="../../mainwindow.cpp" line="156"/> + <source>Warnning</source> + <translation>ەسكەرتۉۉ</translation> + </message> +@@ -6475,8 +6480,8 @@ Please retry or relogin!</source> + <translation type="vanished">Нормалдуу</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="173"/> +- <location filename="../../mainwindow.cpp" line="481"/> ++ <location filename="../../mainwindow.cpp" line="177"/> ++ <location filename="../../mainwindow.cpp" line="515"/> + <source>Maximize</source> + <translation>ەڭ چوڭ چەككە</translation> + </message> +@@ -6485,22 +6490,22 @@ Please retry or relogin!</source> + <translation type="obsolete">开始菜单</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="170"/> ++ <location filename="../../mainwindow.cpp" line="174"/> + <source>Restore</source> + <translation>العاچىنا كەلتىرۉۉ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="453"/> ++ <location filename="../../mainwindow.cpp" line="487"/> + <source>Back home</source> + <translation>قايتۇۇ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="479"/> ++ <location filename="../../mainwindow.cpp" line="513"/> + <source>Option</source> + <translation>تاندالما</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="482"/> ++ <location filename="../../mainwindow.cpp" line="516"/> + <source>Close</source> + <translation>ياپ</translation> + </message> +@@ -6517,12 +6522,12 @@ Please retry or relogin!</source> + <translation type="vanished">سىندىرۇۇ ووزۇ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="592"/> ++ <location filename="../../mainwindow.cpp" line="626"/> + <source>Version: </source> + <translation>باسماسى : </translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="731"/> ++ <location filename="../../mainwindow.cpp" line="761"/> + <source>Specified</source> + <translation>بەلگىلەنگەن</translation> + </message> +@@ -6531,13 +6536,13 @@ Please retry or relogin!</source> + <translation type="vanished">控制面板</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="1082"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>Warning</source> + <translation>دىققات</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> +- <location filename="../../mainwindow.cpp" line="1082"/> ++ <location filename="../../mainwindow.cpp" line="156"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>This function has been controlled</source> + <translation>بۇل فۇنكىتسىيا تىزگىندۅۅ اتقارىلدى</translation> + </message> +@@ -7842,7 +7847,7 @@ Please retry or relogin!</source> + <translation>پرىنتىر</translation> + </message> + <message> +- <location filename="../../../plugins/devices/printer/printer.cpp" line="121"/> ++ <location filename="../../../plugins/devices/printer/printer.cpp" line="122"/> + <source>Printers</source> + <translation>پىرىنتېرلار</translation> + </message> +@@ -7859,22 +7864,22 @@ Please retry or relogin!</source> + <context> + <name>PrivacyDialog</name> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="11"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="12"/> + <source>Set</source> + <translation>بەلگىلۅۅ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="73"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="74"/> + <source>End User License Agreement and Privacy Policy Statement of openKylin</source> + <translation>سوڭعۇ ىشتەتكۉۉچۉلۅر ۇرۇقساتناماسى كەلىشىمى جانا سىرلۇۇ سىياساتى باياناتنامىسى openKylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="75"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="76"/> + <source>End User License Agreement and Privacy Policy Statement of Kylin</source> + <translation>سوڭعۇ ىشتەتكۉۉچۉلۅر ۇرۇقساتناماسى كەلىشىمى جانا 0 سىرلۇۇ سىياساتى باياناتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="81"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="82"/> + <source>openKylin Community.</source> + <translation>openKylin مەھەللىسى.</translation> + </message> +@@ -8825,7 +8830,7 @@ E-mail: support@kylinos.cn</source> + 长沙(0731)88280170 上海(021)51098866</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="83"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="84"/> + <source>Kylinsoft Co., Ltd.</source> + <translation>جۇمشاق تەتىك چەكتۉۉ شەركەتى Kylin</translation> + </message> +@@ -9195,7 +9200,7 @@ E-mail: support@kylinos.cn</source> + <translation>قىسقا جولدۇ تەڭشۅۅ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="472"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="474"/> + <source>Edit Shortcut</source> + <translation>قىسقارتىلما جولدۇ تۅپتۅش</translation> + </message> +@@ -9325,7 +9330,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">远程桌面</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="75"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="78"/> + <source>User Info</source> + <translation>ىشتەتۉۉچۉ ۇچۇرۇ</translation> + </message> +@@ -9546,17 +9551,17 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Күн</translation> + </message> + <message> +- <location filename="../../main.cpp" line="100"/> ++ <location filename="../../main.cpp" line="104"/> + <source>ukui-control-center is disabled!</source> + <translation>ukui تىزگىندۅۅ بوربورۇ مېيىپ!</translation> + </message> + <message> +- <location filename="../../main.cpp" line="128"/> ++ <location filename="../../main.cpp" line="132"/> + <source>ukui-control-center</source> + <translation>ukui-تىزگىندۅۅ -بوربورۇ</translation> + </message> + <message> +- <location filename="../../main.cpp" line="89"/> ++ <location filename="../../main.cpp" line="93"/> + <source>ukui-control-center is already running!</source> + <translation>ukui تىزگىندۅۅ جاسوو ،اتقارۇۇ بوربورۇ تەە مۇردا ئىجرادا!</translation> + </message> +@@ -9697,63 +9702,63 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">连接失败,尝试重新连接</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1221"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1201"/> + <source>min length %1 + </source> + <translation>min ۇزۇندۇعۇ %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1231"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1211"/> + <source>min digit num %1 + </source> + <translation>مىڭ وورۇندۇ num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1240"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1220"/> + <source>min upper num %1 + </source> + <translation>min ۉستۉنكۉ num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1249"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1229"/> + <source>min lower num %1 + </source> + <translation>min تۅمۅن num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1258"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1238"/> + <source>min other num %1 + </source> + <translation>min باشقا num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1268"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1248"/> + <source>min char class %1 + </source> + <translation>min char سىنىپى %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1277"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1257"/> + <source>max repeat %1 + </source> + <translation>max قايرا قايتالوو %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1286"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1266"/> + <source>max class repeat %1 + </source> + <translation>ەڭ چوڭ دەرسى قايتالوو %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1295"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1275"/> + <source>max sequence %1 + </source> + <translation>ەڭ چوڭ تارتىپ %1 +@@ -9772,7 +9777,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">xxx客户端</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="373"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="372"/> + <source>Programs are not allowed to be added.</source> + <translation>پىروگىراممالاردىن قوشۇلۇشىغا جول قويۇلبايت.</translation> + </message> +@@ -9830,9 +9835,8 @@ E-mail: support@kylinos.cn</source> + <context> + <name>Screenlock</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="32"/> + <source>Screenlock</source> +- <translation>ەكىران قۇلۇپى</translation> ++ <translation type="vanished">ەكىران قۇلۇپى</translation> + </message> + <message> + <source>Screenlock Interface</source> +@@ -9952,9 +9956,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">2х</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="172"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> +- <translation>تام قاعازى ۅجۅتتۅرۉ(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> ++ <translation type="vanished">تام قاعازى ۅجۅتتۅرۉ(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> + <message> + <source>allFiles(*.*)</source> +@@ -9993,131 +9996,107 @@ E-mail: support@kylinos.cn</source> + <translation type="obsolete">1хур {3h?}</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="213"/> + <source>select custom wallpaper file</source> +- <translation>قاسىيەت تام قاعازى ۅجۅتۉن تانداش</translation> ++ <translation type="vanished">قاسىيەت تام قاعازى ۅجۅتۉن تانداش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="214"/> + <source>Select</source> +- <translation>تانداش</translation> ++ <translation type="vanished">تانداش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="215"/> + <source>Position: </source> +- <translation>وردۇ: </translation> ++ <translation type="vanished">وردۇ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="216"/> + <source>FileName: </source> +- <translation>ۅجۅت ناامى : </translation> ++ <translation type="vanished">ۅجۅت ناامى : </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="217"/> + <source>FileType: </source> +- <translation>:ۅجۅت تۉرۉ </translation> ++ <translation type="vanished">:ۅجۅت تۉرۉ </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="218"/> + <source>Cancel</source> +- <translation>ارعادان قالتىرىش</translation> ++ <translation type="vanished">ارعادان قالتىرىش</translation> + </message> + </context> + <context> + <name>ScreenlockUi</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="41"/> + <source>Show picture of screenlock on screenlogin</source> +- <translation>كۅرسۅتۉۉ ئېكرانىدىكى تام قاعازى كىرۉۉ كۅرۉنمۅ بەتىندە</translation> ++ <translation type="vanished">كۅرسۅتۉۉ ئېكرانىدىكى تام قاعازى كىرۉۉ كۅرۉنمۅ بەتىندە</translation> + <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="44"/> + <source>Leave lock (System will be locked when the paired phone gone)</source> +- <translation>قۇلۇپنى قالتىرىپ قويۇش (بىر جۇپ ەسەپتەمەك جوعولۇپ كەتكەندە ساامالىق قۇلۇپلىنىدۇ)</translation> ++ <translation type="vanished">قۇلۇپنى قالتىرىپ قويۇش (بىر جۇپ ەسەپتەمەك جوعولۇپ كەتكەندە ساامالىق قۇلۇپلىنىدۇ)</translation> + <extra-contents_path>/Screenlock/Leave lock (System will be locked when the paired phone gone)</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="45"/> + <source>Specified device</source> +- <translation>بەلگىلەنگەن شايمان</translation> ++ <translation type="vanished">بەلگىلەنگەن شايمان</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="46"/> + <source>No paired phone. Please turn to 'Bluetooth' to pair.</source> +- <translation>جۇپ تەلەفون جوق 'كۆكچىش' نى قوشۇۋېلىپ قوشۇڭ.</translation> ++ <translation type="vanished">جۇپ تەلەفون جوق 'كۆكچىش' نى قوشۇۋېلىپ قوشۇڭ.</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="66"/> + <source>Screenlock</source> +- <translation>ەكىران قۇلۇپى</translation> ++ <translation type="vanished">ەكىران قۇلۇپى</translation> + <extra-contents_path>/Screenlock/Screenlock</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="96"/> + <source>Local Pictures</source> +- <translation>جەردىك سۉرۅتتۅر</translation> ++ <translation type="vanished">جەردىك سۉرۅتتۅر</translation> + <extra-contents_path>/Screenlock/Local Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="98"/> + <source>Online Pictures</source> +- <translation>توردوعۇ سۉرۅتتۅر</translation> ++ <translation type="vanished">توردوعۇ سۉرۅتتۅر</translation> + <extra-contents_path>/Screenlock/Online Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="100"/> + <source>Reset To Default</source> +- <translation>سۈكۈتكە قايتاي</translation> ++ <translation type="vanished">سۈكۈتكە قايتاي</translation> + <extra-contents_path>/Screenlock/Reset To Default</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="112"/> + <source>Bluetooth</source> +- <translation>كۆكچىش</translation> ++ <translation type="vanished">كۆكچىش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="117"/> + <source>No bluetooth adapter detected, can not use Leave Lock.</source> +- <translation>كۆكچىش شايكەشتىرگىچ بايقالبادى، Leave Lock نى ىشتەتكەلى بولبويت .</translation> ++ <translation type="vanished">كۆكچىش شايكەشتىرگىچ بايقالبادى، Leave Lock نى ىشتەتكەلى بولبويت .</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="136"/> + <source>Monitor Off</source> +- <translation>كۉزۅتكۉچتۉ ۅچۉرۉۉ</translation> ++ <translation type="vanished">كۉزۅتكۉچتۉ ۅچۉرۉۉ</translation> + <extra-contents_path>/Screenlock/Monitor Off</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="138"/> + <source>Screensaver</source> +- <translation>ەكىران قورعوو</translation> ++ <translation type="vanished">ەكىران قورعوو</translation> + <extra-contents_path>/Screenlock/Screensaver</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="141"/> + <source>Related Settings</source> +- <translation>بايلانىشتۇۇ تەڭشەكتەر</translation> ++ <translation type="vanished">بايلانىشتۇۇ تەڭشەكتەر</translation> + <extra-contents_path>/Screenlock/Related Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="147"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="148"/> + <source>Set</source> +- <translation>بەلگىلۅۅ</translation> ++ <translation type="vanished">بەلگىلۅۅ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="163"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="530"/> + <source>Please select device</source> +- <translation>اسپاپتى تانداڭ</translation> ++ <translation type="vanished">اسپاپتى تانداڭ</translation> + </message> + </context> + <context> + <name>Screensaver</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="37"/> + <source>Screensaver</source> +- <translation>ەكىران قورعوو</translation> ++ <translation type="vanished">ەكىران قورعوو</translation> + </message> + <message> + <source>Idle time</source> +@@ -10170,46 +10149,36 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Эс алуу убактысын көрсөтүү</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>UKUI</source> +- <translation>UKUI</translation> ++ <translation type="vanished">UKUI</translation> + </message> + <message> + <source>Blank_Only</source> + <translation type="vanished">Blank_Only</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>Customize</source> +- <translation>قاسىيەتتەشتىرۉۉ</translation> ++ <translation type="vanished">قاسىيەتتەشتىرۉۉ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>5min</source> +- <translation>بەش مىنۇت</translation> ++ <translation type="vanished">بەش مىنۇت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>10min</source> +- <translation>ون مىنۇت</translation> ++ <translation type="vanished">ون مىنۇت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>15min</source> +- <translation>15 مىنۇت</translation> ++ <translation type="vanished">15 مىنۇت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>30min</source> +- <translation>ئوتتۇز مىنۇت</translation> ++ <translation type="vanished">ئوتتۇز مىنۇت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>1hour</source> +- <translation>بىر ساات</translation> ++ <translation type="vanished">بىر ساات</translation> + </message> + <message> + <source>Screensaver source</source> +@@ -10248,10 +10217,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Убакытты алмаштыруу</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="168"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>1min</source> +- <translation>بىر مىنۇت</translation> ++ <translation type="vanished">بىر مىنۇت</translation> + </message> + <message> + <source>Ordinal</source> +@@ -10318,128 +10285,105 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Кокусунан</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>Never</source> +- <translation>تۉبۅلۉك</translation> ++ <translation type="vanished">تۉبۅلۉك</translation> + </message> + </context> + <context> + <name>ScreensaverUi</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="40"/> + <source>Screensaver</source> +- <translation>ەكىران قورعوو</translation> ++ <translation type="vanished">ەكىران قورعوو</translation> + <extra-contents_path>/Screensaver/Screensaver</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="53"/> + <source>Idle time</source> +- <translation>بەكەر ۇباقتى</translation> ++ <translation type="vanished">بەكەر ۇباقتى</translation> + <extra-contents_path>/Screensaver/Idle time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="55"/> + <source>Screensaver program</source> +- <translation>ەكىران قورعوو پراگرامماسى</translation> ++ <translation type="vanished">ەكىران قورعوو پراگرامماسى</translation> + <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="87"/> + <source>Screensaver source</source> +- <translation>ەكىران بەتى قاينارى</translation> ++ <translation type="vanished">ەكىران بەتى قاينارى</translation> + <extra-contents_path>/Screensaver/Screensaver source</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="92"/> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="455"/> + <source>Select</source> +- <translation>تانداش</translation> ++ <translation type="vanished">تانداش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="113"/> + <source>Ordinal</source> +- <translation>جۅرۅلگۅلۉ</translation> ++ <translation type="vanished">جۅرۅلگۅلۉ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="114"/> + <source>Random</source> +- <translation>ۅز ەركىنچە</translation> ++ <translation type="vanished">ۅز ەركىنچە</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="121"/> + <source>Random switching</source> +- <translation>قاالاعانچا الماشتىرۇۇ</translation> ++ <translation type="vanished">قاالاعانچا الماشتىرۇۇ</translation> + <extra-contents_path>/Screensaver/Random switching</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="141"/> + <source>Switching time</source> +- <translation>الماشتىرۇۇ ۇباقتى</translation> ++ <translation type="vanished">الماشتىرۇۇ ۇباقتى</translation> + <extra-contents_path>/Screensaver/Switching time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="160"/> + <source>Text(up to 30 characters):</source> +- <translation>تەكىست(ەڭ كۅپ بولعوندو 30 تامعا):</translation> ++ <translation type="vanished">تەكىست(ەڭ كۅپ بولعوندو 30 تامعا):</translation> + <extra-contents_path>/Screensaver/Text(up to 30 characters):</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="183"/> + <source>Text position</source> +- <translation>تەكىست وردۇ</translation> ++ <translation type="vanished">تەكىست وردۇ</translation> + <extra-contents_path>/Screensaver/Text position</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="191"/> + <source>Centered</source> +- <translation>بوربور اتقارىلعان</translation> ++ <translation type="vanished">بوربور اتقارىلعان</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="192"/> + <source>Randow(Bubble text)</source> +- <translation>ۅزەركى مەنەن(كۆپۈكچە تەكىست)</translation> ++ <translation type="vanished">ۅزەركى مەنەن(كۆپۈكچە تەكىست)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="214"/> + <source>Show rest time</source> +- <translation>ەس الۇۇ الۇۇ ۇباقتىن كۅرسۅتۉۉ</translation> ++ <translation type="vanished">ەس الۇۇ الۇۇ ۇباقتىن كۅرسۅتۉۉ</translation> + <extra-contents_path>/Screensaver/Show rest time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="224"/> + <source>Lock screen when screensaver boot</source> +- <translation>ەكراندى كۅزۅنۅك جابۇۇدا ەكراندى قۇلۇپتوو</translation> ++ <translation type="vanished">ەكراندى كۅزۅنۅك جابۇۇدا ەكراندى قۇلۇپتوو</translation> + <extra-contents_path>/Screensaver/Lock screen when screensaver boot</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="413"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</source> +- <translation>تام قاعازى ۅجۅتتۅرۉ(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> ++ <translation type="vanished">تام قاعازى ۅجۅتتۅرۉ(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="454"/> + <source>select custom screensaver dir</source> +- <translation>قاسىيەت ەكىران كۅرگۉچتۉ تانداش</translation> ++ <translation type="vanished">قاسىيەت ەكىران كۅرگۉچتۉ تانداش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="456"/> + <source>Position: </source> +- <translation>وردۇ: </translation> ++ <translation type="vanished">وردۇ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="457"/> + <source>FileName: </source> +- <translation>ۅجۅت ناامى : </translation> ++ <translation type="vanished">ۅجۅت ناامى : </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="458"/> + <source>FileType: </source> +- <translation>:ۅجۅت تۉرۉ </translation> ++ <translation type="vanished">:ۅجۅت تۉرۉ </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="459"/> + <source>Cancel</source> +- <translation>ارعادان قالتىرىش</translation> ++ <translation type="vanished">ارعادان قالتىرىش</translation> + </message> + </context> + <context> +@@ -10819,81 +10763,82 @@ E-mail: support@kylinos.cn</source> + <context> + <name>ShortcutUi</name> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="33"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="34"/> + <source>System Shortcut</source> + <translation>ساامالىق قىسقارتۇۇ جولۇ</translation> + <extra-contents_path>/Shortcut/System Shortcut</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="46"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="47"/> + <source>Customize Shortcut</source> + <translation>قىسقا جولدۇ تەڭشۅۅ</translation> + <extra-contents_path>/Shortcut/Customize Shortcut</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="77"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="81"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="98"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="102"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="180"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="269"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="79"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="83"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="100"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="104"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="182"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="271"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="483"/> + <source>Null</source> + <translation>جوق</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="230"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="362"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="605"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="232"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="364"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="619"/> + <source>Cancel</source> + <translation>ارعادان قالتىرىش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="231"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="363"/> + <source>Use</source> +- <translation>ىشتەتىش</translation> ++ <translation type="vanished">ىشتەتىش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="232"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="364"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="607"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="234"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="366"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="621"/> + <source>Shortcut key conflict, use it?</source> + <translation>قىسقا جول اچقىچ توقۇنۇشۇ، ىشتەتەسىزبى؟</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="233"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="365"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="235"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="367"/> + <source>%1 occuied, using this combination will invalidate %2</source> + <translation>%1 قوشۇلدۇ، بۇل بىرىكمە ارقىلۇۇ %2 ەسەپ ەمەس بولوت</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="256"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="395"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="258"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="397"/> + <source>Shortcut "%1" occuied, please change the key combination</source> + <translation>قىسقا جول «%1» نى ۅزگۅرتۉڭ، كۇنۇپكا قۇرالماسى الماشتىرىڭ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="447"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="449"/> + <source>Edit</source> + <translation>تۅپتۅش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="448"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="450"/> + <source>Delete</source> + <translation>ۅچۉر</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="606"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="233"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="365"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="620"/> + <source>Continue</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="608"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="622"/> + <source>"%1" occuied, using this combination will invalidate "%2".</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="648"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="662"/> + <source> or </source> + <translation> كۅرۉنۉشتۅرۉ </translation> + </message> +@@ -10991,7 +10936,7 @@ E-mail: support@kylinos.cn</source> + <translation>جۅنۉندۅ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/statusdialog.cpp" line="59"/> ++ <location filename="../../../plugins/system/about/statusdialog.cpp" line="60"/> + <source>Activation Code</source> + <translation>قوزعوتۇۇ قۇپۇيا نومۇرۇ</translation> + </message> +@@ -11409,117 +11354,117 @@ E-mail: support@kylinos.cn</source> + <extra-contents_path>/Theme/Theme Mode</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="111"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="534"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="108"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="539"/> + <source>Theme</source> + <translation>ۇسلۇپ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="188"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="186"/> + <source>Default</source> + <translation>ويۇنداقى سۅز</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="184"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="182"/> + <source>Light</source> + <translation>نۇر</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="184"/> + <source>Dark</source> + <translation>قاراڭغۇلۇق</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="190"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="188"/> + <source>Auto</source> + <translation>اپتوماتتىك</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="423"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="426"/> + <source>Corlor</source> + <translation>تەكىتلەنگەن تۉس</translation> + <extra-contents_path>/Theme/Corlor</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="608"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="614"/> + <source>Other</source> + <translation>باشقا</translation> + <extra-contents_path>/Theme/Other</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="613"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="617"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="619"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="623"/> + <source>Set</source> + <translation>بەلگىلۅۅ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="611"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="617"/> + <source>Wallpaper</source> + <translation>تام قاعازى</translation> + <extra-contents_path>/Theme/Wallpaper</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="224"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="223"/> + <source>Corner</source> + <translation>بۇرچ</translation> + <extra-contents_path>/Theme/Corner</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="230"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="229"/> + <source>Right angle</source> + <translation>وڭ بۇرچ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="231"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="230"/> + <source>Small</source> + <translation>كىچىك</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="232"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="231"/> + <source>Big</source> + <translation>چوڭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="615"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="621"/> + <source>Beep</source> + <translation>بىت-چىت</translation> + <extra-contents_path>/Theme/Beep</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="963"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="972"/> + <source>Blue-Crystal</source> + <translation>كۅك كىرىستال</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="965"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1049"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="974"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1058"/> + <source>Light-Seeking</source> + <translation>جارىقتىق ئىزدەيمەن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="967"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="976"/> + <source>DMZ-Black</source> + <translation>تەگ قارا</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="969"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="978"/> + <source>DMZ-White</source> + <translation>تەگ اق</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="971"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="980"/> + <source>Dark-Sense</source> + <translation>زۇلمەتلىك سەزگۈ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1045"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1049"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1055"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1054"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1058"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1064"/> + <source>basic</source> + <translation>نەگىزگى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1047"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1056"/> + <source>Classic</source> + <translation>نادىر ىر – كىينوو ، فىلىم</translation> + </message> +@@ -11532,57 +11477,57 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">时尚</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1053"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1062"/> + <source>hp</source> + <translation>خۈيپۇ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1055"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1064"/> + <source>ukui</source> + <translation>ukui</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1051"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1060"/> + <source>HeYin</source> + <translation>خېيىن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1047"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1056"/> + <source>classic</source> + <translation>نادىر</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1057"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1066"/> + <source>daybreakBlue</source> + <translation>كۅك</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1059"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1068"/> + <source>jamPurple</source> + <translation>كۉلگۉن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1061"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1070"/> + <source>magenta</source> + <translation>ئەتىرگۈل قىزىلى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1063"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1072"/> + <source>sunRed</source> + <translation>قىزىل</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1065"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1074"/> + <source>sunsetOrange</source> + <translation>قىزغۇچ سارى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1067"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1076"/> + <source>dustGold</source> + <translation>التىن تۉس</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1069"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1078"/> + <source>polarGreen</source> + <translation>جاشىل</translation> + </message> +@@ -11595,13 +11540,13 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">中</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="248"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="247"/> + <source>Window Theme</source> + <translation>كۅزۅنۅك ۇسلۇبۇ</translation> + <extra-contents_path>/Theme/Window Theme</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="250"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="249"/> + <source>Icon Theme</source> + <translation>سىنبەلگىلىك ۇسلۇپ</translation> + <extra-contents_path>/Theme/Icon Theme</extra-contents_path> +@@ -11611,19 +11556,19 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Теманы башкаруу</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="253"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="252"/> + <source>Cursor Theme</source> + <translation>Cursor ۇسلۇبۇ</translation> + <extra-contents_path>/Theme/Cursor Theme</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="215"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="214"/> + <source>Effect Setting</source> + <translation>ۅنۉم تەڭشەگى</translation> + <extra-contents_path>/Theme/Effect Setting</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="222"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="221"/> + <source>Transparency</source> + <translation>تۇنۇقتۇق</translation> + <extra-contents_path>/Theme/Transparency</extra-contents_path> +@@ -11633,7 +11578,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">透明特效</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="220"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="219"/> + <source>Performance mode</source> + <translation>اتقارماق جاسوو ،اتقارۇۇ كەبەتەسى ، تۇرپاتى</translation> + <extra-contents_path>/Theme/Performance mode</extra-contents_path> +@@ -11662,27 +11607,27 @@ E-mail: support@kylinos.cn</source> + <context> + <name>TimeBtn</name> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="106"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="107"/> + <source>Tomorrow</source> + <translation>ئەتە</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="108"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="109"/> + <source>Yesterday</source> + <translation>كەچە</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="110"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="111"/> + <source>Today</source> + <translation>تارىق -بۉگۉن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="128"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="129"/> + <source>%1 hours earlier than local</source> + <translation>يەرلىكتىن %1 ساات مۇرۇن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="130"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="131"/> + <source>%1 hours later than local</source> + <translation>يەرلىكتىن %1 ساات كىيىن</translation> + </message> +@@ -11690,12 +11635,12 @@ E-mail: support@kylinos.cn</source> + <context> + <name>TimeZoneChooser</name> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="35"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="34"/> + <source>Cancel</source> + <translation>ارعادان قالتىرىش</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="37"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="36"/> + <source>Confirm</source> + <translation>بەكىتۉۉ</translation> + </message> +@@ -11704,7 +11649,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">更改时区</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="33"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="32"/> + <source>Search Timezone</source> + <translation>ىزدۅۅ ۇباقىت رايونۇ</translation> + </message> +@@ -11713,7 +11658,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">搜索时区</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="64"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="63"/> + <source>To select a time zone, please click where near you on the map and select a city from the nearest city</source> + <translation>ۇباقىت رايونۇن تانداش ۉچۉن خەرىتىدىكى ۅزۉڭۉزدۉن جانىنداعى جەردى چەگىپ، ەڭ جاقىن شاار ، قاالا دىن شاار ، قاالا تانداڭ</translation> + </message> +@@ -11726,7 +11671,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">更改时区</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="40"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="39"/> + <source>Change Timezone</source> + <translation>ۇباقىت رايونۇن ۅزگۅرتۉش</translation> + </message> +@@ -11903,12 +11848,12 @@ E-mail: support@kylinos.cn</source> + <translation>بەلگىلۅۅ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/trialdialog.cpp" line="37"/> ++ <location filename="../../../plugins/system/about/trialdialog.cpp" line="38"/> + <source>Yinhe Kylin OS(Trail Version) Disclaimer</source> + <translation>سامان جولۇ 0 (ئىز ۉلگۉسۉ ) نى ۉيرۅتكۉۉچۉ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/trialdialog.cpp" line="46"/> ++ <location filename="../../../plugins/system/about/trialdialog.cpp" line="47"/> + <source>Dear customer: + Thank you for trying Yinhe Kylin OS(trail version)! This version is free for users who only try out, no commercial purpose is permitted. The trail period lasts one year and it starts from the ex-warehouse time of the OS. No after-sales service is provided during the trail stage. If any security problems occurred when user put important files or do any commercial usage in system, all consequences are taken by users. Kylin software Co., Ltd. take no legal risk in trail version. + During trail stage,if you want any technology surpport or activate the system, please buy“Yinhe Kylin Operating System”official version or authorization by contacting 400-089-1870.</source> +@@ -11925,7 +11870,7 @@ E-mail: support@kylinos.cn</source> + 在试用过程中,如希望激活或者得到专业的技术服务支持,请您购买“银河麒麟操作系统”正式版本或授权,联系方式如下:400-089-1870。</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/trialdialog.cpp" line="60"/> ++ <location filename="../../../plugins/system/about/trialdialog.cpp" line="61"/> + <source>Kylin software Co., Ltd.</source> + <translation>Kylin جۇمشاق تەتىك چەكتۉۉ شەركەتى</translation> + </message> +@@ -12350,12 +12295,12 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">管理员用户</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1088"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1043"/> + <source>root</source> + <translation>جىلدىز</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1056"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1011"/> + <source>Hint</source> + <translation>ەسكەرتۉۉ</translation> + </message> +@@ -12364,32 +12309,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">更改账户类型需要注销后生效,是否注销?</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="956"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="911"/> + <source>The account type of “%1” has been modified, will take effect after logout, whether to logout?</source> + <translation>«%1» نىڭ ەسابات تۉرۉ ۅزگۅرتۉلدۉ، چەگىنگەندەن كىيىن كۉچۉنۅ ەە بولموق بولوبۇ- جوق؟</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="957"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="912"/> + <source>logout later</source> + <translation>كىيىن جانىش ، قايتىش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="958"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="913"/> + <source>logout now</source> + <translation>ازىر جانىش ، قايتىش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1057"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1012"/> + <source>The system only allows one user to log in automatically.After it is turned on, the automatic login of other users will be turned off.Is it turned on?</source> + <translation>ساامالىق جالاڭ عانا بىر ەلە كەرەكتۅچۉنۉن اپتوماتتىك كىرەلىشىگە جول قويوت . ئېچىۋېتىلگەندىن كىيىن باشقا ابونىتتاردىن اپتوماتتىك كىرۉۉسۉ ۅچۉرۉلەت . اچىلىپ كەتتىبى؟</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1060"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1015"/> + <source>Trun on</source> + <translation>Trun on</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1061"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1016"/> + <source>Close on</source> + <translation>جابۇۇ</translation> + </message> +@@ -12406,12 +12351,12 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">验证</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1084"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1039"/> + <source>Standard</source> + <translation>ۅلچۅم</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1086"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1041"/> + <source>Admin</source> + <translation>باشقارعۇۇچۇ</translation> + </message> +@@ -12420,13 +12365,13 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">删除</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="161"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="170"/> + <source>CurrentUser</source> + <translation>گەزەكتەكى ىشتەتۉۉچۉ</translation> + <extra-contents_path>/Userinfo/CurrentUser</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="167"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="176"/> + <source>OthersUser</source> + <translation>باشقا ىشتەتۉۉچۉ</translation> + <extra-contents_path>/Userinfo/OthersUser</extra-contents_path> +@@ -12436,36 +12381,36 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Сырсөз</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="209"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="218"/> + <source>Groups</source> + <translation>گۇرۇپپالار</translation> + <extra-contents_path>/Userinfo/Groups</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="261"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="270"/> + <source>AutoLoginOnBoot</source> + <translation>اپتوماتتىك كىرۉۉنۉ ئچىپ جىبەرۉۉ</translation> + <extra-contents_path>/Userinfo/AutoLoginOnBoot</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="256"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="265"/> + <source>LoginWithoutPwd</source> + <translation>جاشىرۇۇن نومۇرسۇز كىرۉۉ</translation> + <extra-contents_path>/Userinfo/LoginWithoutPwd</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="169"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="178"/> + <source>Add</source> + <translation>قوش</translation> + <extra-contents_path>/Userinfo/Add</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="570"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="540"/> + <source>Warning</source> + <translation>دىققات</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="570"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="540"/> + <source>The user is logged in, please delete the user after logging out</source> + <translation>كەرەكتۅۅچۉ تىزىمدەتىپ كىردى، تىزىمدەتىپ كىرگەندەن كىيىن ىشتەتۉۉچۉنۉ ۅچۉرۉڭ</translation> + </message> +@@ -12497,14 +12442,14 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/userinfo.ui" line="309"/> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="197"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="206"/> + <source>Password</source> + <translation>ئىم</translation> + <extra-contents_path>/Userinfo/Password</extra-contents_path> + </message> + <message> + <location filename="../../../plugins/account/userinfo/userinfo.ui" line="331"/> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="203"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="212"/> + <source>Type</source> + <translation>تۉرۉ</translation> + <extra-contents_path>/Userinfo/Type</extra-contents_path> +@@ -12669,12 +12614,12 @@ E-mail: support@kylinos.cn</source> + <translation>ۅچۉر</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="205"/> ++ <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="216"/> + <source>Standard</source> + <translation>ۅلچۅم</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="207"/> ++ <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="218"/> + <source>Admin</source> + <translation>باشقارعۇۇچۇ</translation> + </message> +@@ -12770,19 +12715,19 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">背景</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="31"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="48"/> + <source>Background</source> + <translation>تۅشۅنمۅ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="137"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="156"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="205"/> + <source>picture</source> + <translation>سۉرۅت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="137"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="153"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> + <source>color</source> + <translation>تۉس</translation> + </message> +@@ -12795,43 +12740,43 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">自定义颜色</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="167"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="216"/> + <source>wallpaper</source> + <translation>تام قاعازى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="169"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="218"/> + <source>centered</source> + <translation>بوربور اتقارىلعان</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="165"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> + <source>scaled</source> + <translation>كۆلەملەشكەن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="171"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="220"/> + <source>stretched</source> + <translation>سوزۇلعان</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="173"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="222"/> + <source>zoom</source> + <translation>چوڭويتۇش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="175"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="224"/> + <source>spanned</source> + <translation>رايون ،چۅلكۅم اتتوو</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="219"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="291"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> + <translation>تام قاعازى ۅجۅتتۅرۉ(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> +@@ -12840,32 +12785,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">所有文件(*.*)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="259"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="331"/> + <source>select custom wallpaper file</source> + <translation>قاسىيەت تام قاعازى ۅجۅتۉن تانداش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="260"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="332"/> + <source>Select</source> + <translation>تانداش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="261"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="333"/> + <source>Position: </source> + <translation>وردۇ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="262"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="334"/> + <source>FileName: </source> + <translation>ۅجۅت ناامى : </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="263"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="335"/> + <source>FileType: </source> + <translation>:ۅجۅت تۉرۉ </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="264"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="336"/> + <source>Cancel</source> + <translation>ارعادان قالتىرىش</translation> + </message> +@@ -12873,37 +12818,37 @@ E-mail: support@kylinos.cn</source> + <context> + <name>WallpaperUi</name> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="28"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="29"/> + <source>Background</source> + <translation>تۅشۅنمۅ</translation> + <extra-contents_path>/Wallpaper/Background</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="30"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="31"/> + <source>Type</source> + <translation>تۉرۉ</translation> + <extra-contents_path>/Wallpaper/Type</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="66"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="67"/> + <source>Desktop Background</source> + <translation>شىرە ۉستۉ ارقا گۅرۉنۉشۉ</translation> + <extra-contents_path>/Wallpaper/Desktop Background</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="93"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="94"/> + <source>Local Pictures</source> + <translation>جەردىك سۉرۅتتۅر</translation> + <extra-contents_path>/Wallpaper/Local Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="95"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="96"/> + <source>Online Pictures</source> + <translation>توردوعۇ سۉرۅتتۅر</translation> + <extra-contents_path>/Wallpaper/Online Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="97"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="98"/> + <source>Reset To Default</source> + <translation>سۈكۈتكە قايتاي</translation> + <extra-contents_path>/Wallpaper/Reset To Default</extra-contents_path> +@@ -12929,106 +12874,106 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Күчүнө кирүү үчүн айрым иштемелерди есептен чыгаруу зарыл</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="266"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="288"/> + <source>Night Mode</source> + <translation>تۈن ابالى</translation> + <extra-contents_path>/Display/Night Mode</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="277"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1986"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2012"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="299"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> + <source>Open</source> + <translation>اچۇۇ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="277"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="299"/> + <source>When turned on, it will reduce the blue light of the screen.</source> + <translation>يانغاندا ەكراندىن كۅك نۇرنى تۅمۅندۅتۅت.</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="290"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="312"/> + <source>Time</source> + <translation>ۇباقىتتا</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="300"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="322"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>Custom Time</source> + <translation>تاموژنا ۇباقتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="311"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="333"/> + <source>to</source> + <translation>عا</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="284"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="329"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="306"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="351"/> + <source>Color Temperature</source> + <translation>تۉس تېمپېراتۇرىسى</translation> + <extra-contents_path>/Display/Color Temperature</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="271"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="293"/> + <source>Eye Protection Mode</source> + <translation>كۅز اسىروو ۉلگۉسۉ</translation> + <extra-contents_path>/Display/Eye protection mode</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="271"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="293"/> + <source>When turned on, it can reduce blue light to prevent eye, the screen will turn yellow.</source> + <translation>يانغاندا كۅك نۇرنى ئازايتىپ كۆزنىڭ الدىن العالى بولوت ، ەكىران سارغىيىپ كەتەت.</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="282"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="304"/> + <source>Color Temperature And Eye Care</source> + <translation>تۉس تېمپېراتۇرىسى جانا كۅز اسىروو</translation> + <extra-contents_path>/Display/Color Temperature And Eye Care</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="331"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="353"/> + <source>Warmer</source> + <translation>داعى ەلە ئىللىق</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="332"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="354"/> + <source>Colder</source> + <translation>سۇۇق</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="610"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="632"/> + <source>Multi-screen</source> + <translation>كۅپ ەكراندۇۇ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="615"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="637"/> + <source>First Screen</source> + <translation>بىرىنچى ەكىران</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="619"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="641"/> + <source>Clone Screen</source> + <translation>كىلون ەكرانى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1985"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> + <source>Turning on 'Eye Protection Mode' will turn off 'Color Temperature'. Continue turning it on?</source> + <translation>'كۅز اسىروو كەبەتەسى ، تۇرپاتى 'نى اچۇۇ «تۉستۉۉ تېمپېراتۇرا» نى ۅچۉرۉپ جاتات. جالعاشتۇۇ اچىپ قويوسۇزبۇ؟</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1987"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2013"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2048"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2074"/> + <source>Cancel</source> + <translation>ارعادان قالتىرىش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2011"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> + <source>Turning on 'Color Temperature' will turn off 'Eye Protection Mode'. Continue turning it on?</source> + <translation>'تۉستۉۉ تېمپېراتۇرا' نى اچۇۇ «كۅز اسىروو كەبەتەسى ، تۇرپاتى »نى ۅچۉرۉپ جاتات. جالعاشتۇۇ اچىپ قويوسۇزبۇ؟</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2744"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2846"/> + <source>Auto Brightness</source> + <translation>اپتوماتتىك جارىقتىق</translation> + <extra-contents_path>/Display/Auto Brightness</extra-contents_path> +@@ -13038,32 +12983,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Экрандын жарыктыгын айлана - чөйрөгө ылайыкташтыруу</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="792"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="822"/> + <source>scale</source> + <translation>كۅلۅم</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="797"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="827"/> + <source>The screen %1 has been modified, whether to save it ? <br/><font style= 'color:#626c6e'>the settings will be restore after 14 seconds</font></source> + <translation>%1 نىڭ ەكرانى ۅزگۅرتۉلدۉ، ساقتوو كەرەكبى جوق ؟ <br/> <font style= 'color:#626c6e'> تەڭشەكتەر 14 سەكۇنتتان كىيىن العاچىنا گەلەت </font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="808"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="838"/> + <source>The screen %1 has been modified, whether to save it ? <br/><font style= 'color:#626c6e'>the settings will be restore after %2 seconds</font></source> + <translation>%1 نىڭ ەكرانى ۅزگۅرتۉلدۉ، ساقتوو كەرەكبى جوق ؟ <br/> <font style= 'color:#626c6e'> تەڭشەكتەر %2 سەكۇنتتان كىيىن العاچىنا گەلەت </font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1022"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1069"/> + <source>The zoom has been modified, it will take effect after you log off</source> + <translation>چوڭويتۇپ ۅزگۅرتۉش كىرگىزىلدى، سىز چەگىنگەندەن كىيىن كۉچۉنۅ ەە بولموق بولوت</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2773"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2875"/> + <source>as main</source> + <translation>نەگىزدۉۉسۉ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2794"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2896"/> + <source>open monitor</source> + <translation>اچىق كۉزۅتكۉچ</translation> + </message> +@@ -13076,39 +13021,39 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">%1 экраны өзгөртүлүп берилдиби ? <br/> <font style= 'color:#626c6e'>параметрлер %2 секунд өткөндөн кийин сакталат </font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2252"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2258"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2317"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2323"/> + <source>Follow the sunrise and sunset</source> + <translation>كۉن سىندىرۇۇ جانا كۉن پېتىشقا ەەرچىپ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="618"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="640"/> + <source>Extend Screen</source> + <translation>ەكراندى ۇزارتۇۇ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="616"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="638"/> + <source>Vice Screen</source> + <translation>قوشۇمچا ەكىران</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="621"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2638"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="643"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2740"/> + <source>Splice Screen</source> + <translation>Splice ەكرانى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2701"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2803"/> + <source>Splicing Method</source> + <translation>پۇشۇرۇش ارعاسى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2704"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2806"/> + <source>Change</source> + <translation>ۅزگۅرتۉش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2772"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> + <source>monitor</source> + <translation>كۉزۅتكۉچۉ</translation> + </message> +@@ -13121,17 +13066,17 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Тема түнкү режимге кармануу</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="783"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="813"/> + <source>resolution</source> + <translation>انىقتاما</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="786"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="816"/> + <source>orientation</source> + <translation>باعىت</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="789"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="819"/> + <source>frequency</source> + <translation>جىشتىق القاعى</translation> + </message> +@@ -13145,12 +13090,12 @@ the settings will be saved after 14 seconds</source> + <translation type="vanished">是否保留当前修改的配置?将在14秒后自动保存配置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="777"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="806"/> + <source>Save</source> + <translation>ساقتوو</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="776"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="805"/> + <source>Not Save</source> + <translation>ساقتاباستىق</translation> + </message> +@@ -13164,18 +13109,18 @@ the settings will be saved after %1 seconds</source> + <translation type="vanished">Чоңойтуу милдети күчүнө кирүү керек</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1023"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1070"/> + <source>Log out now</source> + <translation>ازىر چېكىن</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1024"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1071"/> + <source>Later</source> + <translation>كىيىنچە</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1041"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1051"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1088"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1098"/> + <source>(Effective after logout)</source> + <translation>(چەگىنگەندەن كىيىن ۅنۉمدۉ)</translation> + </message> +@@ -13184,7 +13129,7 @@ the settings will be saved after %1 seconds</source> + <translation type="obsolete">应用</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>All Day</source> + <translation>كۉن بويى</translation> + </message> +@@ -13193,8 +13138,8 @@ the settings will be saved after %1 seconds</source> + <translation type="vanished">跟随日出日落(17:55-06:23)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2283"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2289"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2348"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2354"/> + <source>Brightness</source> + <translation>جارىقتىق</translation> + <extra-contents_path>/Display/Brightness</extra-contents_path> +@@ -13220,7 +13165,7 @@ If something goes wrong, the settings will be restored after 9 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在9秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2781"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2883"/> + <source>screen zoom</source> + <translation>ەكراندى چوڭايت</translation> + </message> +@@ -13261,15 +13206,15 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在%1秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1488"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1788"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>please insure at least one output!</source> + <translation>ەڭ از بولعوندو دا بىر مالنى قامسىزداندىرۇۇعا الدىرىڭ!</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1488"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1495"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1788"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>Warning</source> + <translation>دىققات</translation> + </message> +@@ -13290,7 +13235,7 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">早晨时刻应早于晚上的时刻!</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1496"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1555"/> + <source>Sorry, your configuration could not be applied. + Common reasons are that the overall screen size is too big, or you enabled more displays than supported by your GPU.</source> + <translation>كەچىرۉۉ، سەپلىمىڭىز قولدونۇلبادى. +diff --git a/shell/res/i18n/mn.ts b/shell/res/i18n/mn.ts +index 40d3d40..284faf1 100644 +--- a/shell/res/i18n/mn.ts ++++ b/shell/res/i18n/mn.ts +@@ -376,6 +376,7 @@ + <location filename="../../../plugins/system/about/aboutui.cpp" line="87"/> + <source>HostName</source> + <translation>ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠤ᠋ᠨ ᠨᠡᠷᠡ</translation> ++ <extra-contents_path>/About/HostName</extra-contents_path> + </message> + <message> + <location filename="../../../plugins/system/about/aboutui.cpp" line="100"/> +@@ -2123,7 +2124,7 @@ Please authenticate yourself to continue</source> + <context> + <name>BrightnessFrame</name> + <message> +- <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="66"/> ++ <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="64"/> + <source>Failed to get the brightness information of this monitor</source> + <translation>ᠲᠤᠰ ᠦᠵᠡᠬᠦᠷ ᠤ᠋ᠨ ᠬᠡᠷᠡᠯᠳᠦᠴᠡ ᠵᠢᠨ ᠰᠤᠷᠠᠭ ᠵᠠᠩᠬᠢ ᠵᠢ ᠣᠯᠵᠤ ᠴᠢᠳᠠᠭᠰᠠᠨ ᠥᠬᠡᠢ</translation> + </message> +@@ -6177,10 +6178,10 @@ Please retry or relogin!</source> + <translation type="vanished">设置</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="470"/> +- <location filename="../../mainwindow.cpp" line="488"/> +- <location filename="../../mainwindow.cpp" line="620"/> +- <location filename="../../mainwindow.cpp" line="974"/> ++ <location filename="../../mainwindow.cpp" line="475"/> ++ <location filename="../../mainwindow.cpp" line="493"/> ++ <location filename="../../mainwindow.cpp" line="625"/> ++ <location filename="../../mainwindow.cpp" line="979"/> + <source>Settings</source> + <translation>ᠲᠣᠬᠢᠷᠠᠭᠤᠯᠬᠤ</translation> + </message> +@@ -6189,7 +6190,7 @@ Please retry or relogin!</source> + <translation type="vanished">ᠲᠤᠪᠶᠤᠭ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="509"/> ++ <location filename="../../mainwindow.cpp" line="514"/> + <source>Minimize</source> + <translation>ᠬᠠᠮᠤᠭ ᠤ᠋ᠨ ᠪᠠᠭᠠᠴᠢᠯᠠᠯ</translation> + </message> +@@ -6202,33 +6203,33 @@ Please retry or relogin!</source> + <translation type="vanished">ᠡᠩ ᠤ᠋ᠨ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> ++ <location filename="../../mainwindow.cpp" line="156"/> + <source>Warnning</source> + <translation>ᠰᠡᠷᠡᠮᠵᠢ ᠥᠭᠬᠦ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="170"/> ++ <location filename="../../mainwindow.cpp" line="174"/> + <source>Restore</source> + <translation>ᠠᠩᠭᠢᠵᠢᠷᠠᠭᠤᠯᠤᠯ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="173"/> +- <location filename="../../mainwindow.cpp" line="510"/> ++ <location filename="../../mainwindow.cpp" line="177"/> ++ <location filename="../../mainwindow.cpp" line="515"/> + <source>Maximize</source> + <translation>ᠬᠠᠮᠤᠭᠤ᠋ᠨ ᠶᠡᠭᠡᠴᠢᠯᠡᠯ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="482"/> ++ <location filename="../../mainwindow.cpp" line="487"/> + <source>Back home</source> + <translation>ᠲᠦᠷᠦᠭᠦᠦ ᠨᠢᠭᠤᠷᠲᠤ᠌ ᠪᠤᠴᠠᠬᠤ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="508"/> ++ <location filename="../../mainwindow.cpp" line="513"/> + <source>Option</source> + <translation>ᠰᠤᠩᠭᠤᠭᠳᠠᠬᠤᠨ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="511"/> ++ <location filename="../../mainwindow.cpp" line="516"/> + <source>Close</source> + <translation>ᠲᠤᠬᠠᠢ</translation> + </message> +@@ -6245,12 +6246,12 @@ Please retry or relogin!</source> + <translation type="vanished">ᠪᠤᠴᠠᠵᠤ ᠭᠠᠷᠬᠤ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="621"/> ++ <location filename="../../mainwindow.cpp" line="626"/> + <source>Version: </source> + <translation>ᠬᠡᠪᠯᠡᠯ </translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="756"/> ++ <location filename="../../mainwindow.cpp" line="761"/> + <source>Specified</source> + <translation>ᠳᠤᠭᠳᠠᠭᠰᠠᠨ ᠤᠭᠯᠤᠷᠭᠠ ᠲᠣᠨᠣᠭ</translation> + </message> +@@ -6259,13 +6260,13 @@ Please retry or relogin!</source> + <translation type="vanished">控制面板</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="1107"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>Warning</source> + <translation>ᠰᠡᠷᠡᠮᠵᠢᠯᠡᠬᠦᠯᠬᠦ</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> +- <location filename="../../mainwindow.cpp" line="1107"/> ++ <location filename="../../mainwindow.cpp" line="156"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>This function has been controlled</source> + <translation>ᠲᠤᠰ ᠴᠢᠳᠠᠪᠬᠢ ᠨᠢᠭᠡᠨᠳᠡ ᠬᠠᠮᠢᠶᠠᠷᠤᠭᠳᠠᠪᠠ</translation> + </message> +@@ -9302,17 +9303,17 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">ᠡᠳᠦᠷ</translation> + </message> + <message> +- <location filename="../../main.cpp" line="100"/> ++ <location filename="../../main.cpp" line="104"/> + <source>ukui-control-center is disabled!</source> + <translation>ukui ᠡᠵᠡᠮᠳᠡᠬᠦ ᠳᠦᠪ ᠨᠢᠭᠡᠨᠳᠡ ᠴᠠᠭᠠᠵᠠᠯᠠᠭᠳᠠᠪᠠ!</translation> + </message> + <message> +- <location filename="../../main.cpp" line="128"/> ++ <location filename="../../main.cpp" line="132"/> + <source>ukui-control-center</source> + <translation>ukui ᠡᠵᠡᠮᠳᠡᠯ ᠬᠠᠪᠳᠠᠰᠤ</translation> + </message> + <message> +- <location filename="../../main.cpp" line="89"/> ++ <location filename="../../main.cpp" line="93"/> + <source>ukui-control-center is already running!</source> + <translation>ukui ᠡᠵᠡᠮᠳᠡᠯ ᠬᠠᠪᠳᠠᠰᠤ ᠠᠵᠢᠯᠯᠠᠵᠤ ᠪᠠᠢᠨᠠ !</translation> + </message> +@@ -9602,9 +9603,8 @@ E-mail: support@kylinos.cn</source> + <context> + <name>Screenlock</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="32"/> + <source>Screenlock</source> +- <translation>ᠳᠡᠯᠭᠡᠴᠡ ᠣᠨᠢᠰᠤᠯᠠᠬᠤ</translation> ++ <translation type="vanished">ᠳᠡᠯᠭᠡᠴᠡ ᠣᠨᠢᠰᠤᠯᠠᠬᠤ</translation> + </message> + <message> + <source>Show message on lock screen</source> +@@ -9613,27 +9613,22 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Browse</source> + <translation type="vanished">ᠦᠵᠡ ᠃</translation> +- <extra-contents_path>/Screenlock/Browse</extra-contents_path> + </message> + <message> + <source>Online Picture</source> + <translation type="vanished">ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳᠡᠭᠡᠷᠡᠬᠢ ᠵᠢᠷᠤᠭ</translation> +- <extra-contents_path>/Screenlock/Online Picture</extra-contents_path> + </message> + <message> + <source>Local Pictures</source> + <translation type="vanished">ᠲᠤᠰ ᠭᠠᠵᠠᠷᠤ᠋ᠨ ᠵᠢᠷᠤᠭ</translation> +- <extra-contents_path>/Screenlock/Local Pictures</extra-contents_path> + </message> + <message> + <source>Online Pictures</source> + <translation type="vanished">ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳᠡᠭᠡᠷᠡᠬᠢ ᠵᠢᠷᠤᠭ</translation> +- <extra-contents_path>/Screenlock/Online Pictures</extra-contents_path> + </message> + <message> + <source>Reset To Default</source> + <translation type="vanished">ᠠᠶᠠᠳᠠᠯ ᠢ᠋ ᠰᠡᠷᠬᠦᠬᠡᠬᠦ</translation> +- <extra-contents_path>/Screenlock/Reset To Default</extra-contents_path> + </message> + <message> + <source>Related Settings</source> +@@ -9670,7 +9665,6 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Show picture of screenlock on screenlogin</source> + <translation type="vanished">ᠣᠨᠢᠰᠤᠯᠠᠭᠰᠠᠨ ᠳᠡᠯᠭᠡᠴᠡᠨ ᠤ᠋ ᠬᠠᠨᠠᠨ ᠵᠢᠷᠤᠭ ᠨᠡᠪᠳᠡᠷᠡᠬᠦ ᠵᠠᠭᠠᠭ ᠭᠠᠳᠠᠷᠭᠤ ᠳᠡᠭᠡᠷᠡ ᠢᠯᠡᠷᠡᠬᠦ</translation> +- <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> + </message> + <message> + <source>Enabel screenlock</source> +@@ -9729,9 +9723,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">2h</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="172"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> +- <translation>ᠵᠢᠷᠤᠭ ᠤ᠋ᠨ ᠹᠠᠢᠯ (*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> ++ <translation type="vanished">ᠵᠢᠷᠤᠭ ᠤ᠋ᠨ ᠹᠠᠢᠯ (*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> + <message> + <source>allFiles(*.*)</source> +@@ -9770,34 +9763,28 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">3 ᠴᠠᠭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="213"/> + <source>select custom wallpaper file</source> +- <translation>ᠦᠪᠡᠷᠳᠡᠭᠡᠨ ᠳᠤᠭᠳᠠᠭᠠᠬᠤ ᠬᠠᠨᠠᠨ ᠵᠢᠷᠤᠭ ᠤ᠋ᠨ ᠹᠠᠢᠯ ᠢ᠋ ᠰᠣᠩᠭᠣᠬᠤ</translation> ++ <translation type="vanished">ᠦᠪᠡᠷᠳᠡᠭᠡᠨ ᠳᠤᠭᠳᠠᠭᠠᠬᠤ ᠬᠠᠨᠠᠨ ᠵᠢᠷᠤᠭ ᠤ᠋ᠨ ᠹᠠᠢᠯ ᠢ᠋ ᠰᠣᠩᠭᠣᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="214"/> + <source>Select</source> +- <translation>ᠰᠣᠩᠭᠣᠬᠤ</translation> ++ <translation type="vanished">ᠰᠣᠩᠭᠣᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="215"/> + <source>Position: </source> +- <translation>ᠪᠠᠢᠷᠢ: </translation> ++ <translation type="vanished">ᠪᠠᠢᠷᠢ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="216"/> + <source>FileName: </source> +- <translation>ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠨᠡᠷᠡ: </translation> ++ <translation type="vanished">ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠨᠡᠷᠡ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="217"/> + <source>FileType: </source> +- <translation>ᠹᠠᠢᠯ ᠳᠦᠷᠦᠯ ᠵᠦᠢᠯ: </translation> ++ <translation type="vanished">ᠹᠠᠢᠯ ᠳᠦᠷᠦᠯ ᠵᠦᠢᠯ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="218"/> + <source>Cancel</source> +- <translation>ᠦᠬᠡᠢᠰᠬᠡᠬᠦ</translation> ++ <translation type="vanished">ᠦᠬᠡᠢᠰᠬᠡᠬᠦ</translation> + </message> + <message> + <source>Monitor Off</source> +@@ -9815,103 +9802,75 @@ E-mail: support@kylinos.cn</source> + <context> + <name>ScreenlockUi</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="42"/> + <source>Show picture of screenlock on screenlogin</source> +- <translation>ᠣᠨᠢᠰᠤᠯᠠᠭᠰᠠᠨ ᠳᠡᠯᠭᠡᠴᠡᠨ ᠤ᠋ ᠬᠠᠨᠠᠨ ᠵᠢᠷᠤᠭ ᠨᠡᠪᠳᠡᠷᠡᠬᠦ ᠵᠠᠭᠠᠭ ᠭᠠᠳᠠᠷᠭᠤ ᠳᠡᠭᠡᠷᠡ ᠢᠯᠡᠷᠡᠬᠦ</translation> +- <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> ++ <translation type="vanished">ᠣᠨᠢᠰᠤᠯᠠᠭᠰᠠᠨ ᠳᠡᠯᠭᠡᠴᠡᠨ ᠤ᠋ ᠬᠠᠨᠠᠨ ᠵᠢᠷᠤᠭ ᠨᠡᠪᠳᠡᠷᠡᠬᠦ ᠵᠠᠭᠠᠭ ᠭᠠᠳᠠᠷᠭᠤ ᠳᠡᠭᠡᠷᠡ ᠢᠯᠡᠷᠡᠬᠦ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="45"/> + <source>Leave lock (System will be locked when the paired phone gone)</source> +- <translation>ᠣᠨᠢᠰᠤᠯᠠᠯ ᠠᠴᠠ ᠰᠠᠯᠬᠤ ( ᠭᠠᠷ ᠤᠲᠠᠰᠤ ᠠᠷᠢᠯᠤᠭᠰᠠᠨ ᠤ ᠳᠠᠷᠠᠭᠠᠬᠢ ᠰᠢᠰᠲ᠋ᠧᠮ ᠢ ᠲᠣᠭᠲᠠᠭᠠᠨᠠ )</translation> +- <extra-contents_path>/Screenlock/Leave lock (System will be locked when the paired phone gone)</extra-contents_path> ++ <translation type="vanished">ᠣᠨᠢᠰᠤᠯᠠᠯ ᠠᠴᠠ ᠰᠠᠯᠬᠤ ( ᠭᠠᠷ ᠤᠲᠠᠰᠤ ᠠᠷᠢᠯᠤᠭᠰᠠᠨ ᠤ ᠳᠠᠷᠠᠭᠠᠬᠢ ᠰᠢᠰᠲ᠋ᠧᠮ ᠢ ᠲᠣᠭᠲᠠᠭᠠᠨᠠ )</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="46"/> + <source>Specified device</source> +- <translation>ᠲᠥᠬᠥᠭᠡᠷᠦᠮᠵᠢ ᠶᠢ ᠵᠢᠭᠠᠨ ᠲᠣᠭᠲᠠᠭᠠᠨᠠ</translation> ++ <translation type="vanished">ᠲᠥᠬᠥᠭᠡᠷᠦᠮᠵᠢ ᠶᠢ ᠵᠢᠭᠠᠨ ᠲᠣᠭᠲᠠᠭᠠᠨᠠ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="47"/> + <source>No paired phone. Please turn to 'Bluetooth' to pair.</source> +- <translation>ᠲᠣᠬᠢᠷᠠᠯᠴᠠᠭᠰᠠᠨ ᠭᠠᠷ ᠤᠲᠠᠰᠤ ᠪᠠᠢ᠌ᠬᠤ ᠦᠭᠡᠢ “ ᠬᠥᠬᠡ ᠰᠢᠳᠦ “ᠳᠦ ᠰᠢᠯᠵᠢᠭᠦᠯᠦᠨ ᠲᠣᠬᠢᠷᠠᠭᠤᠯᠤᠭᠠᠷᠠᠢ</translation> ++ <translation type="vanished">ᠲᠣᠬᠢᠷᠠᠯᠴᠠᠭᠰᠠᠨ ᠭᠠᠷ ᠤᠲᠠᠰᠤ ᠪᠠᠢ᠌ᠬᠤ ᠦᠭᠡᠢ “ ᠬᠥᠬᠡ ᠰᠢᠳᠦ “ᠳᠦ ᠰᠢᠯᠵᠢᠭᠦᠯᠦᠨ ᠲᠣᠬᠢᠷᠠᠭᠤᠯᠤᠭᠠᠷᠠᠢ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="67"/> + <source>Screenlock</source> +- <translation>ᠳᠡᠯᠭᠡᠴᠡ ᠣᠨᠢᠰᠤᠯᠠᠬᠤ</translation> +- <extra-contents_path>/Screenlock/Screenlock</extra-contents_path> ++ <translation type="vanished">ᠳᠡᠯᠭᠡᠴᠡ ᠣᠨᠢᠰᠤᠯᠠᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="97"/> + <source>Local Pictures</source> +- <translation>ᠲᠤᠰ ᠭᠠᠵᠠᠷᠤ᠋ᠨ ᠵᠢᠷᠤᠭ</translation> +- <extra-contents_path>/Screenlock/Local Pictures</extra-contents_path> ++ <translation type="vanished">ᠲᠤᠰ ᠭᠠᠵᠠᠷᠤ᠋ᠨ ᠵᠢᠷᠤᠭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="99"/> + <source>Online Pictures</source> +- <translation>ᠱᠤᠭᠤᠮ ᠳᠡᠭᠡᠷᠡᠬᠢ ᠵᠢᠷᠤᠭ</translation> +- <extra-contents_path>/Screenlock/Online Pictures</extra-contents_path> ++ <translation type="vanished">ᠱᠤᠭᠤᠮ ᠳᠡᠭᠡᠷᠡᠬᠢ ᠵᠢᠷᠤᠭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="101"/> + <source>Reset To Default</source> +- <translation>ᠠᠶᠠᠳᠠᠯ ᠢ᠋ ᠰᠡᠷᠬᠦᠬᠡᠬᠦ</translation> +- <extra-contents_path>/Screenlock/Reset To Default</extra-contents_path> ++ <translation type="vanished">ᠠᠶᠠᠳᠠᠯ ᠢ᠋ ᠰᠡᠷᠬᠦᠬᠡᠬᠦ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="113"/> + <source>Bluetooth</source> +- <translation>ᠬᠥᠬᠡ ᠰᠢᠳᠦ</translation> ++ <translation type="vanished">ᠬᠥᠬᠡ ᠰᠢᠳᠦ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="118"/> + <source>No bluetooth adapter detected, can not use Leave Lock.</source> +- <translation>ᠬᠥᠬᠡ ᠰᠢᠳᠦᠨ ᠦ ᠲᠣᠬᠢᠷᠠᠬᠤ ᠪᠠᠭᠠᠵᠢ ᠶᠢ ᠪᠠᠶᠢᠴᠠᠭᠠᠨ ᠰᠢᠯᠭᠠᠭᠰᠠᠨ ᠦᠭᠡᠶ ᠪᠣᠯ Leave Lock ᠶᠢ ᠬᠡᠷᠡᠭᠯᠡᠬᠦ ᠶᠢᠨ ᠠᠷᠭᠠ ᠦᠭᠡᠶ</translation> ++ <translation type="vanished">ᠬᠥᠬᠡ ᠰᠢᠳᠦᠨ ᠦ ᠲᠣᠬᠢᠷᠠᠬᠤ ᠪᠠᠭᠠᠵᠢ ᠶᠢ ᠪᠠᠶᠢᠴᠠᠭᠠᠨ ᠰᠢᠯᠭᠠᠭᠰᠠᠨ ᠦᠭᠡᠶ ᠪᠣᠯ Leave Lock ᠶᠢ ᠬᠡᠷᠡᠭᠯᠡᠬᠦ ᠶᠢᠨ ᠠᠷᠭᠠ ᠦᠭᠡᠶ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="138"/> + <source>Monitor Off</source> +- <translation>ᠦᠵᠡᠬᠦᠷ ᠢ᠋ ᠬᠠᠭᠠᠬᠤ</translation> +- <extra-contents_path>/Screenlock/Monitor Off</extra-contents_path> ++ <translation type="vanished">ᠦᠵᠡᠬᠦᠷ ᠢ᠋ ᠬᠠᠭᠠᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="140"/> + <source>Screensaver</source> +- <translation>ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ</translation> +- <extra-contents_path>/Screenlock/Screensaver</extra-contents_path> ++ <translation type="vanished">ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="143"/> + <source>Related Settings</source> +- <translation>ᠬᠠᠮᠢᠶᠠ ᠪᠦᠬᠦᠢ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠ</translation> +- <extra-contents_path>/Screenlock/Related Settings</extra-contents_path> ++ <translation type="vanished">ᠬᠠᠮᠢᠶᠠ ᠪᠦᠬᠦᠢ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="149"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="150"/> + <source>Set</source> +- <translation>ᠰᠢᠰᠲ᠋ᠧᠮᠦ᠋ᠨ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠ</translation> ++ <translation type="vanished">ᠰᠢᠰᠲ᠋ᠧᠮᠦ᠋ᠨ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="165"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="532"/> + <source>Please select device</source> +- <translation>ᠲᠥᠬᠥᠭᠡᠷᠦᠮᠵᠢ ᠶᠢ ᠰᠣᠩᠭᠣᠭᠠᠷᠠᠢ</translation> ++ <translation type="vanished">ᠲᠥᠬᠥᠭᠡᠷᠦᠮᠵᠢ ᠶᠢ ᠰᠣᠩᠭᠣᠭᠠᠷᠠᠢ</translation> + </message> + </context> + <context> + <name>Screensaver</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="37"/> + <source>Screensaver</source> +- <translation>ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ</translation> ++ <translation type="vanished">ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ</translation> + </message> + <message> + <source>Idle time</source> + <translation type="vanished">ᠲᠤᠰ ᠴᠠᠭ ᠤ᠋ᠨ ᠬᠡᠰᠡᠭ ᠤ᠋ᠨ ᠳᠠᠷᠠᠭᠠ ᠳᠡᠯᠭᠡᠴᠡᠨ ᠤ᠋ ᠬᠠᠮᠠᠭᠠᠯᠠᠯᠳᠠ ᠵᠢ ᠡᠬᠢᠯᠡᠬᠦᠯᠬᠦ</translation> +- <extra-contents_path>/Screensaver/Idle time</extra-contents_path> + </message> + <message> + <source>Lock screen when activating screensaver</source> +@@ -9924,7 +9883,6 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Screensaver program</source> + <translation type="vanished">ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ ᠫᠷᠣᠭ᠌ᠷᠠᠮ</translation> +- <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> + </message> + <message> + <source>idle time</source> +@@ -9959,46 +9917,36 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">ᠠᠮᠠᠷᠠᠬᠤ ᠴᠠᠭ ᠢ᠋ ᠢᠯᠡᠷᠡᠬᠦᠯᠬᠦ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>UKUI</source> +- <translation>UKUI</translation> ++ <translation type="vanished">UKUI</translation> + </message> + <message> + <source>Blank_Only</source> + <translation type="vanished">ᠬᠠᠷᠠ ᠳᠡᠯᠭᠡᠴᠡ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>Customize</source> +- <translation>ᠦᠪᠡᠷᠳᠡᠭᠡᠨ ᠳᠤᠭᠳᠠᠭᠠᠬᠤ</translation> ++ <translation type="vanished">ᠦᠪᠡᠷᠳᠡᠭᠡᠨ ᠳᠤᠭᠳᠠᠭᠠᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>5min</source> +- <translation>5 ᠮᠢᠨᠦ᠋ᠲ</translation> ++ <translation type="vanished">5 ᠮᠢᠨᠦ᠋ᠲ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>10min</source> +- <translation>10 ᠮᠢᠨᠦ᠋ᠲ</translation> ++ <translation type="vanished">10 ᠮᠢᠨᠦ᠋ᠲ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>15min</source> +- <translation>15 ᠮᠢᠨᠦ᠋ᠲ</translation> ++ <translation type="vanished">15 ᠮᠢᠨᠦ᠋ᠲ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>30min</source> +- <translation>30 ᠮᠢᠨᠦ᠋ᠲ</translation> ++ <translation type="vanished">30 ᠮᠢᠨᠦ᠋ᠲ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>1hour</source> +- <translation>1 ᠴᠠᠭ</translation> ++ <translation type="vanished">1 ᠴᠠᠭ</translation> + </message> + <message> + <source>Screensaver source</source> +@@ -10037,10 +9985,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">ᠳᠠᠪᠳᠠᠮᠵᠢ ᠵᠢ ᠰᠣᠯᠢᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="168"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>1min</source> +- <translation>1 ᠮᠢᠨᠦ᠋ᠲ</translation> ++ <translation type="vanished">1 ᠮᠢᠨᠦ᠋ᠲ</translation> + </message> + <message> + <source>Ordinal</source> +@@ -10107,128 +10053,95 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">ᠳᠠᠰᠢᠷᠠᠮ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>Never</source> +- <translation>ᠶᠡᠷᠦ ᠡᠴᠡ ᠥᠬᠡᠢ</translation> ++ <translation type="vanished">ᠶᠡᠷᠦ ᠡᠴᠡ ᠥᠬᠡᠢ</translation> + </message> + </context> + <context> + <name>ScreensaverUi</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="41"/> + <source>Screensaver</source> +- <translation>ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ</translation> +- <extra-contents_path>/Screensaver/Screensaver</extra-contents_path> ++ <translation type="vanished">ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="54"/> + <source>Idle time</source> +- <translation>ᠲᠤᠰ ᠴᠠᠭ ᠤ᠋ᠨ ᠬᠡᠰᠡᠭ ᠤ᠋ᠨ ᠳᠠᠷᠠᠭᠠ ᠳᠡᠯᠭᠡᠴᠡᠨ ᠤ᠋ ᠬᠠᠮᠠᠭᠠᠯᠠᠯᠳᠠ ᠵᠢ ᠡᠬᠢᠯᠡᠬᠦᠯᠬᠦ</translation> +- <extra-contents_path>/Screensaver/Idle time</extra-contents_path> ++ <translation type="vanished">ᠲᠤᠰ ᠴᠠᠭ ᠤ᠋ᠨ ᠬᠡᠰᠡᠭ ᠤ᠋ᠨ ᠳᠠᠷᠠᠭᠠ ᠳᠡᠯᠭᠡᠴᠡᠨ ᠤ᠋ ᠬᠠᠮᠠᠭᠠᠯᠠᠯᠳᠠ ᠵᠢ ᠡᠬᠢᠯᠡᠬᠦᠯᠬᠦ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="56"/> + <source>Screensaver program</source> +- <translation>ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ ᠫᠷᠣᠭ᠌ᠷᠠᠮ</translation> +- <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> ++ <translation type="vanished">ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ ᠫᠷᠣᠭ᠌ᠷᠠᠮ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="88"/> + <source>Screensaver source</source> +- <translation>ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ ᠢᠷᠡᠯᠳᠡ</translation> +- <extra-contents_path>/Screensaver/Screensaver source</extra-contents_path> ++ <translation type="vanished">ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ ᠢᠷᠡᠯᠳᠡ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="93"/> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="456"/> + <source>Select</source> +- <translation>ᠰᠣᠩᠭᠣᠬᠤ</translation> ++ <translation type="vanished">ᠰᠣᠩᠭᠣᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="114"/> + <source>Ordinal</source> +- <translation>ᠳᠠᠷᠠᠭᠠᠯᠠᠯ ᠵᠢᠡᠷ</translation> ++ <translation type="vanished">ᠳᠠᠷᠠᠭᠠᠯᠠᠯ ᠵᠢᠡᠷ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="115"/> + <source>Random</source> +- <translation>ᠳᠠᠰᠢᠷᠠᠮ</translation> ++ <translation type="vanished">ᠳᠠᠰᠢᠷᠠᠮ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="122"/> + <source>Random switching</source> +- <translation>ᠳᠠᠰᠢᠷᠠᠮ ᠵᠢᠡᠷ ᠰᠣᠯᠢᠬᠤ</translation> +- <extra-contents_path>/Screensaver/Random switching</extra-contents_path> ++ <translation type="vanished">ᠳᠠᠰᠢᠷᠠᠮ ᠵᠢᠡᠷ ᠰᠣᠯᠢᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="142"/> + <source>Switching time</source> +- <translation>ᠳᠠᠪᠳᠠᠮᠵᠢ ᠵᠢ ᠰᠣᠯᠢᠬᠤ</translation> +- <extra-contents_path>/Screensaver/Switching time</extra-contents_path> ++ <translation type="vanished">ᠳᠠᠪᠳᠠᠮᠵᠢ ᠵᠢ ᠰᠣᠯᠢᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="161"/> + <source>Text(up to 30 characters):</source> +- <translation>ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ ᠲᠸᠺᠰᠲ ( ᠬᠠᠮᠤᠭ ᠤ᠋ᠨ ᠣᠯᠠᠨ ᠳ᠋ᠤ᠌ ᠪᠡᠨ 30 ᠦᠰᠦᠭ):</translation> +- <extra-contents_path>/Screensaver/Text(up to 30 characters):</extra-contents_path> ++ <translation type="vanished">ᠳᠡᠯᠭᠡᠴᠡ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ ᠲᠸᠺᠰᠲ ( ᠬᠠᠮᠤᠭ ᠤ᠋ᠨ ᠣᠯᠠᠨ ᠳ᠋ᠤ᠌ ᠪᠡᠨ 30 ᠦᠰᠦᠭ):</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="184"/> + <source>Text position</source> +- <translation>ᠲᠸᠺᠰᠲ ᠤ᠋ᠨ ᠪᠠᠢᠷᠢ</translation> +- <extra-contents_path>/Screensaver/Text position</extra-contents_path> ++ <translation type="vanished">ᠲᠸᠺᠰᠲ ᠤ᠋ᠨ ᠪᠠᠢᠷᠢ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="192"/> + <source>Centered</source> +- <translation>ᠳᠦᠪᠯᠡᠷᠡᠬᠦᠯᠬᠦ</translation> ++ <translation type="vanished">ᠳᠦᠪᠯᠡᠷᠡᠬᠦᠯᠬᠦ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="193"/> + <source>Randow(Bubble text)</source> +- <translation>ᠳᠠᠰᠢᠷᠠᠮ ( ᠬᠦᠬᠡᠰᠦ ᠲᠸᠺᠰᠲ)</translation> ++ <translation type="vanished">ᠳᠠᠰᠢᠷᠠᠮ ( ᠬᠦᠬᠡᠰᠦ ᠲᠸᠺᠰᠲ)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="215"/> + <source>Show rest time</source> +- <translation>ᠠᠮᠠᠷᠠᠬᠤ ᠴᠠᠭ ᠢ᠋ ᠢᠯᠡᠷᠡᠬᠦᠯᠬᠦ</translation> +- <extra-contents_path>/Screensaver/Show rest time</extra-contents_path> ++ <translation type="vanished">ᠠᠮᠠᠷᠠᠬᠤ ᠴᠠᠭ ᠢ᠋ ᠢᠯᠡᠷᠡᠬᠦᠯᠬᠦ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="225"/> + <source>Lock screen when screensaver boot</source> +- <translation>ᠳᠡᠯᠭᠡᠴᠡᠨ ᠤ᠋ ᠬᠠᠮᠠᠭᠠᠯᠠᠯᠳᠠ ᠵᠢ ᠡᠬᠢᠯᠡᠬᠦᠯᠬᠦ ᠦᠶᠡ ᠳ᠋ᠤ᠌ ᠳᠡᠯᠭᠡᠴᠡ ᠵᠢ ᠣᠨᠢᠰᠤᠯᠠᠬᠤ</translation> +- <extra-contents_path>/Screensaver/Lock screen when screensaver boot</extra-contents_path> ++ <translation type="vanished">ᠳᠡᠯᠭᠡᠴᠡᠨ ᠤ᠋ ᠬᠠᠮᠠᠭᠠᠯᠠᠯᠳᠠ ᠵᠢ ᠡᠬᠢᠯᠡᠬᠦᠯᠬᠦ ᠦᠶᠡ ᠳ᠋ᠤ᠌ ᠳᠡᠯᠭᠡᠴᠡ ᠵᠢ ᠣᠨᠢᠰᠤᠯᠠᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="414"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</source> +- <translation>ᠬᠠᠨᠠᠨ ᠵᠢᠷᠤᠭ ᠤ᠋ᠨ ᠹᠠᠢᠯ (*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> ++ <translation type="vanished">ᠬᠠᠨᠠᠨ ᠵᠢᠷᠤᠭ ᠤ᠋ᠨ ᠹᠠᠢᠯ (*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="455"/> + <source>select custom screensaver dir</source> +- <translation>ᠦᠪᠡᠷᠳᠡᠭᠡᠨ ᠳᠤᠭᠳᠠᠭᠠᠬᠤ ᠳᠡᠯᠭᠡᠴᠡᠨ ᠤ᠋ ᠬᠠᠮᠠᠭᠠᠯᠠᠯᠳᠠ ᠵᠢᠨ ᠵᠢᠮ ᠢ᠋ ᠰᠣᠩᠭᠣᠬᠤ</translation> ++ <translation type="vanished">ᠦᠪᠡᠷᠳᠡᠭᠡᠨ ᠳᠤᠭᠳᠠᠭᠠᠬᠤ ᠳᠡᠯᠭᠡᠴᠡᠨ ᠤ᠋ ᠬᠠᠮᠠᠭᠠᠯᠠᠯᠳᠠ ᠵᠢᠨ ᠵᠢᠮ ᠢ᠋ ᠰᠣᠩᠭᠣᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="457"/> + <source>Position: </source> +- <translation>ᠪᠠᠢᠷᠢ: </translation> ++ <translation type="vanished">ᠪᠠᠢᠷᠢ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="458"/> + <source>FileName: </source> +- <translation>ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠨᠡᠷᠡ: </translation> ++ <translation type="vanished">ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠨᠡᠷᠡ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="459"/> + <source>FileType: </source> +- <translation>ᠹᠠᠢᠯ ᠳᠦᠷᠦᠯ ᠵᠦᠢᠯ: </translation> ++ <translation type="vanished">ᠹᠠᠢᠯ ᠳᠦᠷᠦᠯ ᠵᠦᠢᠯ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="460"/> + <source>Cancel</source> +- <translation>ᠦᠬᠡᠢᠰᠬᠡᠬᠦ</translation> ++ <translation type="vanished">ᠦᠬᠡᠢᠰᠬᠡᠬᠦ</translation> + </message> + </context> + <context> +@@ -12574,14 +12487,14 @@ E-mail: support@kylinos.cn</source> + <translation>ᠠᠷᠤ ᠦᠵᠡᠭᠳᠡᠯ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="195"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="205"/> + <source>picture</source> + <translation>ᠵᠢᠷᠤᠭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="195"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="211"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> + <source>color</source> + <translation>ᠦᠩᠭᠡ</translation> + </message> +@@ -12594,43 +12507,43 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">自定义颜色</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="225"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="216"/> + <source>wallpaper</source> + <translation>ᠬᠡᠪᠳᠡᠭᠡ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="227"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="218"/> + <source>centered</source> + <translation>ᠳᠦᠪᠯᠡᠷᠡᠬᠦᠯᠬᠦ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="223"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> + <source>scaled</source> + <translation>ᠳᠠᠭᠯᠠᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="229"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="220"/> + <source>stretched</source> + <translation>ᠰᠤᠩᠭᠠᠭᠠᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="231"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="222"/> + <source>zoom</source> + <translation>ᠵᠣᠬᠢᠴᠠᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="233"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="224"/> + <source>spanned</source> + <translation>ᠠᠯᠤᠰᠯᠠᠭᠰᠠᠨ ᠬᠡᠰᠡᠭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="277"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="291"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> + <translation>ᠵᠢᠷᠤᠭ ᠤ᠋ᠨ ᠹᠠᠢᠯ (*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> +@@ -12639,32 +12552,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">所有文件(*.*)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="317"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="331"/> + <source>select custom wallpaper file</source> + <translation>ᠦᠪᠡᠷᠳᠡᠭᠡᠨ ᠳᠤᠭᠳᠠᠭᠠᠬᠤ ᠬᠠᠨᠠᠨ ᠵᠢᠷᠤᠭ ᠤ᠋ᠨ ᠹᠠᠢᠯ ᠢ᠋ ᠰᠣᠩᠭᠣᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="318"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="332"/> + <source>Select</source> + <translation>ᠰᠣᠩᠭᠣᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="319"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="333"/> + <source>Position: </source> + <translation>ᠪᠠᠢᠷᠢ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="320"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="334"/> + <source>FileName: </source> + <translation>ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠨᠡᠷᠡ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="321"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="335"/> + <source>FileType: </source> + <translation>ᠹᠠᠢᠯ ᠳᠦᠷᠦᠯ ᠵᠦᠢᠯ: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="322"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="336"/> + <source>Cancel</source> + <translation>ᠦᠬᠡᠢᠰᠬᠡᠬᠦ</translation> + </message> +@@ -12731,8 +12644,8 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="299"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> + <source>Open</source> + <translation>ᠰᠣᠩᠭᠣᠬᠤ</translation> + </message> +@@ -12743,7 +12656,7 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="322"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2132"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>Custom Time</source> + <translation>ᠦᠪᠡᠷᠳᠡᠭᠡᠨ ᠳᠤᠭᠳᠠᠭᠠᠬᠤ</translation> + </message> +@@ -12819,7 +12732,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">ᠭᠣᠣᠯ ᠳᠡᠯᠭᠡᠴᠡ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2845"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2846"/> + <source>Auto Brightness</source> + <translation>ᠬᠡᠷᠡᠯᠳᠦᠴᠡ ᠵᠢ ᠠᠦ᠋ᠲ᠋ᠣ᠋ ᠪᠡᠷ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠬᠤ</translation> + <extra-contents_path>/Display/Auto Brightness</extra-contents_path> +@@ -12849,12 +12762,12 @@ E-mail: support@kylinos.cn</source> + <translation>ᠳᠡᠯᠭᠡᠴᠡᠶ᠋ᠢᠨ ᠶᠡᠬᠡᠰᠬᠡᠯ ᠨᠢᠭᠡᠨᠲᠡ ᠥᠭᠡᠷᠡᠴᠢᠯᠡᠭᠳᠡᠪᠡ ᠂ ᠳᠠᠩᠰᠠᠨᠠ᠋ᠴᠠ ᠬᠠᠰᠤᠭᠰᠠᠨᠤ᠋ ᠳᠠᠷᠠᠭᠠ ᠬᠦᠴᠦᠨᠲᠡᠢ ᠪᠣᠯᠬᠤ ᠴᠢᠬᠤᠯᠠᠲᠠᠢ ᠃</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2875"/> + <source>as main</source> + <translation>ᠭᠤᠤᠯ ᠳᠡᠯᠭᠡᠴᠡ ᠪᠡᠷ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠬᠤ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2895"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2896"/> + <source>open monitor</source> + <translation>ᠢᠯᠡᠷᠡᠬᠦᠯᠦᠭᠴᠢ ᠵᠢ ᠨᠡᠬᠡᠬᠡᠬᠦ</translation> + </message> +@@ -12867,8 +12780,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">ᠳᠡᠯᠭᠡᠴᠡ %1 ᠢ᠋/ ᠵᠢ ᠨᠢᠭᠡᠨᠳᠡ ᠵᠠᠰᠠᠪᠠ᠂ ᠬᠠᠳᠠᠭᠠᠯᠠᠬᠤ ᠤᠤ ? <br/><font style= 'color:#626c6e'> ᠰᠢᠰᠲ᠋ᠧᠮ ᠨᠢ %2 ᠰᠸᠺᠦ᠋ᠨ᠋ᠲ ᠤ᠋ᠨ ᠳᠠᠷᠠᠭᠠ ᠠᠦ᠋ᠲ᠋ᠣ᠋ ᠪᠡᠷ ᠬᠠᠳᠠᠭᠠᠯᠠᠨᠠ᠃</font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2316"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2322"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2317"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2323"/> + <source>Follow the sunrise and sunset</source> + <translation>ᠨᠠᠷᠠ ᠭᠠᠷᠬᠤ ᠬᠢᠭᠡᠳ ᠨᠠᠷᠠ ᠤᠨᠠᠬᠤᠶᠢ ᠳᠠᠭᠠᠬᠤ</translation> + </message> +@@ -12884,22 +12797,22 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="643"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2739"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2740"/> + <source>Splice Screen</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2802"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2803"/> + <source>Splicing Method</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2805"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2806"/> + <source>Change</source> + <translation>ᠦᠬᠡᠷᠡᠴᠢᠯᠡᠬᠦ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2873"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> + <source>monitor</source> + <translation>ᠦᠵᠡᠬᠦᠷ</translation> + </message> +@@ -12993,23 +12906,23 @@ the settings will be saved after %1 seconds</source> + <translation type="vanished">ᠦᠬᠡᠢᠰᠬᠡᠬᠦ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2045"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> + <source>Turning on 'Eye Protection Mode' will turn off 'Color Temperature'. Continue turning it on?</source> + <translation>'ᠨᠢᠳᠦ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ ᠵᠠᠭᠪᠤᠷ' ᠢ᠋ ᠨᠡᠭᠡᠭᠡᠪᠡᠯ 'ᠥᠩᠭᠡᠨ ᠳᠤᠯᠠᠭᠠᠨ' ᠢ᠋ ᠬᠠᠭᠠᠵᠤ ᠦᠷᠭᠦᠯᠵᠢᠯᠡᠨ ᠨᠡᠭᠡᠭᠡᠬᠦ ᠦᠦ ?</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2048"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2074"/> + <source>Cancel</source> + <translation>ᠦᠬᠡᠢᠰᠬᠡᠬᠦ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2071"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> + <source>Turning on 'Color Temperature' will turn off 'Eye Protection Mode'. Continue turning it on?</source> + <translation>'ᠥᠩᠭᠡᠨ ᠳᠤᠯᠠᠭᠠᠨ' ᠢ᠋ ᠨᠡᠭᠡᠭᠡᠪᠡᠯ ' ᠨᠢᠳᠦ ᠬᠠᠮᠠᠭᠠᠯᠠᠬᠤ ᠵᠠᠭᠪᠤᠷ' ᠢ᠋ ᠬᠠᠭᠠᠨᠠ᠂ ᠦᠷᠭᠦᠯᠵᠢᠯᠡᠨ ᠨᠡᠭᠡᠭᠡᠬᠦ ᠦᠦ ?</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2132"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>All Day</source> + <translation>ᠪᠦᠳᠦᠨ ᠡᠳᠦᠷ</translation> + </message> +@@ -13018,8 +12931,8 @@ the settings will be saved after %1 seconds</source> + <translation type="vanished">跟随日出日落(17:55-06:23)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2347"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2353"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2348"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2354"/> + <source>Brightness</source> + <translation>ᠬᠡᠷᠡᠯᠳᠦᠴᠡ</translation> + <extra-contents_path>/Display/Brightness</extra-contents_path> +@@ -13045,7 +12958,7 @@ If something goes wrong, the settings will be restored after 9 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在9秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2882"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2883"/> + <source>screen zoom</source> + <translation>ᠠᠪᠴᠢᠭᠤᠯᠤᠭᠰᠠᠨ ᠳᠡᠯᠭᠡᠴᠡ</translation> + </message> +@@ -13086,15 +12999,15 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在%1秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1546"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1846"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>please insure at least one output!</source> + <translation>ᠠᠳᠠᠭ ᠲᠤ᠌ ᠪᠡᠨ ᠨᠢᠭᠡ ᠳᠡᠯᠭᠡᠴᠡ ᠨᠡᠬᠡᠬᠡᠭᠰᠡᠨ ᠪᠠᠢᠬᠤ ᠵᠢ ᠪᠠᠳᠤᠯᠠᠭᠠᠷᠠᠢ !</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1546"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1553"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1846"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>Warning</source> + <translation>ᠰᠡᠷᠡᠮᠵᠢᠯᠡᠬᠦᠯᠬᠦ</translation> + </message> +@@ -13115,7 +13028,7 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">早晨时刻应早于晚上的时刻!</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1555"/> + <source>Sorry, your configuration could not be applied. + Common reasons are that the overall screen size is too big, or you enabled more displays than supported by your GPU.</source> + <translation>ᠠᠭᠤᠴᠢᠯᠠᠭᠠᠷᠠᠢ᠂ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠ ᠵᠢ ᠬᠡᠷᠡᠭᠯᠡᠵᠤ ᠪᠣᠯᠬᠤ ᠥᠬᠡᠢ.</translation> +diff --git a/shell/res/i18n/ug.ts b/shell/res/i18n/ug.ts +index 5553539..e59e581 100644 +--- a/shell/res/i18n/ug.ts ++++ b/shell/res/i18n/ug.ts +@@ -16,12 +16,12 @@ + <translation type="vanished">نەشر نومۇرى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="547"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="548"/> + <source>Status</source> + <translation>ھالەت</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="224"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="225"/> + <source>DateRes</source> + <translation>مۇلازىمەت مۇددىتى توشۇش ۋاقتى</translation> + </message> +@@ -42,7 +42,7 @@ + <translation type="vanished"><<Protocol>></translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="56"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="57"/> + <source>About and Support</source> + <translation>ھەققىدە ۋە قوللاش</translation> + </message> +@@ -87,29 +87,29 @@ + <translation type="vanished">未激活(试用期)</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="229"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="230"/> + <source>Trial expiration time</source> + <translation>سىناپ ئىشلىتىش مۇددىتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="279"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="280"/> + <source>Kylin Linux Desktop (Touch Screen) V10 (SP1)</source> + <translation>V10 (SP1)( سامان يولى ئۈستەل يۈزى مەشغۇلات سىستېمىسى (چوڭ ئېكران نۇسخىسى Kylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="281"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="282"/> + <source>Kylin Linux Desktop (Tablet) V10 (SP1)</source> + <translation>V10 (SP1)( سامان يولى ئۈستەل يۈزى مەشغۇلات سىستېمىسى (تاختا كومپيۇتېر نۇسخىسى Kylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="457"/> +- <location filename="../../../plugins/system/about/about.cpp" line="553"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="458"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="554"/> + <source>expired</source> + <translation>ۋاقتى ئۆتۈپ كەتكەن</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="244"/> +- <location filename="../../../plugins/system/about/about.cpp" line="458"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="245"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="459"/> + <source>Extend</source> + <translation>ئۇزارتىش</translation> + </message> +@@ -118,17 +118,17 @@ + <translation type="obsolete">版权所有 © 2009-2021 麒麟软件 保留所有权利。 {2020 ?}</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="518"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="519"/> + <source>The system needs to be restarted to set the HostName, whether to reboot</source> + <translation>كومپيۇتېر نامى ئۆزگەرتىلدى، سىستېمىنى قايتا قوزغاتقاندىن كېيىن ئاندىن نورمال ئىشلەتكىلى بولىدۇ. سىستېمىنى دەرھال قايتا قوزغىتىشنى تەۋسىيە قىلىمىز!</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="519"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="520"/> + <source>Reboot Now</source> + <translation>ھازىر قايتا قوزغىتىڭ</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="520"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="521"/> + <source>Reboot Later</source> + <translation>كېيىن قايتا قوزغىتىڭ</translation> + </message> +@@ -141,8 +141,8 @@ + <translation type="vanished">延长服务</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="401"/> +- <location filename="../../../plugins/system/about/about.cpp" line="410"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="402"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="411"/> + <source>avaliable</source> + <translation>ئىناۋەتسىز</translation> + </message> +@@ -159,12 +159,12 @@ + <translation type="vanished">版权所有2009-2021@kylinos保留所有权利</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="545"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="546"/> + <source>Version</source> + <translation>نەشرى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="287"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="288"/> + <source>Kylin Linux Desktop V10 (SP1)</source> + <translation>V10 (SP1) ساما يولى ئۈستەل يۈزى مەشغۇلات سىستېمىسى Kylin</translation> + </message> +@@ -192,7 +192,7 @@ + <extra-contents_path>/About/Memory</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="408"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="409"/> + <source>Disk</source> + <translation>دىسكاز</translation> + </message> +@@ -215,7 +215,7 @@ + <translation type="vanished">有效期</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="549"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="550"/> + <source>Serial</source> + <translation>قاتار</translation> + </message> +@@ -228,8 +228,8 @@ + <translation type="vanished">序列号</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="231"/> +- <location filename="../../../plugins/system/about/about.cpp" line="235"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="232"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="236"/> + <source>Active</source> + <translation>ئاكتىپ</translation> + </message> +@@ -246,7 +246,7 @@ + <translation type="vanished">关于</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="58"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="59"/> + <source>About</source> + <translation>ھەققىدە</translation> + </message> +@@ -263,13 +263,13 @@ + <translation type="vanished">可用</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="227"/> +- <location filename="../../../plugins/system/about/about.cpp" line="233"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="228"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="234"/> + <source>Inactivated</source> + <translation>مۇلازىمەتتە</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/about.cpp" line="243"/> ++ <location filename="../../../plugins/system/about/about.cpp" line="244"/> + <source>Activated</source> + <translation>قوزغىتىلدى</translation> + </message> +@@ -313,7 +313,7 @@ + <context> + <name>AboutInterface</name> + <message> +- <location filename="../../../registeredSession/plugins/about/aboutinterface.cpp" line="226"/> ++ <location filename="../../../registeredSession/plugins/about/aboutinterface.cpp" line="238"/> + <source>avaliable</source> + <translation>ئىناۋەتسىز</translation> + </message> +@@ -321,107 +321,107 @@ + <context> + <name>AboutUi</name> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="32"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="33"/> + <source>System Summary</source> + <translation>سىستېما خۇلاسە</translation> + <extra-contents_path>/About/System Summary</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="35"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="37"/> + <source>Privacy and agreement</source> + <translation>مەخپىيەتلىك ۋە كېلىشىم</translation> + <extra-contents_path>/About/Privacy and agreement</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="37"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="40"/> + <source>Support</source> + <translation>قوللاش</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="51"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="381"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="55"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="399"/> + <source>Version</source> + <translation>نەشرى</translation> + <extra-contents_path>/About/version</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="56"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="61"/> + <source>Version Number</source> + <translation>نەشر نومۇرى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="61"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="67"/> + <source>Patch Version</source> + <translation>سىستېما يامىقىنىڭ نەشر نومۇرى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="66"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="73"/> + <source>Installed Date</source> + <translation>قاچىلانغان ۋاقتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="71"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="79"/> + <source>Upgrade Date</source> + <translation>يېڭىلاش ۋاقتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="78"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="87"/> + <source>HostName</source> + <translation>كومپيۇتېر نامى</translation> + <extra-contents_path>/About/HostName</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="90"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="383"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="100"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="401"/> + <source>Kernel</source> + <translation>Kernel</translation> + <extra-contents_path>/About/Kernel</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="95"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="385"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="106"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="403"/> + <source>CPU</source> + <translation>CPU</translation> + <extra-contents_path>/About/CPU</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="100"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="387"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="112"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="405"/> + <source>Memory</source> + <translation>ئىچكى ساقلىغۇچ</translation> + <extra-contents_path>/About/Memory</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="105"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="118"/> + <source>Disk</source> + <translation>دىسكاز</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="110"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="389"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="124"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="407"/> + <source>Desktop</source> + <translation>ئۈستەلئۈستى</translation> + <extra-contents_path>/About/Desktop</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="115"/> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="391"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="130"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="409"/> + <source>User</source> + <translation>ئىشلەتكۈچى</translation> + <extra-contents_path>/About/User</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="123"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="139"/> + <source>Copyright ©%1 %2. All rights reserved.</source> + <translation>نەشر ھوقۇقى©%1 %2. بارلىق ھوقۇق ماقامى.</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="172"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="188"/> + <source>openKylin</source> + <translation>openKylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="169"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="185"/> + <source>KylinSoft</source> + <translation>KylinSoft</translation> + </message> +@@ -430,69 +430,69 @@ + <translation type="vanished">Copyright ©2022 % 1. بارلىق ھوقۇق ماقامى.</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="235"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="251"/> + <source>Wechat code scanning obtains HP professional technical support</source> + <translation>ئۈندىدار كودىنى سىكاننېرلاش HP كەسپىي تېخنىكا جەھەتتىن قوللاشقا ئېرىشتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="236"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="252"/> + <source>See more about Kylin Tianqi edu platform</source> + <translation>Kylin Tianqi edu سۇپىسى ھەققىدە تەپسىلىي مەلۇمات</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="256"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="272"/> + <source>Learn more HP user manual>></source> + <translation>HP ئىشلەتكۈچى قوللانمىسىنى تېخىمۇ كۆپ بىلىۋېلىڭ>></translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="261"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="277"/> + <source>See user manual>></source> + <translation>قوللانما قوللانمىسىغا قاراڭ>></translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="339"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="356"/> + <source>Send optional diagnostic data</source> + <translation>ئىختىيارىي دىياگنوز سانلىق مەلۇماتى يوللاش</translation> +- <extra-contents_path>/About/Send optional diagnostic data</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="340"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="357"/> + <source>By sending us diagnostic data, improve the system experience and solve your problems faster</source> + <translation>دىياگنوز سانلىق مەلۇماتىنى بىزگە يوللاش ئارقىلىق، سىستېما تەجرىبىسىنى يۇقىرى كۆتۈرۈپ، مەسىلىلەرنى تېخىمۇ تېز ھەل قىلىش</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="363"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="380"/> + <source><<Protocol>></source> + <translation>«سىناپ ئىشلىتىشتە جاۋابكارلىقتىن كەچۈرۈم قىلىش كېلىشىمى»</translation> + <extra-contents_path>/About/<<Protocol>></extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="364"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="382"/> + <source>and</source> + <translation>ۋە</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="366"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="384"/> + <source><<Privacy>></source> + <translation>«ئابونتلار مەخپىيەتلىك كېلىشىمى»</translation> + <extra-contents_path>/About/<<Privacy>></extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="393"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="411"/> + <source>Status</source> + <translation>ھالەت</translation> + <extra-contents_path>/About/Status</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="395"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="413"/> + <source>Active</source> + <translation>ئاكتىپ</translation> + <extra-contents_path>/About/Active</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/about/aboutui.cpp" line="396"/> ++ <location filename="../../../plugins/system/about/aboutui.cpp" line="415"/> + <source>Serial</source> + <translation>قاتار</translation> ++ <extra-contents_path>/About/Serial</extra-contents_path> + </message> + </context> + <context> +@@ -708,7 +708,7 @@ + </message> + <message> + <location filename="../../../plugins/devices/shortcut/addshortcutdialog.ui" line="348"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="266"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="265"/> + <source>Cancel</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> +@@ -718,65 +718,65 @@ + <translation>ساقلاش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="73"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="72"/> + <source>Add Shortcut</source> + <translation>قىسقارتىش قوشۇش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="86"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="85"/> + <source>Please enter a shortcut</source> + <translation>بىر قىسقا يولنى كىرگۈزۈڭ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="224"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="223"/> + <source>Desktop files(*.desktop)</source> + <translation>ئۈستەل يۈزى ھۆججەتلىرى(*.desktop)</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="265"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="264"/> + <source>select desktop</source> + <translation>ئۈستەلئۈستى تاللاش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="302"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="323"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="334"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="301"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="322"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="333"/> + <source>Invalid application</source> + <translation>ئىناۋەتسىز ئىلتىماس</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="304"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="319"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="330"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="303"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="318"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="329"/> + <source>Shortcut conflict</source> + <translation>قىسقا يول توقۇنۇشى</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="306"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="321"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="332"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="305"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="320"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="331"/> + <source>Invalid shortcut</source> + <translation>ئىناۋەتسىز قىسقا يول</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="309"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="316"/> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="337"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="308"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="315"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="336"/> + <source>Name repetition</source> + <translation>ئىسىم قايتا تەكرارلاش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="343"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="342"/> + <source>Unknown error</source> + <translation>نامەلۇم خاتالىق</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="522"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="521"/> + <source>Shortcut cannot be empty</source> + <translation>قىسقا يولنى بوش قويۇشقا بولمايدۇ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="526"/> ++ <location filename="../../../plugins/devices/shortcut/addshortcutdialog.cpp" line="525"/> + <source>Name cannot be empty</source> + <translation>ئىسىمنى بوش قويۇشقا بولمايدۇ</translation> + </message> +@@ -1064,7 +1064,7 @@ + <extra-contents_path>/Area/system language</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="639"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="642"/> + <source>Simplified Chinese</source> + <translation>ئاددىيلاشتۇرۇلغان خەنزۇ يېزىقى</translation> + </message> +@@ -1125,18 +1125,28 @@ + <translation>فىرانسۇز تىلى (FR)</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="215"/> +- <location filename="../../../plugins/time-language/area/area.cpp" line="302"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="209"/> ++ <source>Arab (AE)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="210"/> ++ <source>Vietnam (VN)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="217"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="304"/> + <source>Solar calendar</source> + <translation>قۇياش كالېندارى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="221"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="223"/> + <source>Monday</source> + <translation>دۈشەنبە</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="222"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="224"/> + <source>Sunday</source> + <translation>يەكشەنبە</translation> + </message> +@@ -1146,104 +1156,114 @@ + <extra-contents_path>/Area/First Day Of Week</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="216"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="218"/> + <source>Lunar</source> + <translation>ئاي</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="233"/> +- <location filename="../../../plugins/time-language/area/area.cpp" line="384"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="235"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="386"/> + <source>12 Hours</source> + <translation>12 سائەت</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="234"/> +- <location filename="../../../plugins/time-language/area/area.cpp" line="385"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="236"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="387"/> + <source>24 Hours</source> + <translation>24 سائەت</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="366"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="368"/> + <source>MMMM dd, yyyy</source> + <translation>yyyy يىل MM ئاي dd كۈن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="369"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="371"/> + <source>MMMM d, yy</source> + <translation>yy يىل M ئاي d كۈن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="643"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="646"/> + <source>Tibetan</source> + <translation>تىبەت تىلى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="645"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="648"/> + <source>Kazaqa</source> + <translation>قازاقستان</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="647"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="650"/> + <source>Uygur</source> + <translation>ئۇيغۇرچە</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="649"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="652"/> + <source>Kirghiz</source> + <translation>قىرغىزچە</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="651"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="654"/> + <source>Traditional Chinese</source> + <translation>مۇرەككەپ خەنزۇچە</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="653"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="656"/> + <source>Mongolian</source> + <translation>موڭغۇل تىلى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="655"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="658"/> + <source>German</source> + <translation>نېمىس تىلى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="657"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="660"/> + <source>Spanish</source> + <translation>ئىسپان تىلى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="659"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="662"/> + <source>French</source> + <translation>فىرانسۇز تىلى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="672"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="664"/> ++ <source>Arab</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="666"/> ++ <source>Vietnam</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="679"/> + <source>Modify the current region need to logout to take effect, whether to logout?</source> + <translation>ھازىرقى رايونلارنى ئۆزگەرتىشكە توغرا كەلسە، ئۈنۈمىنى كۆرسىتىش كېرەكمۇ- يوق؟</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="673"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="680"/> + <source>Logout later</source> + <translation>كېيىن چېكىنىش</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="674"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="681"/> + <source>Logout now</source> + <translation>ھازىر چېكىنىش</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="676"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="683"/> + <source>Modify the first language need to reboot to take effect, whether to reboot?</source> + <translation>1. تىلنى ئۆزگەرتىش ئارقىلىق قايتىدىن قوزغىتىشقا توغرا كېلىدۇ، قايتىدىن قوزغىلىش كېرەكمۇ-يوق؟</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="677"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="684"/> + <source>Reboot later</source> + <translation>كېيىن قايتا قوزغىتىڭ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="678"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="685"/> + <source>Reboot now</source> + <translation>ھازىر قايتا قوزغىتىڭ</translation> + </message> +@@ -1308,7 +1328,7 @@ + <translation type="vanished">区域格式数据</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/area.cpp" line="641"/> ++ <location filename="../../../plugins/time-language/area/area.cpp" line="644"/> + <source>English</source> + <translation>ئىنگلىز تىلى</translation> + </message> +@@ -1347,31 +1367,31 @@ + <context> + <name>AreaUi</name> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="38"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="39"/> + <source>Regional Format</source> + <translation>رايون شەكلى</translation> + <extra-contents_path>/Area/Regional Format</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="40"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="41"/> + <source>Calendar</source> + <translation>كالېندار</translation> + <extra-contents_path>/Area/Calendar</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="42"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="43"/> + <source>First Day Of Week</source> + <translation>ھەپتىنىڭ بىرىنچى كۈنى</translation> + <extra-contents_path>/Area/First Day Of Week</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="45"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="46"/> + <source>Short Foramt Date</source> + <translation>قىسقا Foramt ۋاقتى</translation> + <extra-contents_path>/Area/Short Foramt Date</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="47"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="48"/> + <source>Long Format Date</source> + <translation>ئۇزۇن فورمات ۋاقتى</translation> + <extra-contents_path>/Area/Long Format Date</extra-contents_path> +@@ -1381,25 +1401,24 @@ + <translation type="vanished">چېسلا</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="50"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="51"/> + <source>Time</source> + <translation>ۋاقتىدا</translation> + <extra-contents_path>/Area/Time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="63"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="64"/> + <source>Language Format</source> + <translation>تىل شەكلى</translation> + <extra-contents_path>/Area/Language Format</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="74"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="76"/> + <source>Language Format Example</source> + <translation type="unfinished"></translation> +- <extra-contents_path>/Area/Language Format Example</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/area/areaui.cpp" line="103"/> ++ <location filename="../../../plugins/time-language/area/areaui.cpp" line="106"/> + <source>System Language</source> + <translation>سىستېما تىلى</translation> + <extra-contents_path>/Area/System Language</extra-contents_path> +@@ -1415,17 +1434,17 @@ + <context> + <name>AutoBoot</name> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="96"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="95"/> + <source>Auto Start</source> + <translation>ئاپتوماتىك قوزغىلىش</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="293"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="292"/> + <source>Desktop files(*.desktop)</source> + <translation>ئۈستەل يۈزى ھۆججەتلىرى(*.desktop)</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="301"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="300"/> + <source>select autoboot desktop</source> + <translation>ئاپتوماتىك قوزغىتىدىغان ئۈستەل يۈزىنى تاللاش</translation> + </message> +@@ -1434,12 +1453,12 @@ + <translation type="obsolete">ئاپتوماتىك قوزغىتىدىغان ئۈستەل يۈزىنى تاللاش</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="302"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="301"/> + <source>Select</source> + <translation>تاللاش</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="303"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="302"/> + <source>Cancel</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> +@@ -1478,7 +1497,7 @@ + <translation type="vanished">当前状态</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="231"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="230"/> + <source>Delete</source> + <translation>ئۆچۈر</translation> + </message> +@@ -1491,13 +1510,13 @@ + <extra-contents_path>/Autoboot/Autoboot Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="17"/> ++ <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="18"/> + <source>Autostart Settings</source> + <translation>ئاپتوماتىك قوزغىتىش تەڭشەكلىرى</translation> + <extra-contents_path>/Autostart/Autostart Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="27"/> ++ <location filename="../../../plugins/application/autoboot/autobootui.cpp" line="28"/> + <source>Add</source> + <translation>قوش</translation> + <extra-contents_path>/Autostart/Add</extra-contents_path> +@@ -2046,7 +2065,7 @@ Please authenticate yourself to continue</source> + <context> + <name>BrightnessFrame</name> + <message> +- <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="36"/> ++ <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="64"/> + <source>Failed to get the brightness information of this monitor</source> + <translation>بۇ كۆزەتكۈچىنىڭ يورۇقلۇق ئۇچۇرىغا ئېرىشەلمىدى</translation> + </message> +@@ -2662,47 +2681,47 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="158"/> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="307"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="309"/> + <source>Cancel</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="161"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="162"/> + <source>Confirm</source> + <translation>جەزملەشتۈرۈش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="302"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="304"/> + <source>select custom face file</source> + <translation>خاس يۈز ھۆججىتىنى تاللاش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="303"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="305"/> + <source>Select</source> + <translation>تاللاش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="304"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="306"/> + <source>Position: </source> + <translation>ئورنى: </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="305"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="307"/> + <source>FileName: </source> + <translation>ھۆججەت نامى: </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="306"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="308"/> + <source>FileType: </source> + <translation>:ھۆججەت تۈرى </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="322"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="324"/> + <source>Warning</source> + <translation>دىققەت</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="323"/> ++ <location filename="../../../plugins/account/userinfo/changeuserlogo.cpp" line="325"/> + <source>The avatar is larger than 1M, please choose again</source> + <translation>باش سۈرەت 1M دىن چوڭ، قايتا تاللاڭ</translation> + </message> +@@ -2756,17 +2775,17 @@ Please authenticate yourself to continue</source> + <translation>تەخەللۇسلار</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="156"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="158"/> + <source>NickName's length must between 1~%1 characters!</source> + <translation>لەقەمنىڭ ئۇزۇنلۇقى چوقۇم 1 ~ %1 ھەرپلەر ئارىسىدا بولۇشى كېرەك!</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="158"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="160"/> + <source>nickName already in use.</source> + <translation>تور نامى ئىشلىتىلىپ بولغان.</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="160"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="162"/> + <source>Can't contains ':'.</source> + <translation>':' نى ئۆز ئىچىگە ئالالمايدۇ.</translation> + </message> +@@ -2792,7 +2811,7 @@ Please authenticate yourself to continue</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="116"/> ++ <location filename="../../../plugins/account/userinfo/changeusernickname.cpp" line="117"/> + <source>Confirm</source> + <translation>جەزملەشتۈرۈش</translation> + </message> +@@ -2806,7 +2825,7 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="103"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="471"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="473"/> + <source>Current Pwd</source> + <translation>ھازىرقى مەخپىي نومۇر</translation> + </message> +@@ -2817,15 +2836,15 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="136"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="472"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="480"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="474"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="482"/> + <source>New Pwd</source> + <translation>يېڭى ئىم</translation> + </message> + <message> + <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="163"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="473"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="481"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="475"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="483"/> + <source>Sure Pwd</source> + <translation>يېڭى مەخپىي نومۇرنى جەزملەشتۈرۈش</translation> + </message> +@@ -2835,50 +2854,50 @@ Please authenticate yourself to continue</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="220"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="305"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="371"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="221"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="307"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="373"/> + <source>Confirm</source> + <translation>جەزملەشتۈرۈش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="281"/> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="544"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="283"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="546"/> + <source>Inconsistency with pwd</source> + <translation>يېڭى مەخپىي نومۇر بىلەن ئوخشاش بولمىدى</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="301"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="303"/> + <source>Same with old pwd</source> + <translation>كونا ئىم بىلەن ئوخشاش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="354"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="356"/> + <source>Pwd Changed Succes</source> + <translation>مەخپىي نومۇرنى ئۆزگەرتىش مۇۋەپىقيەتلىك بولدى</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="361"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="363"/> + <source>Authentication failed, input authtok again!</source> + <translation>!مەخپىي نومۇر كىرگۈزۈش خاتا، قايتا كىرگۈزۈڭ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="503"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="505"/> + <source>Contains illegal characters!</source> + <translation>!قائىدىگە خىلاپ ھەرپ-بەلگە بار</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="615"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="617"/> + <source>current pwd cannot be empty!</source> + <translation>!ھازىرقى مەخپىي نومۇرنى بوش قويۇشقا بولمايدۇ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="620"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="622"/> + <source>new pwd cannot be empty!</source> + <translation>!يېڭى مەخپىي نومۇرنى بوش قويۇشقا بولمايدۇ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="625"/> ++ <location filename="../../../plugins/account/userinfo/changeuserpwd.cpp" line="627"/> + <source>sure pwd cannot be empty!</source> + <translation>!يېڭى مەخپىي نومۇرنى جەزملەشتۈرۈشنى بوش قويۇشقا بولمايدۇ</translation> + </message> +@@ -3044,7 +3063,7 @@ Please authenticate yourself to continue</source> + </message> + <message> + <location filename="../../../plugins/personalized/wallpaper/colordialog.ui" line="86"/> +- <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="89"/> ++ <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="88"/> + <source>Choose a custom color</source> + <translation>خاس رەڭ تاللاش</translation> + </message> +@@ -3069,12 +3088,12 @@ Please authenticate yourself to continue</source> + <translation>ماقۇل</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="94"/> ++ <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="93"/> + <source>Custom color</source> + <translation>خاس رەڭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="182"/> ++ <location filename="../../../plugins/personalized/wallpaper/colordialog.cpp" line="181"/> + <source>Close</source> + <translation>ياپ</translation> + </message> +@@ -3096,18 +3115,18 @@ Please authenticate yourself to continue</source> + <translation>ئىسىم-فامىلىسى</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="78"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="79"/> + <source>Id</source> + <translation>كىملىك</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="92"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="94"/> + <source>Confirm</source> + <translation>جەزملەشتۈرۈش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="202"/> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="216"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="205"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="219"/> + <source>GroupName's length must be between 1 and %1 characters!</source> + <translation>!گۇرۇپپا نامىنىڭ ئۇزۇنلۇقى 1 دىن %1 كىچە بولغان ھەرپ-بەلگە ئارىلىقىدا بولۇشى كېرەك</translation> + </message> +@@ -3128,7 +3147,7 @@ Please authenticate yourself to continue</source> + <translation type="vanished">组成员</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="89"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="90"/> + <source>Cancel</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> +@@ -3137,7 +3156,7 @@ Please authenticate yourself to continue</source> + <translation type="vanished">چۇقۇم</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="50"/> ++ <location filename="../../../plugins/account/userinfo/creategroupdialog.cpp" line="49"/> + <source>Add user group</source> + <translation>ئابونتلار گۇرۇپپىسى قوشۇش</translation> + </message> +@@ -3489,19 +3508,19 @@ change system settings</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="279"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="280"/> + <source>Confirm</source> + <translation>جەزملەشتۈرۈش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="355"/> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="581"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="357"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="583"/> + <source>Inconsistency with pwd</source> + <translation>يېڭى مەخپىي نومۇر بىلەن ئوخشاش بولمىدى</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="494"/> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="647"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="496"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="649"/> + <source>NickName's length must between 1~%1 characters!</source> + <translation>لەقەمنىڭ ئۇزۇنلۇقى چوقۇم 1 ~ %1 ھەرپلەر ئارىسىدا بولۇشى كېرەك!</translation> + </message> +@@ -3510,7 +3529,7 @@ change system settings</source> + <translation type="vanished">تەخەللۇس نامىنى بوش قويۇشقا بولمايدۇ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="496"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="498"/> + <source>nickName already in use.</source> + <translation>تور نامى ئىشلىتىلىپ بولغان.</translation> + </message> +@@ -3519,17 +3538,17 @@ change system settings</source> + <translation type="vanished">تور نامىنىڭ ئۇزۇنلۇقى چوقۇم %1 ھەرپتىن ئاز بولۇشى كېرەك!</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="642"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="644"/> + <source>Username's length must be between 1 and %1 characters!</source> + <translation>ئىشلەتكۈچى نامىنىڭ ئۇزۇنلۇقى چوقۇم %1 بىلەن %1 ھەرپ ئارىلىقىدا بولۇشى كېرەك!</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="652"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="654"/> + <source>new pwd cannot be empty!</source> + <translation>!يېڭى مەخپىي نومۇرنى بوش قويۇشقا بولمايدۇ</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="657"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="659"/> + <source>sure pwd cannot be empty!</source> + <translation>!يېڭى مەخپىي نومۇرنى جەزملەشتۈرۈشنى بوش قويۇشقا بولمايدۇ</translation> + </message> +@@ -3558,7 +3577,7 @@ change system settings</source> + <translation type="vanished">该用户名已存在,请更改。</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="526"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="528"/> + <source>Name corresponds to group already exists.</source> + <translation>ئىسىم ئاللىقاچان مەۋجۇت بولۇپ بولغان توپقا ماس كېلىدىغان .</translation> + </message> +@@ -3571,12 +3590,12 @@ change system settings</source> + <translation type="vanished">用户名仅能包含字母,数字及下划线</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="522"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="524"/> + <source>Username's folder exists, change another one</source> + <translation>ئىشلەتكۈچى نامىنىڭ ھۆججەت قىسقۇچى مەۋجۇت، باشقا بىرسىنى ئالماشتۇر</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="551"/> ++ <location filename="../../../plugins/account/userinfo/createusernew.cpp" line="553"/> + <source>Contains illegal characters!</source> + <translation>!قائىدىگە خىلاپ ھەرپ-بەلگە بار</translation> + </message> +@@ -3755,7 +3774,7 @@ change system settings</source> + <extra-contents_path>/Date/Sync Server</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="341"/> ++ <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="346"/> + <source>Add Timezone</source> + <translation>ۋاقىت رايونى قوشۇش</translation> + </message> +@@ -3818,8 +3837,8 @@ change system settings</source> + <translation type="vanished">ساقلاش</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="201"/> +- <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="343"/> ++ <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="206"/> ++ <location filename="../../../plugins/time-language/datetime/datetime.cpp" line="348"/> + <source>Change Timezone</source> + <translation>ۋاقىت رايونىنى ئۆزگەرتىش</translation> + </message> +@@ -3847,37 +3866,37 @@ change system settings</source> + <context> + <name>DatetimeUi</name> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="53"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="54"/> + <source>Sync Server</source> + <translation>ماس قەدەمدە مۇلازىمېتىر</translation> + <extra-contents_path>/Date/Sync Server</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="75"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="77"/> + <source>Current Date</source> + <translation>نۆۋەتتىكى ۋاقتى</translation> + <extra-contents_path>/Date/Current Date</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="105"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="107"/> + <source>Timezone</source> + <translation>ۋاقىت رايونى</translation> + <extra-contents_path>/Date/Timezone</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="111"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="113"/> + <source>Set Time</source> + <translation>بەلگىلەنگەن ۋاقىت</translation> + <extra-contents_path>/Date/Set Time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="113"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="115"/> + <source>Manual Time</source> + <translation>قوللانما ۋاقتى</translation> + <extra-contents_path>/Date/Manual Time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="115"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="117"/> + <source>Sync Time</source> + <translation>ماس قەدەم ۋاقتى</translation> + <extra-contents_path>/Date/Sync Time</extra-contents_path> +@@ -3888,55 +3907,55 @@ change system settings</source> + <extra-contents_path>/Date/Set Date Manually</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="127"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="129"/> + <source>Set Time Manually</source> + <translation type="unfinished"></translation> + <extra-contents_path>/Date/Set Time Manually</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="162"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="164"/> + <source>Server Address</source> + <translation>مۇلازىمېتىر ئادرېسى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="164"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="166"/> + <source>Required</source> + <translation>تەلەپ قىلىنىدۇ</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="165"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="167"/> + <source>Save</source> + <translation>ساقلاش</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="169"/> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="313"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="171"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="315"/> + <source>Customize</source> + <translation>خاسلاشتۇرۇش</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="197"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="199"/> + <source>Other Timezone</source> + <translation>باشقا ۋاقىت رايونى</translation> + <extra-contents_path>/Date/Other Timezone</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="269"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="271"/> + <source>MMMM d, yy ddd</source> + <translation>yy يىل M ئاي d كۈن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="271"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="273"/> + <source>MMMM dd, yyyy ddd</source> + <translation>yyyy يىل MM ئاي dd كۈن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="302"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="304"/> + <source>Sync failed</source> + <translation>ماس قەدەمدە مەغلۇپ بولدى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="312"/> ++ <location filename="../../../plugins/time-language/datetime/datetimeui.cpp" line="314"/> + <source>Default</source> + <translation>كۆڭۈلدىكى سۆز</translation> + </message> +@@ -4000,56 +4019,56 @@ change system settings</source> + <context> + <name>DefaultAppUi</name> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="17"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="18"/> + <source>DefaultAppWindow</source> + <comment>Select Default Application</comment> + <translation>كۆڭۈلدىكىدەك قوللىنىش</translation> + <extra-contents_path>/Defaultapp/Select Default Application</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="21"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="22"/> + <source>Browser</source> + <translation>تور كۆرگۈچ</translation> + <extra-contents_path>/Defaultapp/Browser</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="23"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="24"/> + <source>Mail</source> + <translation>پوچتا يوللانمىسى</translation> + <extra-contents_path>/Defaultapp/Mail</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="25"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="26"/> + <source>Image Viewer</source> + <translation>رەسىم كۆرگۈچ</translation> + <extra-contents_path>/Defaultapp/Image Viewer</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="27"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="28"/> + <source>Audio Player</source> + <translation>ئۈن قويغۇچ</translation> + <extra-contents_path>/Defaultapp/Audio Player</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="29"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="30"/> + <source>Video Player</source> + <translation>سىن قويغۇچ</translation> + <extra-contents_path>/Defaultapp/Video Player</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="31"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="32"/> + <source>Text Editor</source> + <translation>تېكىست تەھرىرلىگۈچ</translation> + <extra-contents_path>/Defaultapp/Text Editor</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="35"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="36"/> + <source>Reset default apps to system recommended apps</source> + <translation>سىستېما تەۋسىيە قىلىنغان ئەپلەرگە كۆڭۈلدىكى ئەپلەرنى قايتا بېكىتىش</translation> + <extra-contents_path>/Defaultapp/Reset default apps to system recommended apps</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="36"/> ++ <location filename="../../../plugins/application/defaultapp/defaultappui.cpp" line="37"/> + <source>Reset</source> + <translation>قايتا تەڭشە</translation> + </message> +@@ -4275,7 +4294,7 @@ folder will be deleted!</source> + <translation>'? يەنە:</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="65"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="66"/> + <source>Keep desktop, files, favorites, music of the user</source> + <translation>ئۈستەل يۈزى، ھۆججەت، ئامراقلار، ئابونتلارنىڭ مۇزىكىسىنى ساقلاش</translation> + </message> +@@ -4284,17 +4303,17 @@ folder will be deleted!</source> + <translation type="vanished">保留用户家目录</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="98"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="100"/> + <source>Cancel</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="100"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="102"/> + <source>Confirm</source> + <translation>جەزملەشتۈرۈش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="66"/> ++ <location filename="../../../plugins/account/userinfo/deleteuserexists.cpp" line="68"/> + <source>Delete whole data belong user</source> + <translation>پۈتۈن سانلىق مەلۇماتنى ئۆچۈرۈش ئىشلەتكۈچىگە تەۋە</translation> + </message> +@@ -4668,74 +4687,60 @@ folder will be deleted!</source> + <context> + <name>DisplayPerformanceDialog</name> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="26"/> + <source>Dialog</source> +- <translation>دىيالوگ</translation> ++ <translation type="vanished">دىيالوگ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="214"/> + <source>Display Advanced Settings</source> +- <translation>ئىلغار تەڭشەكلەرنى كۆرسىتىش</translation> ++ <translation type="vanished">ئىلغار تەڭشەكلەرنى كۆرسىتىش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="297"/> + <source>Performance</source> +- <translation>ئويۇن قويۇش</translation> ++ <translation type="vanished">ئويۇن قويۇش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="376"/> + <source>Applicable to machine with discrete graphics, which can accelerate the rendering of 3D graphics.</source> +- <translation>3D گىرافىكىنىڭ شەكىللىنىشىنى تېزلەتكىلى بولىدۇ.</translation> ++ <translation type="vanished">3D گىرافىكىنىڭ شەكىللىنىشىنى تېزلەتكىلى بولىدۇ.</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="392"/> + <source>(Note: not support connect graphical with xmanager on windows.)</source> +- <translation>(ئەسكەرتىش: windows دىكى xmanager بىلەن گىرافىكىلىق ئۇلاشنى قوللىمايدۇ.)</translation> ++ <translation type="vanished">(ئەسكەرتىش: windows دىكى xmanager بىلەن گىرافىكىلىق ئۇلاشنى قوللىمايدۇ.)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="462"/> + <source>Compatible</source> +- <translation>ماسلاشتۇرۇلغان</translation> ++ <translation type="vanished">ماسلاشتۇرۇلغان</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="538"/> + <source>Applicable to machine with integrated graphics, there is no 3D graphics acceleration. </source> +- <translation>توپلاشتۇرۇلغان گىرافىكىلىق ماشىنىغا قوللىنىشقا بولىدۇ، 3D گىرافىكىنىڭ تېزلىشى يوق. </translation> ++ <translation type="vanished">توپلاشتۇرۇلغان گىرافىكىلىق ماشىنىغا قوللىنىشقا بولىدۇ، 3D گىرافىكىنىڭ تېزلىشى يوق. </translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="554"/> + <source>(Note: need connect graphical with xmanager on windows, use this option.)</source> +- <translation>(ئەسكەرتىش: windows دىكى xmanager بىلەن گىرافىكىلىق ئۇلىنىشقا موھتاج، بۇ تاللاشنى ئىشلىتىڭ.)</translation> ++ <translation type="vanished">(ئەسكەرتىش: windows دىكى xmanager بىلەن گىرافىكىلىق ئۇلىنىشقا موھتاج، بۇ تاللاشنى ئىشلىتىڭ.)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="624"/> + <source>Automatic</source> +- <translation>ئاپتوماتىك</translation> ++ <translation type="vanished">ئاپتوماتىك</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="700"/> + <source>Auto select according to environment, delay the login time (about 0.5 sec).</source> +- <translation>مۇھىتقا ئاساسەن ئاپتوماتىك تاللاش، كىرىش ۋاقتىنى كېچىكتۈرۈش (تەخمىنەن 0.5 سېكۇنت).</translation> ++ <translation type="vanished">مۇھىتقا ئاساسەن ئاپتوماتىك تاللاش، كىرىش ۋاقتىنى كېچىكتۈرۈش (تەخمىنەن 0.5 سېكۇنت).</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="721"/> + <source>Threshold:</source> +- <translation>چەرچەن:</translation> ++ <translation type="vanished">چەرچەن:</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="744"/> + <source>Apply</source> +- <translation>ئىلتىماس قىلىش</translation> ++ <translation type="vanished">ئىلتىماس قىلىش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="757"/> + <source>Reset</source> +- <translation>قايتا تەڭشە</translation> ++ <translation type="vanished">قايتا تەڭشە</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/displayperformancedialog.ui" line="772"/> + <source>(Note: select this option to use 3D graphics acceleration and xmanager.)</source> +- <translation>(ئەسكەرتىش: 3D گرافىكىلارنى تېزلىتىش ۋە xmanager ئىشلىتىش ئۈچۈن بۇ تاللاشنى تاللاڭ.)</translation> ++ <translation type="vanished">(ئەسكەرتىش: 3D گرافىكىلارنى تېزلىتىش ۋە xmanager ئىشلىتىش ئۈچۈن بۇ تاللاشنى تاللاڭ.)</translation> + </message> + </context> + <context> +@@ -5823,132 +5828,132 @@ folder will be deleted!</source> + <context> + <name>KeyboardUi</name> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="24"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="30"/> + <source>Keyboard Settings</source> + <translation>كۇنۇپكا تاختىسى تەڭشەكلىرى</translation> + <extra-contents_path>/Keyboard/Keyboard Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="35"/> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="167"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="41"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="173"/> + <source>Input Method</source> + <translation>كىرگۈزگۈچ</translation> + <extra-contents_path>/Keyboard/Input Method</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="51"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="57"/> + <source>Virtual Keyboard</source> + <translation>مەۋھۇم كۇنۇپكا تاختىسى</translation> + <extra-contents_path>/Keyboard/Virtual Keyboard</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="106"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="112"/> + <source>Key repeat</source> + <translation>ئاچقۇچ تەكرارلاش</translation> + <extra-contents_path>/Keyboard/Key repeat</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="114"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="120"/> + <source>Delay</source> + <translation>كېچىكتۈرۈش</translation> + <extra-contents_path>/Keyboard/Delay</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="117"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="123"/> + <source>Short</source> + <translation>قىسقا</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="118"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="124"/> + <source>Long</source> + <translation>ئۇزۇن</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="130"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="136"/> + <source>Speed</source> + <translation>سۈرئەت</translation> + <extra-contents_path>/Keyboard/Speed</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="132"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="138"/> + <source>Slow</source> + <translation>ئاستا</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="133"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="139"/> + <source>Fast</source> + <translation>تېز</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="144"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="150"/> + <source>Input test</source> + <translation>كىرگۈزۈش سىنىقى</translation> + <extra-contents_path>/Keyboard/Input test</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="152"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="158"/> + <source>Key tips</source> + <translation>ئاچقۇچلۇق ئەسكەرتىش</translation> + <extra-contents_path>/Keyboard/Key tips</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="161"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="167"/> + <source>Input settings</source> + <translation>كىرگۈزۈش تەڭشەكلىرى</translation> + <extra-contents_path>/Keyboard/Input settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="168"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="174"/> + <source>Edit</source> + <translation>تەھرىرلەش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="175"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="181"/> + <source>Show icon on tray</source> + <translation>داستىكى سىنبەلگىنى كۆرسىتىش</translation> + <extra-contents_path>/Keyboard/Show icon on tray</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="182"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="188"/> + <source>Show icon on desktop</source> + <translation>ئۈستەل يۈزىدە سىنبەلگىنى كۆرسەت</translation> + <extra-contents_path>/Keyboard/Show icon on desktop</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="189"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="195"/> + <source>Keyboard Size</source> + <translation>كۇنۇپكا تاختىسى چوڭلۇقى</translation> + <extra-contents_path>/Keyboard/Keyboard Size</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="197"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="203"/> + <source>Text size</source> + <translation>يېزىق چوڭلۇقى</translation> + <extra-contents_path>/Keyboard/Text size</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="199"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="205"/> + <source>Small</source> + <translation>كىچىك</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="200"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="206"/> + <source>Medium</source> + <translation>ئوتتۇرا ھال</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="201"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="207"/> + <source>Large</source> + <translation>چوڭ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="207"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="213"/> + <source>Animation</source> + <translation>كارتون فىلىم</translation> + <extra-contents_path>/Keyboard/Animation</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="214"/> ++ <location filename="../../../plugins/devices/keyboard/keyboardui.cpp" line="220"/> + <source>Input sound effect</source> + <translation>ئاۋاز كىرگۈزۈش ئۈنۈمى</translation> + <extra-contents_path>/Keyboard/Input sound effect</extra-contents_path> +@@ -5957,12 +5962,12 @@ folder will be deleted!</source> + <context> + <name>LanguageFrame</name> + <message> +- <location filename="../../../plugins/time-language/area/languageframe.cpp" line="70"/> ++ <location filename="../../../plugins/time-language/area/languageframe.cpp" line="90"/> + <source>Input Settings</source> + <translation>كىرگۈزۈش تەڭشەكلىرى</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/area/languageframe.cpp" line="71"/> ++ <location filename="../../../plugins/time-language/area/languageframe.cpp" line="91"/> + <source>Delete</source> + <translation>ئۆچۈر</translation> + </message> +@@ -6437,10 +6442,10 @@ Please retry or relogin!</source> + <translation type="vanished">设置</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="441"/> +- <location filename="../../mainwindow.cpp" line="459"/> +- <location filename="../../mainwindow.cpp" line="591"/> +- <location filename="../../mainwindow.cpp" line="949"/> ++ <location filename="../../mainwindow.cpp" line="475"/> ++ <location filename="../../mainwindow.cpp" line="493"/> ++ <location filename="../../mainwindow.cpp" line="625"/> ++ <location filename="../../mainwindow.cpp" line="979"/> + <source>Settings</source> + <translation>تەڭشەكلەر</translation> + </message> +@@ -6449,7 +6454,7 @@ Please retry or relogin!</source> + <translation type="vanished">ئاساسلىق تىزىملىك</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="480"/> ++ <location filename="../../mainwindow.cpp" line="514"/> + <source>Minimize</source> + <translation>كىچىكلىتىش</translation> + </message> +@@ -6458,7 +6463,7 @@ Please retry or relogin!</source> + <translation type="vanished">最大化/正常</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> ++ <location filename="../../mainwindow.cpp" line="156"/> + <source>Warnning</source> + <translation>ئاگاھلاندۇرۇش</translation> + </message> +@@ -6467,8 +6472,8 @@ Please retry or relogin!</source> + <translation type="vanished">نورمال</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="173"/> +- <location filename="../../mainwindow.cpp" line="481"/> ++ <location filename="../../mainwindow.cpp" line="177"/> ++ <location filename="../../mainwindow.cpp" line="515"/> + <source>Maximize</source> + <translation>ئەڭ چوڭ چەككە</translation> + </message> +@@ -6477,22 +6482,22 @@ Please retry or relogin!</source> + <translation type="obsolete">开始菜单</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="170"/> ++ <location filename="../../mainwindow.cpp" line="174"/> + <source>Restore</source> + <translation>ئەسلىگە كەلتۈرۈش</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="453"/> ++ <location filename="../../mainwindow.cpp" line="487"/> + <source>Back home</source> + <translation>قايتىش</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="479"/> ++ <location filename="../../mainwindow.cpp" line="513"/> + <source>Option</source> + <translation>تاللانما</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="482"/> ++ <location filename="../../mainwindow.cpp" line="516"/> + <source>Close</source> + <translation>ياپ</translation> + </message> +@@ -6509,12 +6514,12 @@ Please retry or relogin!</source> + <translation type="vanished">چىقىش ئېغىزى</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="592"/> ++ <location filename="../../mainwindow.cpp" line="626"/> + <source>Version: </source> + <translation>نەشرى: </translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="731"/> ++ <location filename="../../mainwindow.cpp" line="761"/> + <source>Specified</source> + <translation>بەلگىلەنگەن</translation> + </message> +@@ -6523,13 +6528,13 @@ Please retry or relogin!</source> + <translation type="vanished">控制面板</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="1082"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>Warning</source> + <translation>دىققەت</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> +- <location filename="../../mainwindow.cpp" line="1082"/> ++ <location filename="../../mainwindow.cpp" line="156"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>This function has been controlled</source> + <translation>بۇ فۇنكسىيە كونترول قىلىندى</translation> + </message> +@@ -7834,7 +7839,7 @@ Please retry or relogin!</source> + <translation>پىرىنتېر</translation> + </message> + <message> +- <location filename="../../../plugins/devices/printer/printer.cpp" line="121"/> ++ <location filename="../../../plugins/devices/printer/printer.cpp" line="122"/> + <source>Printers</source> + <translation>پىرىنتېرلار</translation> + </message> +@@ -7851,22 +7856,22 @@ Please retry or relogin!</source> + <context> + <name>PrivacyDialog</name> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="11"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="12"/> + <source>Set</source> + <translation>بەلگىلەش</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="73"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="74"/> + <source>End User License Agreement and Privacy Policy Statement of openKylin</source> + <translation>ئاخىرقى ئىشلەتكۈچىلەر ئىجازەتنامىسى كېلىشىمى ۋە مەخپىيەتلىك سىياسىتى باياناتنامىسى openKylin</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="75"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="76"/> + <source>End User License Agreement and Privacy Policy Statement of Kylin</source> + <translation>ئاخىرقى ئىشلەتكۈچىلەر ئىجازەتنامىسى كېلىشىمى ۋە چىلىن مەخپىيەتلىك سىياسىتى باياناتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="81"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="82"/> + <source>openKylin Community.</source> + <translation>openKylin مەھەللىسى.</translation> + </message> +@@ -8817,7 +8822,7 @@ E-mail: support@kylinos.cn</source> + 长沙(0731)88280170 上海(021)51098866</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/privacydialog.cpp" line="83"/> ++ <location filename="../../../plugins/system/about/privacydialog.cpp" line="84"/> + <source>Kylinsoft Co., Ltd.</source> + <translation>يۇمشاق دېتال چەكلىك شىركىتى Kylin</translation> + </message> +@@ -9187,7 +9192,7 @@ E-mail: support@kylinos.cn</source> + <translation>قىسقا يولنى تەڭشەش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="472"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="474"/> + <source>Edit Shortcut</source> + <translation>قىسقارتىلما يولنى تەھرىرلەش</translation> + </message> +@@ -9317,7 +9322,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">远程桌面</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="75"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="78"/> + <source>User Info</source> + <translation>ئىشلەتكۈچى ئۇچۇرى</translation> + </message> +@@ -9538,17 +9543,17 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">كۈن</translation> + </message> + <message> +- <location filename="../../main.cpp" line="100"/> ++ <location filename="../../main.cpp" line="104"/> + <source>ukui-control-center is disabled!</source> + <translation>ukui كونترول مەركىزى مېيىپ!</translation> + </message> + <message> +- <location filename="../../main.cpp" line="128"/> ++ <location filename="../../main.cpp" line="132"/> + <source>ukui-control-center</source> + <translation>ukui-كونترول-مەركىزى</translation> + </message> + <message> +- <location filename="../../main.cpp" line="89"/> ++ <location filename="../../main.cpp" line="93"/> + <source>ukui-control-center is already running!</source> + <translation>ukui كونترول قىلىش مەركىزى ئاللىقاچان ئىجرادا!</translation> + </message> +@@ -9689,63 +9694,63 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">连接失败,尝试重新连接</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1221"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1201"/> + <source>min length %1 + </source> + <translation>min ئۇزۇنلۇقى %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1231"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1211"/> + <source>min digit num %1 + </source> + <translation>مىڭ خانىلىق num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1240"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1220"/> + <source>min upper num %1 + </source> + <translation>min ئۈستۈنكى num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1249"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1229"/> + <source>min lower num %1 + </source> + <translation>min تۆۋەن num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1258"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1238"/> + <source>min other num %1 + </source> + <translation>min باشقا num %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1268"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1248"/> + <source>min char class %1 + </source> + <translation>min char سىنىپى %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1277"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1257"/> + <source>max repeat %1 + </source> + <translation>max قايتا تەكرارلاش %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1286"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1266"/> + <source>max class repeat %1 + </source> + <translation>ئەڭ چوڭ دەرسى تەكرارلاش %1 + </translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1295"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1275"/> + <source>max sequence %1 + </source> + <translation>ئەڭ چوڭ تەرتىپ %1 +@@ -9764,7 +9769,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">xxx兏兏兏端</translation> + </message> + <message> +- <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="373"/> ++ <location filename="../../../plugins/application/autoboot/autoboot.cpp" line="372"/> + <source>Programs are not allowed to be added.</source> + <translation>پىروگراممىلارنىڭ قوشۇلۇشىغا يول قويۇلمايدۇ.</translation> + </message> +@@ -9822,9 +9827,8 @@ E-mail: support@kylinos.cn</source> + <context> + <name>Screenlock</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="32"/> + <source>Screenlock</source> +- <translation>ئېكران قۇلۇپى</translation> ++ <translation type="vanished">ئېكران قۇلۇپى</translation> + </message> + <message> + <source>Screenlock Interface</source> +@@ -9944,9 +9948,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">2ھ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="172"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> +- <translation>تام قەغىزى ھۆججەتلىرى(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> ++ <translation type="vanished">تام قەغىزى ھۆججەتلىرى(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> + <message> + <source>allFiles(*.*)</source> +@@ -9985,131 +9988,107 @@ E-mail: support@kylinos.cn</source> + <translation type="obsolete">1ھۇدا {3h?}</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="213"/> + <source>select custom wallpaper file</source> +- <translation>خاس تام قەغىزى ھۆججىتىنى تاللاش</translation> ++ <translation type="vanished">خاس تام قەغىزى ھۆججىتىنى تاللاش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="214"/> + <source>Select</source> +- <translation>تاللاش</translation> ++ <translation type="vanished">تاللاش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="215"/> + <source>Position: </source> +- <translation>ئورنى: </translation> ++ <translation type="vanished">ئورنى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="216"/> + <source>FileName: </source> +- <translation>ھۆججەت نامى: </translation> ++ <translation type="vanished">ھۆججەت نامى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="217"/> + <source>FileType: </source> +- <translation>:ھۆججەت تۈرى </translation> ++ <translation type="vanished">:ھۆججەت تۈرى </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="218"/> + <source>Cancel</source> +- <translation>ئەمەلدىن قالدۇرۇش</translation> ++ <translation type="vanished">ئەمەلدىن قالدۇرۇش</translation> + </message> + </context> + <context> + <name>ScreenlockUi</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="41"/> + <source>Show picture of screenlock on screenlogin</source> +- <translation>كۆرسىتىش ئېكرانىدىكى تام قەغىزى كىرىش كۆرۈنمە يۈزىدە</translation> ++ <translation type="vanished">كۆرسىتىش ئېكرانىدىكى تام قەغىزى كىرىش كۆرۈنمە يۈزىدە</translation> + <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="44"/> + <source>Leave lock (System will be locked when the paired phone gone)</source> +- <translation>قۇلۇپنى قالدۇرۇپ قويۇش (بىر جۈپ يانفون يوقاپ كەتكەندە سىستېما قۇلۇپلىنىدۇ)</translation> ++ <translation type="vanished">قۇلۇپنى قالدۇرۇپ قويۇش (بىر جۈپ يانفون يوقاپ كەتكەندە سىستېما قۇلۇپلىنىدۇ)</translation> + <extra-contents_path>/Screenlock/Leave lock (System will be locked when the paired phone gone)</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="45"/> + <source>Specified device</source> +- <translation>بەلگىلەنگەن ئۈسكۈنە</translation> ++ <translation type="vanished">بەلگىلەنگەن ئۈسكۈنە</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="46"/> + <source>No paired phone. Please turn to 'Bluetooth' to pair.</source> +- <translation>جۈپ تېلېفون يوق 'كۆكچىش' نى قوشۇۋېلىپ قوشۇڭ.</translation> ++ <translation type="vanished">جۈپ تېلېفون يوق 'كۆكچىش' نى قوشۇۋېلىپ قوشۇڭ.</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="66"/> + <source>Screenlock</source> +- <translation>ئېكران قۇلۇپى</translation> ++ <translation type="vanished">ئېكران قۇلۇپى</translation> + <extra-contents_path>/Screenlock/Screenlock</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="96"/> + <source>Local Pictures</source> +- <translation>يەرلىك رەسىملەر</translation> ++ <translation type="vanished">يەرلىك رەسىملەر</translation> + <extra-contents_path>/Screenlock/Local Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="98"/> + <source>Online Pictures</source> +- <translation>توردىكى رەسىملەر</translation> ++ <translation type="vanished">توردىكى رەسىملەر</translation> + <extra-contents_path>/Screenlock/Online Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="100"/> + <source>Reset To Default</source> +- <translation>سۈكۈتكە قايتاي</translation> ++ <translation type="vanished">سۈكۈتكە قايتاي</translation> + <extra-contents_path>/Screenlock/Reset To Default</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="112"/> + <source>Bluetooth</source> +- <translation>كۆكچىش</translation> ++ <translation type="vanished">كۆكچىش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="117"/> + <source>No bluetooth adapter detected, can not use Leave Lock.</source> +- <translation>كۆكچىش ماسلاشتۇرغۇچ بايقالمىدى، Leave Lock نى ئىشلەتكىلى بولمايدۇ.</translation> ++ <translation type="vanished">كۆكچىش ماسلاشتۇرغۇچ بايقالمىدى، Leave Lock نى ئىشلەتكىلى بولمايدۇ.</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="136"/> + <source>Monitor Off</source> +- <translation>كۆزەتكۈچنى ئۆچۈرۈش</translation> ++ <translation type="vanished">كۆزەتكۈچنى ئۆچۈرۈش</translation> + <extra-contents_path>/Screenlock/Monitor Off</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="138"/> + <source>Screensaver</source> +- <translation>ئېكران قوغداش</translation> ++ <translation type="vanished">ئېكران قوغداش</translation> + <extra-contents_path>/Screenlock/Screensaver</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="141"/> + <source>Related Settings</source> +- <translation>مۇناسىۋەتلىك تەڭشەكلەر</translation> ++ <translation type="vanished">مۇناسىۋەتلىك تەڭشەكلەر</translation> + <extra-contents_path>/Screenlock/Related Settings</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="147"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="148"/> + <source>Set</source> +- <translation>بەلگىلەش</translation> ++ <translation type="vanished">بەلگىلەش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="163"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="530"/> + <source>Please select device</source> +- <translation>ئۈسكۈنىنى تاللاڭ</translation> ++ <translation type="vanished">ئۈسكۈنىنى تاللاڭ</translation> + </message> + </context> + <context> + <name>Screensaver</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="37"/> + <source>Screensaver</source> +- <translation>ئېكران قوغداش</translation> ++ <translation type="vanished">ئېكران قوغداش</translation> + </message> + <message> + <source>Idle time</source> +@@ -10162,46 +10141,36 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">ئارام ئېلىش ۋاقتىنى كۆرسىتىش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>UKUI</source> +- <translation>UKUI</translation> ++ <translation type="vanished">UKUI</translation> + </message> + <message> + <source>Blank_Only</source> + <translation type="vanished">Blank_Only</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>Customize</source> +- <translation>خاسلاشتۇرۇش</translation> ++ <translation type="vanished">خاسلاشتۇرۇش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>5min</source> +- <translation>بەش مىنۇت</translation> ++ <translation type="vanished">بەش مىنۇت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>10min</source> +- <translation>ئون مىنۇت</translation> ++ <translation type="vanished">ئون مىنۇت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>15min</source> +- <translation>15 مىنۇت</translation> ++ <translation type="vanished">15 مىنۇت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>30min</source> +- <translation>ئوتتۇز مىنۇت</translation> ++ <translation type="vanished">ئوتتۇز مىنۇت</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>1hour</source> +- <translation>بىر سائەت</translation> ++ <translation type="vanished">بىر سائەت</translation> + </message> + <message> + <source>Screensaver source</source> +@@ -10240,10 +10209,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">ئالماشتۇرۇش ۋاقتى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="168"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>1min</source> +- <translation>بىر مىنۇت</translation> ++ <translation type="vanished">بىر مىنۇت</translation> + </message> + <message> + <source>Ordinal</source> +@@ -10310,128 +10277,105 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">ئىختىيارىي</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>Never</source> +- <translation>مەڭگۈ</translation> ++ <translation type="vanished">مەڭگۈ</translation> + </message> + </context> + <context> + <name>ScreensaverUi</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="40"/> + <source>Screensaver</source> +- <translation>ئېكران قوغداش</translation> ++ <translation type="vanished">ئېكران قوغداش</translation> + <extra-contents_path>/Screensaver/Screensaver</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="53"/> + <source>Idle time</source> +- <translation>بىكار ۋاقتى</translation> ++ <translation type="vanished">بىكار ۋاقتى</translation> + <extra-contents_path>/Screensaver/Idle time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="55"/> + <source>Screensaver program</source> +- <translation>ئېكران قوغداش پىروگراممىسى</translation> ++ <translation type="vanished">ئېكران قوغداش پىروگراممىسى</translation> + <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="87"/> + <source>Screensaver source</source> +- <translation>ئېكران يۈزى مەنبەسى</translation> ++ <translation type="vanished">ئېكران يۈزى مەنبەسى</translation> + <extra-contents_path>/Screensaver/Screensaver source</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="92"/> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="455"/> + <source>Select</source> +- <translation>تاللاش</translation> ++ <translation type="vanished">تاللاش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="113"/> + <source>Ordinal</source> +- <translation>ئەنئەنىۋى</translation> ++ <translation type="vanished">ئەنئەنىۋى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="114"/> + <source>Random</source> +- <translation>ئىختىيارىي</translation> ++ <translation type="vanished">ئىختىيارىي</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="121"/> + <source>Random switching</source> +- <translation>خالىغانچە ئالماشتۇرۇش</translation> ++ <translation type="vanished">خالىغانچە ئالماشتۇرۇش</translation> + <extra-contents_path>/Screensaver/Random switching</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="141"/> + <source>Switching time</source> +- <translation>ئالماشتۇرۇش ۋاقتى</translation> ++ <translation type="vanished">ئالماشتۇرۇش ۋاقتى</translation> + <extra-contents_path>/Screensaver/Switching time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="160"/> + <source>Text(up to 30 characters):</source> +- <translation>تېكىست(ئەڭ كۆپ بولغاندا 30 ھەرپ):</translation> ++ <translation type="vanished">تېكىست(ئەڭ كۆپ بولغاندا 30 ھەرپ):</translation> + <extra-contents_path>/Screensaver/Text(up to 30 characters):</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="183"/> + <source>Text position</source> +- <translation>تېكىست ئورنى</translation> ++ <translation type="vanished">تېكىست ئورنى</translation> + <extra-contents_path>/Screensaver/Text position</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="191"/> + <source>Centered</source> +- <translation>مەركەز قىلىنغان</translation> ++ <translation type="vanished">مەركەز قىلىنغان</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="192"/> + <source>Randow(Bubble text)</source> +- <translation>ئىختىيارى(كۆپۈكچە تېكىست)</translation> ++ <translation type="vanished">ئىختىيارى(كۆپۈكچە تېكىست)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="214"/> + <source>Show rest time</source> +- <translation>ئارام ئېلىش ۋاقتىنى كۆرسىتىش</translation> ++ <translation type="vanished">ئارام ئېلىش ۋاقتىنى كۆرسىتىش</translation> + <extra-contents_path>/Screensaver/Show rest time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="224"/> + <source>Lock screen when screensaver boot</source> +- <translation>ئېكراننى كۆزنەك تاقاشتا ئېكراننى قۇلۇپلاش</translation> ++ <translation type="vanished">ئېكراننى كۆزنەك تاقاشتا ئېكراننى قۇلۇپلاش</translation> + <extra-contents_path>/Screensaver/Lock screen when screensaver boot</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="413"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</source> +- <translation>تام قەغىزى ھۆججەتلىرى(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> ++ <translation type="vanished">تام قەغىزى ھۆججەتلىرى(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="454"/> + <source>select custom screensaver dir</source> +- <translation>خاس ئېكران كۆرگۈچنى تاللاش</translation> ++ <translation type="vanished">خاس ئېكران كۆرگۈچنى تاللاش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="456"/> + <source>Position: </source> +- <translation>ئورنى: </translation> ++ <translation type="vanished">ئورنى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="457"/> + <source>FileName: </source> +- <translation>ھۆججەت نامى: </translation> ++ <translation type="vanished">ھۆججەت نامى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="458"/> + <source>FileType: </source> +- <translation>:ھۆججەت تۈرى </translation> ++ <translation type="vanished">:ھۆججەت تۈرى </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="459"/> + <source>Cancel</source> +- <translation>ئەمەلدىن قالدۇرۇش</translation> ++ <translation type="vanished">ئەمەلدىن قالدۇرۇش</translation> + </message> + </context> + <context> +@@ -10811,81 +10755,82 @@ E-mail: support@kylinos.cn</source> + <context> + <name>ShortcutUi</name> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="33"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="34"/> + <source>System Shortcut</source> + <translation>سىستېما قىسقارتىش يولى</translation> + <extra-contents_path>/Shortcut/System Shortcut</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="46"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="47"/> + <source>Customize Shortcut</source> + <translation>قىسقا يولنى تەڭشەش</translation> + <extra-contents_path>/Shortcut/Customize Shortcut</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="77"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="81"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="98"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="102"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="180"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="269"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="79"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="83"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="100"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="104"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="182"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="271"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="483"/> + <source>Null</source> + <translation>يوق</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="230"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="362"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="605"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="232"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="364"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="619"/> + <source>Cancel</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="231"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="363"/> + <source>Use</source> +- <translation>ئىشلىتىش</translation> ++ <translation type="vanished">ئىشلىتىش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="232"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="364"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="607"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="234"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="366"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="621"/> + <source>Shortcut key conflict, use it?</source> + <translation>قىسقا يول ئاچقۇچ توقۇنۇشى، ئىشلىتەمسىز؟</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="233"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="365"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="235"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="367"/> + <source>%1 occuied, using this combination will invalidate %2</source> + <translation>%1 قوشۇلدى، بۇ بىرىكمە ئارقىلىق %2 ئىناۋەتسىز بولىدۇ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="256"/> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="395"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="258"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="397"/> + <source>Shortcut "%1" occuied, please change the key combination</source> + <translation>قىسقا يول «%1» نى ئۆزگەرتىڭ، كۇنۇپكا بىرىكمىسىنى ئالماشتۇرۇڭ</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="447"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="449"/> + <source>Edit</source> + <translation>تەھرىرلەش</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="448"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="450"/> + <source>Delete</source> + <translation>ئۆچۈر</translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="606"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="233"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="365"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="620"/> + <source>Continue</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="608"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="622"/> + <source>"%1" occuied, using this combination will invalidate "%2".</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="648"/> ++ <location filename="../../../plugins/devices/shortcut/shortcutui.cpp" line="662"/> + <source> or </source> + <translation> ياكى </translation> + </message> +@@ -10983,7 +10928,7 @@ E-mail: support@kylinos.cn</source> + <translation>ھەققىدە</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/statusdialog.cpp" line="59"/> ++ <location filename="../../../plugins/system/about/statusdialog.cpp" line="60"/> + <source>Activation Code</source> + <translation>قوزغىتىش كودى</translation> + </message> +@@ -11401,117 +11346,117 @@ E-mail: support@kylinos.cn</source> + <extra-contents_path>/Theme/Theme Mode</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="111"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="534"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="108"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="539"/> + <source>Theme</source> + <translation>ئۇسلۇب</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="188"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="186"/> + <source>Default</source> + <translation>كۆڭۈلدىكى سۆز</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="184"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="182"/> + <source>Light</source> + <translation>نۇر</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="184"/> + <source>Dark</source> + <translation>قاراڭغۇلۇق</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="190"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="188"/> + <source>Auto</source> + <translation>ئاپتوماتىك</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="423"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="426"/> + <source>Corlor</source> + <translation>تەكىتلەنگەن رەڭ</translation> + <extra-contents_path>/Theme/Corlor</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="608"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="614"/> + <source>Other</source> + <translation>باشقا</translation> + <extra-contents_path>/Theme/Other</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="613"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="617"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="619"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="623"/> + <source>Set</source> + <translation>بەلگىلەش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="611"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="617"/> + <source>Wallpaper</source> + <translation>تام قەغىزى</translation> + <extra-contents_path>/Theme/Wallpaper</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="224"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="223"/> + <source>Corner</source> + <translation>بۇلۇڭ</translation> + <extra-contents_path>/Theme/Corner</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="230"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="229"/> + <source>Right angle</source> + <translation>ئوڭ بۇلۇڭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="231"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="230"/> + <source>Small</source> + <translation>كىچىك</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="232"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="231"/> + <source>Big</source> + <translation>چوڭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="615"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="621"/> + <source>Beep</source> + <translation>بىتچىت</translation> + <extra-contents_path>/Theme/Beep</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="963"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="972"/> + <source>Blue-Crystal</source> + <translation>كۆك كىرىستال</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="965"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1049"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="974"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1058"/> + <source>Light-Seeking</source> + <translation>يورۇقلۇق ئىزدەيمەن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="967"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="976"/> + <source>DMZ-Black</source> + <translation>تەگ قارا</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="969"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="978"/> + <source>DMZ-White</source> + <translation>تەگ ئاق</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="971"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="980"/> + <source>Dark-Sense</source> + <translation>زۇلمەتلىك سەزگۈ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1045"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1049"/> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1055"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1054"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1058"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1064"/> + <source>basic</source> + <translation>ئاساسىي</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1047"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1056"/> + <source>Classic</source> + <translation>نادىر ناخشا – فىلىم</translation> + </message> +@@ -11524,57 +11469,57 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">时尚</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1053"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1062"/> + <source>hp</source> + <translation>خۈيپۇ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1055"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1064"/> + <source>ukui</source> + <translation>ukui</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1051"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1060"/> + <source>HeYin</source> + <translation>خېيىن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1047"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1056"/> + <source>classic</source> + <translation>نادىر</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1057"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1066"/> + <source>daybreakBlue</source> + <translation>كۆك</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1059"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1068"/> + <source>jamPurple</source> + <translation>سۆسۈن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1061"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1070"/> + <source>magenta</source> + <translation>ئەتىرگۈل قىزىلى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1063"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1072"/> + <source>sunRed</source> + <translation>قىزىل</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1065"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1074"/> + <source>sunsetOrange</source> + <translation>قىزغۇچ سېرىق</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1067"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1076"/> + <source>dustGold</source> + <translation>ئالتۇن رەڭ</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="1069"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="1078"/> + <source>polarGreen</source> + <translation>يېشىل</translation> + </message> +@@ -11587,13 +11532,13 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">中</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="248"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="247"/> + <source>Window Theme</source> + <translation>كۆزنەك ئۇسلۇبى</translation> + <extra-contents_path>/Theme/Window Theme</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="250"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="249"/> + <source>Icon Theme</source> + <translation>سىنبەلگىلىك ئۇسلۇب</translation> + <extra-contents_path>/Theme/Icon Theme</extra-contents_path> +@@ -11603,19 +11548,19 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">ئۇسلۇبنى كونترول قىلىش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="253"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="252"/> + <source>Cursor Theme</source> + <translation>Cursor ئۇسلۇبى</translation> + <extra-contents_path>/Theme/Cursor Theme</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="215"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="214"/> + <source>Effect Setting</source> + <translation>ئۈنۈم تەڭشىكى</translation> + <extra-contents_path>/Theme/Effect Setting</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="222"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="221"/> + <source>Transparency</source> + <translation>سۈزۈكلۈك</translation> + <extra-contents_path>/Theme/Transparency</extra-contents_path> +@@ -11625,7 +11570,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">透明特效</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/theme/theme.cpp" line="220"/> ++ <location filename="../../../plugins/personalized/theme/theme.cpp" line="219"/> + <source>Performance mode</source> + <translation>ئىجرا قىلىش شەكلى</translation> + <extra-contents_path>/Theme/Performance mode</extra-contents_path> +@@ -11654,27 +11599,27 @@ E-mail: support@kylinos.cn</source> + <context> + <name>TimeBtn</name> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="106"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="107"/> + <source>Tomorrow</source> + <translation>ئەتە</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="108"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="109"/> + <source>Yesterday</source> + <translation>تۈنۈگۈن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="110"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="111"/> + <source>Today</source> + <translation>تارىخ-بۈگۈن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="128"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="129"/> + <source>%1 hours earlier than local</source> + <translation>يەرلىكتىن %1 سائەت بۇرۇن</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="130"/> ++ <location filename="../../../plugins/time-language/datetime/timeBtn.cpp" line="131"/> + <source>%1 hours later than local</source> + <translation>يەرلىكتىن %1 سائەت كېيىن</translation> + </message> +@@ -11682,12 +11627,12 @@ E-mail: support@kylinos.cn</source> + <context> + <name>TimeZoneChooser</name> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="35"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="34"/> + <source>Cancel</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="37"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="36"/> + <source>Confirm</source> + <translation>جەزملەشتۈرۈش</translation> + </message> +@@ -11696,7 +11641,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">更改时区</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="33"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="32"/> + <source>Search Timezone</source> + <translation>ئىزدە ۋاقىت رايونى</translation> + </message> +@@ -11705,7 +11650,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">搜索时区</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="64"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="63"/> + <source>To select a time zone, please click where near you on the map and select a city from the nearest city</source> + <translation>ۋاقىت رايونىنى تاللاش ئۈچۈن خەرىتىدىكى ئۆزىڭىزنىڭ يېنىدىكى يەرنى چېكىپ، ئەڭ يېقىن شەھەردىن شەھەر تاللاڭ</translation> + </message> +@@ -11718,7 +11663,7 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">更改时区</translation> + </message> + <message> +- <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="40"/> ++ <location filename="../../../plugins/time-language/datetime/worldMap/timezonechooser.cpp" line="39"/> + <source>Change Timezone</source> + <translation>ۋاقىت رايونىنى ئۆزگەرتىش</translation> + </message> +@@ -11895,12 +11840,12 @@ E-mail: support@kylinos.cn</source> + <translation>بەلگىلەش</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/trialdialog.cpp" line="37"/> ++ <location filename="../../../plugins/system/about/trialdialog.cpp" line="38"/> + <source>Yinhe Kylin OS(Trail Version) Disclaimer</source> + <translation>سامان يولى چىلىن (ئىز نۇسخىسى) نى تارقاتقۇچى</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/trialdialog.cpp" line="46"/> ++ <location filename="../../../plugins/system/about/trialdialog.cpp" line="47"/> + <source>Dear customer: + Thank you for trying Yinhe Kylin OS(trail version)! This version is free for users who only try out, no commercial purpose is permitted. The trail period lasts one year and it starts from the ex-warehouse time of the OS. No after-sales service is provided during the trail stage. If any security problems occurred when user put important files or do any commercial usage in system, all consequences are taken by users. Kylin software Co., Ltd. take no legal risk in trail version. + During trail stage,if you want any technology surpport or activate the system, please buy“Yinhe Kylin Operating System”official version or authorization by contacting 400-089-1870.</source> +@@ -11917,7 +11862,7 @@ E-mail: support@kylinos.cn</source> + 在试用过程中,如希望激活或者得到专业的技术服务支持,请您购买“银河麒麟操作系统”正式版本或授权,联系方式如下:400-089-1870。</translation> + </message> + <message> +- <location filename="../../../plugins/system/about/trialdialog.cpp" line="60"/> ++ <location filename="../../../plugins/system/about/trialdialog.cpp" line="61"/> + <source>Kylin software Co., Ltd.</source> + <translation>Kylin يۇمشاق دېتال چەكلىك شىركىتى</translation> + </message> +@@ -12342,12 +12287,12 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">管理员用户</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1088"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1043"/> + <source>root</source> + <translation>يىلتىز</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1056"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1011"/> + <source>Hint</source> + <translation>ئەسكەرتىش</translation> + </message> +@@ -12356,32 +12301,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">更改账户类型需要注销后生效,是否注销?</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="956"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="911"/> + <source>The account type of “%1” has been modified, will take effect after logout, whether to logout?</source> + <translation>«%1» نىڭ ھېسابات تىپى ئۆزگەرتىلدى، چېكىنگەندىن كېيىن كۈچكە ئىگە بولامدۇ- يوق؟</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="957"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="912"/> + <source>logout later</source> + <translation>كېيىن چېكىنىش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="958"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="913"/> + <source>logout now</source> + <translation>ھازىر چېكىنىش</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1057"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1012"/> + <source>The system only allows one user to log in automatically.After it is turned on, the automatic login of other users will be turned off.Is it turned on?</source> + <translation>سىستېما پەقەت بىرلا ئابونتنىڭ ئاپتوماتىك كىرەلىشىگە يول قويىدۇ. ئېچىۋېتىلگەندىن كېيىن باشقا ئابونتلارنىڭ ئاپتوماتىك كىرىشى ئۆچۈرۈلىدۇ. ئېچىلىپ كەتتىمۇ؟</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1060"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1015"/> + <source>Trun on</source> + <translation>Trun on</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1061"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1016"/> + <source>Close on</source> + <translation>يېپىش</translation> + </message> +@@ -12398,12 +12343,12 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">验证</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1084"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1039"/> + <source>Standard</source> + <translation>ئۆلچەم</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1086"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="1041"/> + <source>Admin</source> + <translation>باشقۇرغۇچى</translation> + </message> +@@ -12412,13 +12357,13 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">删除</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="161"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="170"/> + <source>CurrentUser</source> + <translation>نۆۋەتتىكى ئىشلەتكۈچى</translation> + <extra-contents_path>/Userinfo/CurrentUser</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="167"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="176"/> + <source>OthersUser</source> + <translation>باشقا ئىشلەتكۈچى</translation> + <extra-contents_path>/Userinfo/OthersUser</extra-contents_path> +@@ -12428,36 +12373,36 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Passwd</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="209"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="218"/> + <source>Groups</source> + <translation>گۇرۇپپىلار</translation> + <extra-contents_path>/Userinfo/Groups</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="261"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="270"/> + <source>AutoLoginOnBoot</source> + <translation>ئاپتوماتىك كىرىشنى ئېچىۋېتىش</translation> + <extra-contents_path>/Userinfo/AutoLoginOnBoot</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="256"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="265"/> + <source>LoginWithoutPwd</source> + <translation>مەخپىي نومۇرسىز كىرىش</translation> + <extra-contents_path>/Userinfo/LoginWithoutPwd</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="169"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="178"/> + <source>Add</source> + <translation>قوش</translation> + <extra-contents_path>/Userinfo/Add</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="570"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="540"/> + <source>Warning</source> + <translation>دىققەت</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="570"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="540"/> + <source>The user is logged in, please delete the user after logging out</source> + <translation>ئابۇنت تىزىملىتىپ كىردى، تىزىملىتىپ كىرگەندىن كېيىن ئابونتنى ئۆچۈرۈڭ</translation> + </message> +@@ -12489,14 +12434,14 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/account/userinfo/userinfo.ui" line="309"/> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="197"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="206"/> + <source>Password</source> + <translation>ئىم</translation> + <extra-contents_path>/Userinfo/Password</extra-contents_path> + </message> + <message> + <location filename="../../../plugins/account/userinfo/userinfo.ui" line="331"/> +- <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="203"/> ++ <location filename="../../../plugins/account/userinfo/userinfo.cpp" line="212"/> + <source>Type</source> + <translation>تۈرى</translation> + <extra-contents_path>/Userinfo/Type</extra-contents_path> +@@ -12661,12 +12606,12 @@ E-mail: support@kylinos.cn</source> + <translation>ئۆچۈر</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="205"/> ++ <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="216"/> + <source>Standard</source> + <translation>ئۆلچەم</translation> + </message> + <message> +- <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="207"/> ++ <location filename="../../../plugins/account/userinfo/utilsforuserinfo.cpp" line="218"/> + <source>Admin</source> + <translation>باشقۇرغۇچى</translation> + </message> +@@ -12762,19 +12707,19 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">背景</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="31"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="48"/> + <source>Background</source> + <translation>تەگلىك</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="137"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="156"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="205"/> + <source>picture</source> + <translation>رەسىم</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="137"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="153"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> + <source>color</source> + <translation>رەڭ</translation> + </message> +@@ -12787,43 +12732,43 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">自定义颜色</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="167"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="216"/> + <source>wallpaper</source> + <translation>تام قەغىزى</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="169"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="218"/> + <source>centered</source> + <translation>مەركەز قىلىنغان</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="165"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> + <source>scaled</source> + <translation>كۆلەملەشكەن</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="171"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="220"/> + <source>stretched</source> + <translation>سوزۇلغان</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="173"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="222"/> + <source>zoom</source> + <translation>چوڭايتىش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="144"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="175"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="224"/> + <source>spanned</source> + <translation>رايون ئاتلاش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="219"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="291"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> + <translation>تام قەغىزى ھۆججەتلىرى(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> +@@ -12832,32 +12777,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">所有文件(*.*)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="259"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="331"/> + <source>select custom wallpaper file</source> + <translation>خاس تام قەغىزى ھۆججىتىنى تاللاش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="260"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="332"/> + <source>Select</source> + <translation>تاللاش</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="261"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="333"/> + <source>Position: </source> + <translation>ئورنى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="262"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="334"/> + <source>FileName: </source> + <translation>ھۆججەت نامى: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="263"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="335"/> + <source>FileType: </source> + <translation>:ھۆججەت تۈرى </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="264"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="336"/> + <source>Cancel</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> +@@ -12865,37 +12810,37 @@ E-mail: support@kylinos.cn</source> + <context> + <name>WallpaperUi</name> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="28"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="29"/> + <source>Background</source> + <translation>تەگلىك</translation> + <extra-contents_path>/Wallpaper/Background</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="30"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="31"/> + <source>Type</source> + <translation>تۈرى</translation> + <extra-contents_path>/Wallpaper/Type</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="66"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="67"/> + <source>Desktop Background</source> + <translation>ئۈستەل ئۈستى ئارقا كۆرۈنۈشى</translation> + <extra-contents_path>/Wallpaper/Desktop Background</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="93"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="94"/> + <source>Local Pictures</source> + <translation>يەرلىك رەسىملەر</translation> + <extra-contents_path>/Wallpaper/Local Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="95"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="96"/> + <source>Online Pictures</source> + <translation>توردىكى رەسىملەر</translation> + <extra-contents_path>/Wallpaper/Online Pictures</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="97"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaperui.cpp" line="98"/> + <source>Reset To Default</source> + <translation>سۈكۈتكە قايتاي</translation> + <extra-contents_path>/Wallpaper/Reset To Default</extra-contents_path> +@@ -12921,106 +12866,106 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">بىر قىسىم قوللىنىشچان پروگراممىلارنىڭ ئۈنۈمگە ئىھتىياجى بار</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="266"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="288"/> + <source>Night Mode</source> + <translation>تۈن ھالىتى</translation> + <extra-contents_path>/Display/Night Mode</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="277"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1986"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2012"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="299"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> + <source>Open</source> + <translation>ئېچىش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="277"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="299"/> + <source>When turned on, it will reduce the blue light of the screen.</source> + <translation>يانغاندا ئېكراننىڭ كۆك نۇرنى تۆۋەنلىتىدۇ.</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="290"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="312"/> + <source>Time</source> + <translation>ۋاقتىدا</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="300"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="322"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>Custom Time</source> + <translation>تاموژنا ۋاقتى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="311"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="333"/> + <source>to</source> + <translation>غا</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="284"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="329"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="306"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="351"/> + <source>Color Temperature</source> + <translation>رەڭ تېمپېراتۇرىسى</translation> + <extra-contents_path>/Display/Color Temperature</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="271"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="293"/> + <source>Eye Protection Mode</source> + <translation>كۆز ئاسراش ئەندىزىسى</translation> + <extra-contents_path>/Display/Eye protection mode</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="271"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="293"/> + <source>When turned on, it can reduce blue light to prevent eye, the screen will turn yellow.</source> + <translation>يانغاندا كۆك نۇرنى ئازايتىپ كۆزنىڭ ئالدىنى ئالغىلى بولىدۇ، ئېكران سارغىيىپ كېتىدۇ.</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="282"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="304"/> + <source>Color Temperature And Eye Care</source> + <translation>رەڭ تېمپېراتۇرىسى ۋە كۆز ئاسراش</translation> + <extra-contents_path>/Display/Color Temperature And Eye Care</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="331"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="353"/> + <source>Warmer</source> + <translation>تېخىمۇ ئىللىق</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="332"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="354"/> + <source>Colder</source> + <translation>سوغۇق</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="610"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="632"/> + <source>Multi-screen</source> + <translation>كۆپ ئېكرانلىق</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="615"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="637"/> + <source>First Screen</source> + <translation>بىرىنچى ئېكران</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="619"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="641"/> + <source>Clone Screen</source> + <translation>كىلون ئېكرانى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1985"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> + <source>Turning on 'Eye Protection Mode' will turn off 'Color Temperature'. Continue turning it on?</source> + <translation>'كۆز ئاسراش شەكلى'نى ئېچىش «رەڭلىك تېمپېراتۇرا» نى ئۆچۈرۈۋېتىدۇ. داۋاملىق ئېچىپ قويامسىز؟</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1987"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2013"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2048"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2074"/> + <source>Cancel</source> + <translation>ئەمەلدىن قالدۇرۇش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2011"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> + <source>Turning on 'Color Temperature' will turn off 'Eye Protection Mode'. Continue turning it on?</source> + <translation>'رەڭلىك تېمپېراتۇرا' نى ئېچىش «كۆز ئاسراش شەكلى»نى ئۆچۈرۈۋېتىدۇ. داۋاملىق ئېچىپ قويامسىز؟</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2744"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2846"/> + <source>Auto Brightness</source> + <translation>ئاپتوماتىك يورۇقلۇق</translation> + <extra-contents_path>/Display/Auto Brightness</extra-contents_path> +@@ -13030,32 +12975,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">Ambient ئارقىلىق ئېكراننىڭ يورۇقلۇقىنى تەڭشەش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="792"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="822"/> + <source>scale</source> + <translation>كۆلەم</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="797"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="827"/> + <source>The screen %1 has been modified, whether to save it ? <br/><font style= 'color:#626c6e'>the settings will be restore after 14 seconds</font></source> + <translation>%1 نىڭ ئېكرانى ئۆزگەرتىلدى، ساقلاش كېرەكمۇ يوق ؟ <br/> <font style= 'color:#626c6e'>تەڭشەكلەر 14 سېكۇنتتىن كېيىن ئەسلىگە كېلىدۇ</font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="808"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="838"/> + <source>The screen %1 has been modified, whether to save it ? <br/><font style= 'color:#626c6e'>the settings will be restore after %2 seconds</font></source> + <translation>%1 نىڭ ئېكرانى ئۆزگەرتىلدى، ساقلاش كېرەكمۇ يوق ؟ <br/> <font style= 'color:#626c6e'>تەڭشەكلەر %2 سېكۇنتتىن كېيىن ئەسلىگە كېلىدۇ</font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1022"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1069"/> + <source>The zoom has been modified, it will take effect after you log off</source> + <translation>چوڭايتىپ ئۆزگەرتىش كىرگۈزۈلدى، سىز چېكىنگەندىن كېيىن كۈچكە ئىگە بولىدۇ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2773"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2875"/> + <source>as main</source> + <translation>ئاساسلىقى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2794"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2896"/> + <source>open monitor</source> + <translation>ئوچۇق كۆزەتكۈچ</translation> + </message> +@@ -13068,39 +13013,39 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">%1 نىڭ ئېكرانى ئۆزگەرتىلدى، ساقلاش كېرەكمۇ يوق ؟ <br/> <font style= 'color:#626c6e'>تەڭشەكلەر %2 سېكۇنتتىن كېيىن ساقلىنىدۇ</font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2252"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2258"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2317"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2323"/> + <source>Follow the sunrise and sunset</source> + <translation>كۈن چىقىش ۋە كۈن پېتىشقا ئەگىشىپ</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="618"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="640"/> + <source>Extend Screen</source> + <translation>ئېكراننى ئۇزارتىش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="616"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="638"/> + <source>Vice Screen</source> + <translation>قوشۇمچە ئېكران</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="621"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2638"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="643"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2740"/> + <source>Splice Screen</source> + <translation>Splice ئېكرانى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2701"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2803"/> + <source>Splicing Method</source> + <translation>پۇشۇرۇش ئۇسۇلى</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2704"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2806"/> + <source>Change</source> + <translation>ئۆزگەرتىش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2772"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> + <source>monitor</source> + <translation>كۆزەتكۈچى</translation> + </message> +@@ -13113,17 +13058,17 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">ئۇسلۇب كېچىلىك ھالىتىگە ئەگىشىش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="783"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="813"/> + <source>resolution</source> + <translation>ئېنىقلىما</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="786"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="816"/> + <source>orientation</source> + <translation>يۆلىنىش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="789"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="819"/> + <source>frequency</source> + <translation>چاستوتىسى</translation> + </message> +@@ -13137,12 +13082,12 @@ the settings will be saved after 14 seconds</source> + <translation type="vanished">是否保留当前修改的配置?将在14秒后自动保存配置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="777"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="806"/> + <source>Save</source> + <translation>ساقلاش</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="776"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="805"/> + <source>Not Save</source> + <translation>ساقلىماسلىق</translation> + </message> +@@ -13156,18 +13101,18 @@ the settings will be saved after %1 seconds</source> + <translation type="vanished">چوڭايتما ئىقتىدارى چېكىنىپ ئۈنۈمگە ئىھتىياجلىق</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1023"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1070"/> + <source>Log out now</source> + <translation>ھازىر چېكىن</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1024"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1071"/> + <source>Later</source> + <translation>كېيىنچە</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1041"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1051"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1088"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1098"/> + <source>(Effective after logout)</source> + <translation>(چېكىنگەندىن كېيىن ئۈنۈملۈك)</translation> + </message> +@@ -13176,7 +13121,7 @@ the settings will be saved after %1 seconds</source> + <translation type="obsolete">应用</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>All Day</source> + <translation>كۈن بويى</translation> + </message> +@@ -13185,8 +13130,8 @@ the settings will be saved after %1 seconds</source> + <translation type="vanished">跟随日出日落(17:55-06:23)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2283"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2289"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2348"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2354"/> + <source>Brightness</source> + <translation>يورۇقلۇق</translation> + <extra-contents_path>/Display/Brightness</extra-contents_path> +@@ -13212,7 +13157,7 @@ If something goes wrong, the settings will be restored after 9 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在9秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2781"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2883"/> + <source>screen zoom</source> + <translation>ئېكراننى چوڭايت</translation> + </message> +@@ -13248,15 +13193,15 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在%1秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1488"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1788"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>please insure at least one output!</source> + <translation>ئەڭ ئاز بولغاندىمۇ بىر مالنى سۇغۇرتىغا ئالدۇرۇڭ!</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1488"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1495"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1788"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>Warning</source> + <translation>دىققەت</translation> + </message> +@@ -13277,7 +13222,7 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">早晨时刻应早于晚上的时刻!</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1496"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1555"/> + <source>Sorry, your configuration could not be applied. + Common reasons are that the overall screen size is too big, or you enabled more displays than supported by your GPU.</source> + <translation>كەچۈرۈڭ، سەپلىمىڭىز قوللىنىلمىدى. +diff --git a/shell/res/i18n/zh_CN.ts b/shell/res/i18n/zh_CN.ts +index bef9cf9..0aa80e0 100644 +--- a/shell/res/i18n/zh_CN.ts ++++ b/shell/res/i18n/zh_CN.ts +@@ -396,6 +396,7 @@ + <location filename="../../../plugins/system/about/aboutui.cpp" line="87"/> + <source>HostName</source> + <translation>计算机名</translation> ++ <extra-contents_path>/About/HostName</extra-contents_path> + </message> + <message> + <location filename="../../../plugins/system/about/aboutui.cpp" line="100"/> +@@ -2142,7 +2143,7 @@ Please authenticate yourself to continue</source> + <context> + <name>BrightnessFrame</name> + <message> +- <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="66"/> ++ <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="64"/> + <source>Failed to get the brightness information of this monitor</source> + <translation>未能获得该显示器的亮度信息</translation> + </message> +@@ -3791,12 +3792,10 @@ change system settings</source> + <message> + <source>Other Timezone</source> + <translation type="vanished">其他时区时间</translation> +- <extra-contents_path>/Date/Other Timezone</extra-contents_path> + </message> + <message> + <source>24-hour clock</source> + <translation type="vanished">24小时制</translation> +- <extra-contents_path>/Date/24-hour clock</extra-contents_path> + </message> + <message> + <source>Sync from network</source> +@@ -3827,17 +3826,14 @@ change system settings</source> + <message> + <source>Manual Time</source> + <translation type="vanished">手动设置时间</translation> +- <extra-contents_path>/Date/Manual Time</extra-contents_path> + </message> + <message> + <source>Sync Time</source> + <translation type="vanished">自动同步时间</translation> +- <extra-contents_path>/Date/Sync Time</extra-contents_path> + </message> + <message> + <source>Auto Sync Time</source> + <translation type="vanished">自动同步时间</translation> +- <extra-contents_path>/Date/Auto Sync Time</extra-contents_path> + </message> + <message> + <source>Time Server</source> +@@ -3850,7 +3846,6 @@ change system settings</source> + <message> + <source>Set Time</source> + <translation type="vanished">设置时间</translation> +- <extra-contents_path>/Date/Set Time</extra-contents_path> + </message> + <message> + <source>Set Date Manually</source> +@@ -6465,20 +6460,20 @@ Please retry or relogin!</source> + <translation type="vanished">设置</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="470"/> +- <location filename="../../mainwindow.cpp" line="488"/> +- <location filename="../../mainwindow.cpp" line="620"/> +- <location filename="../../mainwindow.cpp" line="974"/> ++ <location filename="../../mainwindow.cpp" line="475"/> ++ <location filename="../../mainwindow.cpp" line="493"/> ++ <location filename="../../mainwindow.cpp" line="625"/> ++ <location filename="../../mainwindow.cpp" line="979"/> + <source>Settings</source> + <translation>设置</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="508"/> ++ <location filename="../../mainwindow.cpp" line="513"/> + <source>Option</source> + <translation>选项</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="509"/> ++ <location filename="../../mainwindow.cpp" line="514"/> + <source>Minimize</source> + <translation>最小化</translation> + </message> +@@ -6487,28 +6482,28 @@ Please retry or relogin!</source> + <translation type="vanished">最大化/正常</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> ++ <location filename="../../mainwindow.cpp" line="156"/> + <source>Warnning</source> + <translation>警告</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="170"/> ++ <location filename="../../mainwindow.cpp" line="174"/> + <source>Restore</source> + <translation>还原</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="173"/> +- <location filename="../../mainwindow.cpp" line="510"/> ++ <location filename="../../mainwindow.cpp" line="177"/> ++ <location filename="../../mainwindow.cpp" line="515"/> + <source>Maximize</source> + <translation>最大化</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="482"/> ++ <location filename="../../mainwindow.cpp" line="487"/> + <source>Back home</source> + <translation>返回首页</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="511"/> ++ <location filename="../../mainwindow.cpp" line="516"/> + <source>Close</source> + <translation>关闭</translation> + </message> +@@ -6525,12 +6520,12 @@ Please retry or relogin!</source> + <translation type="vanished">退出</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="621"/> ++ <location filename="../../mainwindow.cpp" line="626"/> + <source>Version: </source> + <translation>版本:</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="756"/> ++ <location filename="../../mainwindow.cpp" line="761"/> + <source>Specified</source> + <translation>指定插件</translation> + </message> +@@ -6539,13 +6534,13 @@ Please retry or relogin!</source> + <translation type="vanished">控制面板</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="1107"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>Warning</source> + <translation>警告</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> +- <location filename="../../mainwindow.cpp" line="1107"/> ++ <location filename="../../mainwindow.cpp" line="156"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>This function has been controlled</source> + <translation>该功能已被管控</translation> + </message> +@@ -9699,17 +9694,17 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">日</translation> + </message> + <message> +- <location filename="../../main.cpp" line="100"/> ++ <location filename="../../main.cpp" line="104"/> + <source>ukui-control-center is disabled!</source> + <translation>控制面板被禁用!</translation> + </message> + <message> +- <location filename="../../main.cpp" line="128"/> ++ <location filename="../../main.cpp" line="132"/> + <source>ukui-control-center</source> + <translation>设置</translation> + </message> + <message> +- <location filename="../../main.cpp" line="89"/> ++ <location filename="../../main.cpp" line="93"/> + <source>ukui-control-center is already running!</source> + <translation>控制面板已运行!</translation> + </message> +@@ -9978,14 +9973,12 @@ E-mail: support@kylinos.cn</source> + <context> + <name>Screenlock</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="32"/> + <source>Screenlock</source> +- <translation>锁屏</translation> ++ <translation type="vanished">锁屏</translation> + </message> + <message> + <source>Screenlock Interface</source> + <translation type="vanished">锁屏界面</translation> +- <extra-contents_path>/Screenlock/Screenlock Interface</extra-contents_path> + </message> + <message> + <source>Show message on lock screen</source> +@@ -10026,7 +10019,6 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Show picture of screenlock on screenlogin</source> + <translation type="vanished">显示锁屏壁纸在登录界面</translation> +- <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> + </message> + <message> + <source>Enabel screenlock</source> +@@ -10085,9 +10077,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">2h</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="172"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> +- <translation>图片文件(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> ++ <translation type="vanished">图片文件(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> + <message> + <source>allFiles(*.*)</source> +@@ -10126,34 +10117,28 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">3小时</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="213"/> + <source>select custom wallpaper file</source> +- <translation>选择自定义壁纸文件</translation> ++ <translation type="vanished">选择自定义壁纸文件</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="214"/> + <source>Select</source> +- <translation>选择</translation> ++ <translation type="vanished">选择</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="215"/> + <source>Position: </source> +- <translation>位置: </translation> ++ <translation type="vanished">位置: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="216"/> + <source>FileName: </source> +- <translation>文件名: </translation> ++ <translation type="vanished">文件名: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="217"/> + <source>FileType: </source> +- <translation>文件类型: </translation> ++ <translation type="vanished">文件类型: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="218"/> + <source>Cancel</source> +- <translation>取消</translation> ++ <translation type="vanished">取消</translation> + </message> + <message> + <source>Monitor Off</source> +@@ -10171,103 +10156,75 @@ E-mail: support@kylinos.cn</source> + <context> + <name>ScreenlockUi</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="42"/> + <source>Show picture of screenlock on screenlogin</source> +- <translation>显示锁屏壁纸在登录界面</translation> +- <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> ++ <translation type="vanished">显示锁屏壁纸在登录界面</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="45"/> + <source>Leave lock (System will be locked when the paired phone gone)</source> +- <translation>动态锁 (系统将在已配对的蓝牙手机离开时自动锁定屏幕)</translation> +- <extra-contents_path>/Screenlock/Leave lock (System will be locked when the paired phone gone)</extra-contents_path> ++ <translation type="vanished">动态锁 (系统将在已配对的蓝牙手机离开时自动锁定屏幕)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="46"/> + <source>Specified device</source> +- <translation>指定设备</translation> ++ <translation type="vanished">指定设备</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="47"/> + <source>No paired phone. Please turn to 'Bluetooth' to pair.</source> +- <translation>无配对手机,请转到 "蓝牙" 以连接手机。</translation> ++ <translation type="vanished">无配对手机,请转到 "蓝牙" 以连接手机。</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="67"/> + <source>Screenlock</source> +- <translation>锁屏</translation> +- <extra-contents_path>/Screenlock/Screenlock</extra-contents_path> ++ <translation type="vanished">锁屏</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="97"/> + <source>Local Pictures</source> +- <translation>本地图片</translation> +- <extra-contents_path>/Screenlock/Local Pictures</extra-contents_path> ++ <translation type="vanished">本地图片</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="99"/> + <source>Online Pictures</source> +- <translation>线上图片</translation> +- <extra-contents_path>/Screenlock/Online Pictures</extra-contents_path> ++ <translation type="vanished">线上图片</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="101"/> + <source>Reset To Default</source> +- <translation>恢复默认</translation> +- <extra-contents_path>/Screenlock/Reset To Default</extra-contents_path> ++ <translation type="vanished">恢复默认</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="113"/> + <source>Bluetooth</source> +- <translation>蓝牙设置</translation> ++ <translation type="vanished">蓝牙设置</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="118"/> + <source>No bluetooth adapter detected, can not use Leave Lock.</source> +- <translation>未检测到蓝牙适配器,无法使用动态锁功能。</translation> ++ <translation type="vanished">未检测到蓝牙适配器,无法使用动态锁功能。</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="138"/> + <source>Monitor Off</source> +- <translation>关闭显示器</translation> +- <extra-contents_path>/Screenlock/Monitor Off</extra-contents_path> ++ <translation type="vanished">关闭显示器</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="140"/> + <source>Screensaver</source> +- <translation>屏幕保护</translation> +- <extra-contents_path>/Screenlock/Screensaver</extra-contents_path> ++ <translation type="vanished">屏幕保护</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="143"/> + <source>Related Settings</source> +- <translation>相关设置</translation> +- <extra-contents_path>/Screenlock/Related Settings</extra-contents_path> ++ <translation type="vanished">相关设置</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="149"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="150"/> + <source>Set</source> +- <translation>去设置</translation> ++ <translation type="vanished">去设置</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="165"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="532"/> + <source>Please select device</source> +- <translation>请选择指定设备</translation> ++ <translation type="vanished">请选择指定设备</translation> + </message> + </context> + <context> + <name>Screensaver</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="37"/> + <source>Screensaver</source> +- <translation>屏保</translation> ++ <translation type="vanished">屏保</translation> + </message> + <message> + <source>Idle time</source> + <translation type="vanished">此时间段后开启屏保</translation> +- <extra-contents_path>/Screensaver/Idle time</extra-contents_path> + </message> + <message> + <source>Lock screen when activating screensaver</source> +@@ -10280,7 +10237,6 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Screensaver program</source> + <translation type="vanished">屏幕保护程序</translation> +- <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> + </message> + <message> + <source>idle time</source> +@@ -10315,46 +10271,36 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">显示休息时间</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>UKUI</source> +- <translation>UKUI</translation> ++ <translation type="vanished">UKUI</translation> + </message> + <message> + <source>Blank_Only</source> + <translation type="vanished">黑屏</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>Customize</source> +- <translation>自定义</translation> ++ <translation type="vanished">自定义</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>5min</source> +- <translation>5 分钟</translation> ++ <translation type="vanished">5 分钟</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>10min</source> +- <translation>10 分钟</translation> ++ <translation type="vanished">10 分钟</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>15min</source> +- <translation>15 分钟</translation> ++ <translation type="vanished">15 分钟</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>30min</source> +- <translation>30 分钟</translation> ++ <translation type="vanished">30 分钟</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>1hour</source> +- <translation>1 小时</translation> ++ <translation type="vanished">1 小时</translation> + </message> + <message> + <source>Screensaver source</source> +@@ -10393,10 +10339,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">切换频率</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="168"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>1min</source> +- <translation>1分钟</translation> ++ <translation type="vanished">1分钟</translation> + </message> + <message> + <source>Ordinal</source> +@@ -10463,128 +10407,95 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">随机</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>Never</source> +- <translation>从不</translation> ++ <translation type="vanished">从不</translation> + </message> + </context> + <context> + <name>ScreensaverUi</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="41"/> + <source>Screensaver</source> +- <translation>屏保</translation> +- <extra-contents_path>/Screensaver/Screensaver</extra-contents_path> ++ <translation type="vanished">屏保</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="54"/> + <source>Idle time</source> +- <translation>此时间段后开启屏保</translation> +- <extra-contents_path>/Screensaver/Idle time</extra-contents_path> ++ <translation type="vanished">此时间段后开启屏保</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="56"/> + <source>Screensaver program</source> +- <translation>屏幕保护程序</translation> +- <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> ++ <translation type="vanished">屏幕保护程序</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="88"/> + <source>Screensaver source</source> +- <translation>屏保来源</translation> +- <extra-contents_path>/Screensaver/Screensaver source</extra-contents_path> ++ <translation type="vanished">屏保来源</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="93"/> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="456"/> + <source>Select</source> +- <translation>选择</translation> ++ <translation type="vanished">选择</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="114"/> + <source>Ordinal</source> +- <translation>按顺序</translation> ++ <translation type="vanished">按顺序</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="115"/> + <source>Random</source> +- <translation>随机</translation> ++ <translation type="vanished">随机</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="122"/> + <source>Random switching</source> +- <translation>随机切换</translation> +- <extra-contents_path>/Screensaver/Random switching</extra-contents_path> ++ <translation type="vanished">随机切换</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="142"/> + <source>Switching time</source> +- <translation>切换频率</translation> +- <extra-contents_path>/Screensaver/Switching time</extra-contents_path> ++ <translation type="vanished">切换频率</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="161"/> + <source>Text(up to 30 characters):</source> +- <translation>屏保文本(最多 30 个字):</translation> +- <extra-contents_path>/Screensaver/Text(up to 30 characters):</extra-contents_path> ++ <translation type="vanished">屏保文本(最多 30 个字):</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="184"/> + <source>Text position</source> +- <translation>文本位置</translation> +- <extra-contents_path>/Screensaver/Text position</extra-contents_path> ++ <translation type="vanished">文本位置</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="192"/> + <source>Centered</source> +- <translation>居中</translation> ++ <translation type="vanished">居中</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="193"/> + <source>Randow(Bubble text)</source> +- <translation>随机(气泡文本)</translation> ++ <translation type="vanished">随机(气泡文本)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="215"/> + <source>Show rest time</source> +- <translation>显示休息时间</translation> +- <extra-contents_path>/Screensaver/Show rest time</extra-contents_path> ++ <translation type="vanished">显示休息时间</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="225"/> + <source>Lock screen when screensaver boot</source> +- <translation>激活屏保时锁定屏幕</translation> +- <extra-contents_path>/Screensaver/Lock screen when screensaver boot</extra-contents_path> ++ <translation type="vanished">激活屏保时锁定屏幕</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="414"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</source> +- <translation>壁纸文件(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> ++ <translation type="vanished">壁纸文件(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="455"/> + <source>select custom screensaver dir</source> +- <translation>选择自定义屏保路径</translation> ++ <translation type="vanished">选择自定义屏保路径</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="457"/> + <source>Position: </source> +- <translation>位置: </translation> ++ <translation type="vanished">位置: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="458"/> + <source>FileName: </source> +- <translation>文件名: </translation> ++ <translation type="vanished">文件名: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="459"/> + <source>FileType: </source> +- <translation>文件类型: </translation> ++ <translation type="vanished">文件类型: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="460"/> + <source>Cancel</source> +- <translation>取消</translation> ++ <translation type="vanished">取消</translation> + </message> + </context> + <context> +@@ -12857,14 +12768,14 @@ E-mail: support@kylinos.cn</source> + <translation>背景</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="195"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="205"/> + <source>picture</source> + <translation>图片</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="195"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="211"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> + <source>color</source> + <translation>颜色</translation> + </message> +@@ -12877,43 +12788,43 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">自定义颜色</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="225"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="216"/> + <source>wallpaper</source> + <translation>平铺</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="227"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="218"/> + <source>centered</source> + <translation>居中</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="223"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> + <source>scaled</source> + <translation>填充</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="229"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="220"/> + <source>stretched</source> + <translation>拉伸</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="231"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="222"/> + <source>zoom</source> + <translation>适应</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="233"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="224"/> + <source>spanned</source> + <translation>跨区</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="277"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="291"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> + <translation>图片文件(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> +@@ -12922,32 +12833,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">所有文件(*.*)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="317"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="331"/> + <source>select custom wallpaper file</source> + <translation>选择自定义壁纸文件</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="318"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="332"/> + <source>Select</source> + <translation>选择</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="319"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="333"/> + <source>Position: </source> + <translation>位置: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="320"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="334"/> + <source>FileName: </source> + <translation>文件名: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="321"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="335"/> + <source>FileType: </source> + <translation>文件类型: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="322"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="336"/> + <source>Cancel</source> + <translation>取消</translation> + </message> +@@ -13018,8 +12929,8 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="299"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> + <source>Open</source> + <translation>打开</translation> + </message> +@@ -13041,7 +12952,7 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="322"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2132"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>Custom Time</source> + <translation>自定义</translation> + </message> +@@ -13093,28 +13004,28 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="643"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2739"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2740"/> + <source>Splice Screen</source> + <translation>拼接屏</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2045"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> + <source>Turning on 'Eye Protection Mode' will turn off 'Color Temperature'. Continue turning it on?</source> + <translation>开启“护眼模式”将会关闭“色温”,是否继续开启?</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2048"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2074"/> + <source>Cancel</source> + <translation>取消</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2071"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> + <source>Turning on 'Color Temperature' will turn off 'Eye Protection Mode'. Continue turning it on?</source> + <translation>开启“色温”将会关闭“护眼模式”,是否继续开启?</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2845"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2846"/> + <source>Auto Brightness</source> + <translation>自动调整亮度</translation> + <extra-contents_path>/Display/Auto Brightness</extra-contents_path> +@@ -13150,22 +13061,22 @@ E-mail: support@kylinos.cn</source> + <translation>(在注销后生效)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2802"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2803"/> + <source>Splicing Method</source> + <translation>拼接方式</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2805"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2806"/> + <source>Change</source> + <translation>修改</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2875"/> + <source>as main</source> + <translation>设为主屏</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2895"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2896"/> + <source>open monitor</source> + <translation>打开显示器</translation> + </message> +@@ -13178,8 +13089,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">屏幕%1已修改,是否保存?<br/><font style= 'color:#626c6e'>系统将在%2秒后自动保存。</font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2316"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2322"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2317"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2323"/> + <source>Follow the sunrise and sunset</source> + <translation>跟随日出日落</translation> + </message> +@@ -13200,7 +13111,7 @@ E-mail: support@kylinos.cn</source> + <translation>其他屏</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2873"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> + <source>monitor</source> + <translation>显示器</translation> + </message> +@@ -13266,7 +13177,7 @@ the settings will be saved after %1 seconds</source> + <translation>稍后注销</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2132"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>All Day</source> + <translation>全天</translation> + </message> +@@ -13275,8 +13186,8 @@ the settings will be saved after %1 seconds</source> + <translation type="vanished">跟随日出日落(17:55-06:23)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2347"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2353"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2348"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2354"/> + <source>Brightness</source> + <translation>亮度</translation> + <extra-contents_path>/Display/Brightness</extra-contents_path> +@@ -13302,7 +13213,7 @@ If something goes wrong, the settings will be restored after 9 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在9秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2882"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2883"/> + <source>screen zoom</source> + <translation>缩放屏幕</translation> + </message> +@@ -13343,15 +13254,15 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在%1秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1546"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1846"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>please insure at least one output!</source> + <translation>请确保至少开启一个屏幕!</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1546"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1553"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1846"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>Warning</source> + <translation>警告</translation> + </message> +@@ -13372,7 +13283,7 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">早晨时刻应早于晚上的时刻!</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1555"/> + <source>Sorry, your configuration could not be applied. + Common reasons are that the overall screen size is too big, or you enabled more displays than supported by your GPU.</source> + <translation>抱歉,配置不能应用.</translation> +diff --git a/shell/res/i18n/zh_HK.ts b/shell/res/i18n/zh_HK.ts +index 0d0c2f2..ba060be 100644 +--- a/shell/res/i18n/zh_HK.ts ++++ b/shell/res/i18n/zh_HK.ts +@@ -389,6 +389,7 @@ + <location filename="../../../plugins/system/about/aboutui.cpp" line="87"/> + <source>HostName</source> + <translation>計算機名</translation> ++ <extra-contents_path>/About/HostName</extra-contents_path> + </message> + <message> + <location filename="../../../plugins/system/about/aboutui.cpp" line="100"/> +@@ -2189,7 +2190,7 @@ Please authenticate yourself to continue</source> + <context> + <name>BrightnessFrame</name> + <message> +- <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="66"/> ++ <location filename="../../../plugins/system/display/brightnessFrame.cpp" line="64"/> + <source>Failed to get the brightness information of this monitor</source> + <translation>未能獲得該顯示器的亮度資訊</translation> + </message> +@@ -3842,7 +3843,6 @@ change system settings</source> + <message> + <source>Other Timezone</source> + <translation type="vanished">其他時區時間</translation> +- <extra-contents_path>/Date/Other Timezone</extra-contents_path> + </message> + <message> + <source>24-hour clock</source> +@@ -3877,12 +3877,10 @@ change system settings</source> + <message> + <source>Manual Time</source> + <translation type="vanished">手動設置時間</translation> +- <extra-contents_path>/Date/Manual Time</extra-contents_path> + </message> + <message> + <source>Sync Time</source> + <translation type="vanished">自動同步時間</translation> +- <extra-contents_path>/Date/Sync Time</extra-contents_path> + </message> + <message> + <source>Time Server</source> +@@ -3891,7 +3889,6 @@ change system settings</source> + <message> + <source>Set Time</source> + <translation type="vanished">設置時間</translation> +- <extra-contents_path>/Date/Set Time</extra-contents_path> + </message> + <message> + <source>Set Date Manually</source> +@@ -6546,10 +6543,10 @@ Please retry or relogin!</source> + <translation type="vanished">设置</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="470"/> +- <location filename="../../mainwindow.cpp" line="488"/> +- <location filename="../../mainwindow.cpp" line="620"/> +- <location filename="../../mainwindow.cpp" line="974"/> ++ <location filename="../../mainwindow.cpp" line="475"/> ++ <location filename="../../mainwindow.cpp" line="493"/> ++ <location filename="../../mainwindow.cpp" line="625"/> ++ <location filename="../../mainwindow.cpp" line="979"/> + <source>Settings</source> + <translation>設置</translation> + </message> +@@ -6558,7 +6555,7 @@ Please retry or relogin!</source> + <translation type="vanished">主菜单</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="509"/> ++ <location filename="../../mainwindow.cpp" line="514"/> + <source>Minimize</source> + <translation>最小化</translation> + </message> +@@ -6567,33 +6564,33 @@ Please retry or relogin!</source> + <translation type="vanished">最大化/正常</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> ++ <location filename="../../mainwindow.cpp" line="156"/> + <source>Warnning</source> + <translation>警告</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="170"/> ++ <location filename="../../mainwindow.cpp" line="174"/> + <source>Restore</source> + <translation>還原</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="173"/> +- <location filename="../../mainwindow.cpp" line="510"/> ++ <location filename="../../mainwindow.cpp" line="177"/> ++ <location filename="../../mainwindow.cpp" line="515"/> + <source>Maximize</source> + <translation>最大化</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="482"/> ++ <location filename="../../mainwindow.cpp" line="487"/> + <source>Back home</source> + <translation>返回首頁</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="508"/> ++ <location filename="../../mainwindow.cpp" line="513"/> + <source>Option</source> + <translation>選項</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="511"/> ++ <location filename="../../mainwindow.cpp" line="516"/> + <source>Close</source> + <translation>關閉</translation> + </message> +@@ -6610,12 +6607,12 @@ Please retry or relogin!</source> + <translation type="vanished">退出</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="621"/> ++ <location filename="../../mainwindow.cpp" line="626"/> + <source>Version: </source> + <translation>版本: </translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="756"/> ++ <location filename="../../mainwindow.cpp" line="761"/> + <source>Specified</source> + <translation>指定外掛程式</translation> + </message> +@@ -6624,13 +6621,13 @@ Please retry or relogin!</source> + <translation type="vanished">控制面板</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="1107"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>Warning</source> + <translation>警告</translation> + </message> + <message> +- <location filename="../../mainwindow.cpp" line="152"/> +- <location filename="../../mainwindow.cpp" line="1107"/> ++ <location filename="../../mainwindow.cpp" line="156"/> ++ <location filename="../../mainwindow.cpp" line="1145"/> + <source>This function has been controlled</source> + <translation>該功能已被管控</translation> + </message> +@@ -9795,17 +9792,17 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">日</translation> + </message> + <message> +- <location filename="../../main.cpp" line="100"/> ++ <location filename="../../main.cpp" line="104"/> + <source>ukui-control-center is disabled!</source> + <translation>控制面板被禁用!</translation> + </message> + <message> +- <location filename="../../main.cpp" line="128"/> ++ <location filename="../../main.cpp" line="132"/> + <source>ukui-control-center</source> + <translation>設置</translation> + </message> + <message> +- <location filename="../../main.cpp" line="89"/> ++ <location filename="../../main.cpp" line="93"/> + <source>ukui-control-center is already running!</source> + <translation>控制面板已運行!</translation> + </message> +@@ -10078,9 +10075,8 @@ E-mail: support@kylinos.cn</source> + <context> + <name>Screenlock</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="32"/> + <source>Screenlock</source> +- <translation>鎖屏</translation> ++ <translation type="vanished">鎖屏</translation> + </message> + <message> + <source>Screenlock Interface</source> +@@ -10093,22 +10089,18 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Local Pictures</source> + <translation type="vanished">本地圖片</translation> +- <extra-contents_path>/Screenlock/Local Pictures</extra-contents_path> + </message> + <message> + <source>Online Pictures</source> + <translation type="vanished">線上圖片</translation> +- <extra-contents_path>/Screenlock/Online Pictures</extra-contents_path> + </message> + <message> + <source>Reset To Default</source> + <translation type="vanished">恢復預設</translation> +- <extra-contents_path>/Screenlock/Reset To Default</extra-contents_path> + </message> + <message> + <source>Related Settings</source> + <translation type="vanished">相關設置</translation> +- <extra-contents_path>/Screenlock/Related Settings</extra-contents_path> + </message> + <message> + <source>Screenlock Set</source> +@@ -10141,7 +10133,6 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Show picture of screenlock on screenlogin</source> + <translation type="vanished">顯示鎖屏壁紙在登錄介面</translation> +- <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> + </message> + <message> + <source>Enabel screenlock</source> +@@ -10200,9 +10191,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">2h</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="172"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> +- <translation>圖片檔(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> ++ <translation type="vanished">圖片檔(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> + <message> + <source>allFiles(*.*)</source> +@@ -10241,44 +10231,36 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">3 小時</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="213"/> + <source>select custom wallpaper file</source> +- <translation>選擇自訂壁紙檔</translation> ++ <translation type="vanished">選擇自訂壁紙檔</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="214"/> + <source>Select</source> +- <translation>選擇</translation> ++ <translation type="vanished">選擇</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="215"/> + <source>Position: </source> +- <translation>位置: </translation> ++ <translation type="vanished">位置: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="216"/> + <source>FileName: </source> +- <translation>檔案名稱: </translation> ++ <translation type="vanished">檔案名稱: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="217"/> + <source>FileType: </source> +- <translation>檔案類型: </translation> ++ <translation type="vanished">檔案類型: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlock.cpp" line="218"/> + <source>Cancel</source> +- <translation>取消</translation> ++ <translation type="vanished">取消</translation> + </message> + <message> + <source>Monitor Off</source> + <translation type="vanished">關閉顯示器</translation> +- <extra-contents_path>/Screenlock/Monitor Off</extra-contents_path> + </message> + <message> + <source>Screensaver</source> + <translation type="vanished">屏幕保護</translation> +- <extra-contents_path>/Screenlock/Screensaver</extra-contents_path> + </message> + <message> + <source>Set</source> +@@ -10288,103 +10270,71 @@ E-mail: support@kylinos.cn</source> + <context> + <name>ScreenlockUi</name> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="42"/> + <source>Show picture of screenlock on screenlogin</source> +- <translation>顯示鎖屏壁紙在登錄介面</translation> +- <extra-contents_path>/Screenlock/Show picture of screenlock on screenlogin</extra-contents_path> ++ <translation type="vanished">顯示鎖屏壁紙在登錄介面</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="45"/> + <source>Leave lock (System will be locked when the paired phone gone)</source> +- <translation>動態鎖(系統將在已配對的藍牙手機離開時自動鎖定屏幕)</translation> +- <extra-contents_path>/Screenlock/Leave lock (System will be locked when the paired phone gone)</extra-contents_path> +- </message> +- <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="46"/> +- <source>Specified device</source> +- <translation></translation> ++ <translation type="vanished">動態鎖(系統將在已配對的藍牙手機離開時自動鎖定屏幕)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="47"/> + <source>No paired phone. Please turn to 'Bluetooth' to pair.</source> +- <translation>無配對手機,請轉到“藍牙”以鏈接手機</translation> ++ <translation type="vanished">無配對手機,請轉到“藍牙”以鏈接手機</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="67"/> + <source>Screenlock</source> +- <translation>鎖屏</translation> +- <extra-contents_path>/Screenlock/Screenlock</extra-contents_path> ++ <translation type="vanished">鎖屏</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="97"/> + <source>Local Pictures</source> +- <translation>本地圖片</translation> +- <extra-contents_path>/Screenlock/Local Pictures</extra-contents_path> ++ <translation type="vanished">本地圖片</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="99"/> + <source>Online Pictures</source> +- <translation>線上圖片</translation> +- <extra-contents_path>/Screenlock/Online Pictures</extra-contents_path> ++ <translation type="vanished">線上圖片</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="101"/> + <source>Reset To Default</source> +- <translation>恢復預設</translation> +- <extra-contents_path>/Screenlock/Reset To Default</extra-contents_path> ++ <translation type="vanished">恢復預設</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="113"/> + <source>Bluetooth</source> +- <translation>蓝牙設置</translation> ++ <translation type="vanished">蓝牙設置</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="118"/> + <source>No bluetooth adapter detected, can not use Leave Lock.</source> +- <translation>無藍牙適配器,不能使用動態鎖</translation> ++ <translation type="vanished">無藍牙適配器,不能使用動態鎖</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="138"/> + <source>Monitor Off</source> +- <translation>關閉顯示器</translation> +- <extra-contents_path>/Screenlock/Monitor Off</extra-contents_path> ++ <translation type="vanished">關閉顯示器</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="140"/> + <source>Screensaver</source> +- <translation>屏保</translation> +- <extra-contents_path>/Screenlock/Screensaver</extra-contents_path> ++ <translation type="vanished">屏保</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="143"/> + <source>Related Settings</source> +- <translation>相關設置</translation> +- <extra-contents_path>/Screenlock/Related Settings</extra-contents_path> ++ <translation type="vanished">相關設置</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="149"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="150"/> + <source>Set</source> +- <translation>設置</translation> ++ <translation type="vanished">設置</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="165"/> +- <location filename="../../../plugins/personalized/screenlock/screenlockui.cpp" line="532"/> + <source>Please select device</source> +- <translation>請選擇設備</translation> ++ <translation type="vanished">請選擇設備</translation> + </message> + </context> + <context> + <name>Screensaver</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="37"/> + <source>Screensaver</source> +- <translation>屏保</translation> ++ <translation type="vanished">屏保</translation> + </message> + <message> + <source>Idle time</source> + <translation type="vanished">此時間段后開啟屏保</translation> +- <extra-contents_path>/Screensaver/Idle time</extra-contents_path> + </message> + <message> + <source>Lock screen when activating screensaver</source> +@@ -10397,7 +10347,6 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Screensaver program</source> + <translation type="vanished">屏幕保護程式</translation> +- <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> + </message> + <message> + <source>idle time</source> +@@ -10410,7 +10359,6 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Lock screen when screensaver boot</source> + <translation type="vanished">啟動屏保時鎖定螢幕</translation> +- <extra-contents_path>/Screensaver/Lock screen when screensaver boot</extra-contents_path> + </message> + <message> + <source>screensaver</source> +@@ -10427,59 +10375,46 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Text(up to 30 characters):</source> + <translation type="vanished">屏保文本(最多 30 個字):</translation> +- <extra-contents_path>/Screensaver/Text(up to 30 characters):</extra-contents_path> + </message> + <message> + <source>Show rest time</source> + <translation type="vanished">顯示休息時間</translation> +- <extra-contents_path>/Screensaver/Show rest time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>UKUI</source> +- <translation>UKUI</translation> ++ <translation type="vanished">UKUI</translation> + </message> + <message> + <source>Blank_Only</source> + <translation type="vanished">黑屏</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="174"/> + <source>Customize</source> +- <translation>自訂</translation> ++ <translation type="vanished">自訂</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>5min</source> +- <translation>5 分鐘</translation> ++ <translation type="vanished">5 分鐘</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>10min</source> +- <translation>10 分鐘</translation> ++ <translation type="vanished">10 分鐘</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>15min</source> +- <translation>15 分鐘</translation> ++ <translation type="vanished">15 分鐘</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>30min</source> +- <translation>30 分鐘</translation> ++ <translation type="vanished">30 分鐘</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>1hour</source> +- <translation>1 小時</translation> ++ <translation type="vanished">1 小時</translation> + </message> + <message> + <source>Screensaver source</source> + <translation type="vanished">屏保來源</translation> +- <extra-contents_path>/Screensaver/Screensaver source</extra-contents_path> + </message> + <message> + <source>Select</source> +@@ -10512,13 +10447,10 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Switching time</source> + <translation type="vanished">切換頻率</translation> +- <extra-contents_path>/Screensaver/Switching time</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="168"/> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="180"/> + <source>1min</source> +- <translation>1 分鐘</translation> ++ <translation type="vanished">1 分鐘</translation> + </message> + <message> + <source>Ordinal</source> +@@ -10527,7 +10459,6 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Random switching</source> + <translation type="vanished">隨機切換</translation> +- <extra-contents_path>/Screensaver/Random switching</extra-contents_path> + </message> + <message> + <source>Display text</source> +@@ -10540,7 +10471,6 @@ E-mail: support@kylinos.cn</source> + <message> + <source>Text position</source> + <translation type="vanished">文本位置</translation> +- <extra-contents_path>/Screensaver/Text position</extra-contents_path> + </message> + <message> + <source>Centered</source> +@@ -10587,128 +10517,95 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">隨機</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaver.cpp" line="162"/> + <source>Never</source> +- <translation>從不</translation> ++ <translation type="vanished">從不</translation> + </message> + </context> + <context> + <name>ScreensaverUi</name> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="41"/> + <source>Screensaver</source> +- <translation>屏保</translation> +- <extra-contents_path>/Screensaver/Screensaver</extra-contents_path> ++ <translation type="vanished">屏保</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="54"/> + <source>Idle time</source> +- <translation>此時間段后開啟屏保</translation> +- <extra-contents_path>/Screensaver/Idle time</extra-contents_path> ++ <translation type="vanished">此時間段后開啟屏保</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="56"/> + <source>Screensaver program</source> +- <translation>屏幕保護程式</translation> +- <extra-contents_path>/Screensaver/Screensaver program</extra-contents_path> ++ <translation type="vanished">屏幕保護程式</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="88"/> + <source>Screensaver source</source> +- <translation>屏保來源</translation> +- <extra-contents_path>/Screensaver/Screensaver source</extra-contents_path> ++ <translation type="vanished">屏保來源</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="93"/> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="456"/> + <source>Select</source> +- <translation>選擇</translation> ++ <translation type="vanished">選擇</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="114"/> + <source>Ordinal</source> +- <translation>按順序</translation> ++ <translation type="vanished">按順序</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="115"/> + <source>Random</source> +- <translation>隨機</translation> ++ <translation type="vanished">隨機</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="122"/> + <source>Random switching</source> +- <translation>隨機切換</translation> +- <extra-contents_path>/Screensaver/Random switching</extra-contents_path> ++ <translation type="vanished">隨機切換</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="142"/> + <source>Switching time</source> +- <translation>切換頻率</translation> +- <extra-contents_path>/Screensaver/Switching time</extra-contents_path> ++ <translation type="vanished">切換頻率</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="161"/> + <source>Text(up to 30 characters):</source> +- <translation>屏保文本(最多 30 個字):</translation> +- <extra-contents_path>/Screensaver/Text(up to 30 characters):</extra-contents_path> ++ <translation type="vanished">屏保文本(最多 30 個字):</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="184"/> + <source>Text position</source> +- <translation>文本位置</translation> +- <extra-contents_path>/Screensaver/Text position</extra-contents_path> ++ <translation type="vanished">文本位置</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="192"/> + <source>Centered</source> +- <translation>居中</translation> ++ <translation type="vanished">居中</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="193"/> + <source>Randow(Bubble text)</source> +- <translation>隨機(氣泡文字)</translation> ++ <translation type="vanished">隨機(氣泡文字)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="215"/> + <source>Show rest time</source> +- <translation>顯示休息時間</translation> +- <extra-contents_path>/Screensaver/Show rest time</extra-contents_path> ++ <translation type="vanished">顯示休息時間</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="225"/> + <source>Lock screen when screensaver boot</source> +- <translation>開啓屏保時鎖定屏幕</translation> +- <extra-contents_path>/Screensaver/Lock screen when screensaver boot</extra-contents_path> ++ <translation type="vanished">開啓屏保時鎖定屏幕</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="414"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</source> +- <translation>壁紙檔(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> ++ <translation type="vanished">壁紙檔(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp *.svg)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="455"/> + <source>select custom screensaver dir</source> +- <translation>選擇自訂屏保路徑</translation> ++ <translation type="vanished">選擇自訂屏保路徑</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="457"/> + <source>Position: </source> +- <translation>位置:</translation> ++ <translation type="vanished">位置:</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="458"/> + <source>FileName: </source> +- <translation>文件名:</translation> ++ <translation type="vanished">文件名:</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="459"/> + <source>FileType: </source> +- <translation>文件類型:</translation> ++ <translation type="vanished">文件類型:</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/screensaver/screensaverui.cpp" line="460"/> + <source>Cancel</source> +- <translation>取消</translation> ++ <translation type="vanished">取消</translation> + </message> + </context> + <context> +@@ -13029,14 +12926,14 @@ E-mail: support@kylinos.cn</source> + <translation>背景</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="195"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="205"/> + <source>picture</source> + <translation>圖片</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="195"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="211"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="186"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> + <source>color</source> + <translation>顏色</translation> + </message> +@@ -13049,43 +12946,43 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">自定义颜色</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="225"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="216"/> + <source>wallpaper</source> + <translation>平鋪</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="227"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="218"/> + <source>centered</source> + <translation>居中</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="223"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="214"/> + <source>scaled</source> + <translation>填充</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="229"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="220"/> + <source>stretched</source> + <translation>拉伸</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="231"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="222"/> + <source>zoom</source> + <translation>適應</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="202"/> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="233"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="193"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="224"/> + <source>spanned</source> + <translation>跨區</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="277"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="291"/> + <source>Wallpaper files(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</source> + <translation>圖片檔(*.jpg *.jpeg *.bmp *.dib *.png *.jfif *.jpe *.gif *.tif *.tiff *.wdp)</translation> + </message> +@@ -13094,32 +12991,32 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">所有文件(*.*)</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="317"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="331"/> + <source>select custom wallpaper file</source> + <translation>選擇自訂壁紙檔</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="318"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="332"/> + <source>Select</source> + <translation>選擇</translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="319"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="333"/> + <source>Position: </source> + <translation>位置: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="320"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="334"/> + <source>FileName: </source> + <translation>檔案名稱: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="321"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="335"/> + <source>FileType: </source> + <translation>檔案類型: </translation> + </message> + <message> +- <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="322"/> ++ <location filename="../../../plugins/personalized/wallpaper/wallpaper.cpp" line="336"/> + <source>Cancel</source> + <translation>取消</translation> + </message> +@@ -13190,8 +13087,8 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="299"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> + <source>Open</source> + <translation>開啟</translation> + </message> +@@ -13206,7 +13103,7 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="322"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2132"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>Custom Time</source> + <translation>自訂</translation> + </message> +@@ -13257,7 +13154,7 @@ E-mail: support@kylinos.cn</source> + <extra-contents_path>/Display/Network Display</extra-contents_path> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2845"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2846"/> + <source>Auto Brightness</source> + <translation>自動調節亮度</translation> + <extra-contents_path>/Display/Auto Brightness</extra-contents_path> +@@ -13304,8 +13201,8 @@ E-mail: support@kylinos.cn</source> + <translation type="vanished">螢幕%1已修改,是否保存? <br/><font style= 'color:#626c6e'>系統將在%2秒後自動保存。 </font></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2316"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2322"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2317"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2323"/> + <source>Follow the sunrise and sunset</source> + <translation>跟隨日出日落</translation> + </message> +@@ -13326,32 +13223,32 @@ E-mail: support@kylinos.cn</source> + </message> + <message> + <location filename="../../../plugins/system/display/widget.cpp" line="643"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2739"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2740"/> + <source>Splice Screen</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2802"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2803"/> + <source>Splicing Method</source> + <translation type="unfinished"></translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2805"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2806"/> + <source>Change</source> + <translation>更換</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2873"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> + <source>monitor</source> + <translation>顯示器</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2874"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2875"/> + <source>as main</source> + <translation>設為主屏</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2895"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2896"/> + <source>open monitor</source> + <translation>打開顯示器</translation> + </message> +@@ -13479,23 +13376,23 @@ the settings will be saved after %1 seconds</source> + <translation type="vanished">取消</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2045"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2046"/> + <source>Turning on 'Eye Protection Mode' will turn off 'Color Temperature'. Continue turning it on?</source> + <translation>開啟“護眼模式”將會關閉“色溫”,是否繼續開啟?</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2047"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2073"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2048"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2074"/> + <source>Cancel</source> + <translation>取消</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2071"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2072"/> + <source>Turning on 'Color Temperature' will turn off 'Eye Protection Mode'. Continue turning it on?</source> + <translation>開啟“色溫”將會關閉“護眼模式”,是否繼續開啟?</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2132"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2133"/> + <source>All Day</source> + <translation>全天</translation> + </message> +@@ -13504,8 +13401,8 @@ the settings will be saved after %1 seconds</source> + <translation type="vanished">跟随日出日落(17:55-06:23)</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2347"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="2353"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2348"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2354"/> + <source>Brightness</source> + <translation>亮度</translation> + <extra-contents_path>/Display/Brightness</extra-contents_path> +@@ -13531,7 +13428,7 @@ If something goes wrong, the settings will be restored after 9 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在9秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="2882"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="2883"/> + <source>screen zoom</source> + <translation>縮放螢幕</translation> + </message> +@@ -13572,15 +13469,15 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">修改分辨率或刷新率后,由于显示设备与显卡存在兼容性问题,有可能显示不正常或者无法显示.如果出现异常,系统将在%1秒后还原设置</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1546"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1846"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>please insure at least one output!</source> + <translation>請確保至少開啟一個螢幕!</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1546"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1553"/> +- <location filename="../../../plugins/system/display/widget.cpp" line="1846"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1547"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1847"/> + <source>Warning</source> + <translation>警告</translation> + </message> +@@ -13601,7 +13498,7 @@ If something goes wrong, the settings will be restored after %1 seconds</source> + <translation type="vanished">早晨时刻应早于晚上的时刻!</translation> + </message> + <message> +- <location filename="../../../plugins/system/display/widget.cpp" line="1554"/> ++ <location filename="../../../plugins/system/display/widget.cpp" line="1555"/> + <source>Sorry, your configuration could not be applied. + Common reasons are that the overall screen size is too big, or you enabled more displays than supported by your GPU.</source> + <translation>抱歉,配置不能應用.</translation> +diff --git a/shell/searchwidget.cpp b/shell/searchwidget.cpp +index 3be58d6..8437822 100644 +--- a/shell/searchwidget.cpp ++++ b/shell/searchwidget.cpp +@@ -251,7 +251,8 @@ void SearchWidget::loadxml() { + QXmlStreamReader xmlRead(&file); + QStringRef dataName; + QXmlStreamReader::TokenType type = QXmlStreamReader::Invalid; +- ++ bool vanishedTrans = false; ++ QString typeStr; + //遍历XML文件,读取每一行的xml数据都会 + //先进入StartElement读取出<>中的内容; + //再进入Characters读取出中间数据部分; +@@ -262,13 +263,19 @@ void SearchWidget::loadxml() { + switch (type) { + case QXmlStreamReader::StartElement: + m_xmlExplain = xmlRead.name().toString(); ++ if (m_xmlExplain == "translation") { ++ typeStr = xmlRead.attributes().value("type").toString(); ++ if (typeStr == "vanished") { ++ vanishedTrans = true; ++ } else { ++ vanishedTrans = false; ++ } ++ } + break; + case QXmlStreamReader::Characters: + if (!xmlRead.isWhitespace()) { + if (m_xmlExplain == XML_Source) { // get xml source date +- + m_searchBoxStruct.translateContent = xmlRead.text().toString(); +- + } else if (m_xmlExplain == XML_Title) { + if (xmlRead.text().toString() != "") // translation not nullptr can set it + m_searchBoxStruct.translateContent = xmlRead.text().toString(); +@@ -277,7 +284,9 @@ void SearchWidget::loadxml() { + m_searchBoxStruct.translateContent = xmlRead.text().toString(); + } else if (m_xmlExplain == XML_Explain_Path) { + m_searchBoxStruct.fullPagePath = xmlRead.text().toString(); +- ++ if (vanishedTrans) { ++ continue; ++ } + // openkylin yangtze 过滤掉的搜索项 + if (UkccCommon::isOpenkylinYangtze() && yangtzeFilterPathList.contains(m_searchBoxStruct.fullPagePath)) { + continue; +diff --git a/tests/unit_test_about/main.cpp b/tests/unit_test_about/main.cpp +index 9250f9b..e1eac38 100644 +--- a/tests/unit_test_about/main.cpp ++++ b/tests/unit_test_about/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <gtest/gtest.h> + + int main(int argc, char **argv) +diff --git a/tests/unit_test_autoboot/main.cpp b/tests/unit_test_autoboot/main.cpp +index 9250f9b..e1eac38 100644 +--- a/tests/unit_test_autoboot/main.cpp ++++ b/tests/unit_test_autoboot/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <gtest/gtest.h> + + int main(int argc, char **argv) +diff --git a/tests/unit_test_datetime/main.cpp b/tests/unit_test_datetime/main.cpp +index 9250f9b..e1eac38 100644 +--- a/tests/unit_test_datetime/main.cpp ++++ b/tests/unit_test_datetime/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <gtest/gtest.h> + + int main(int argc, char **argv) +diff --git a/tests/unit_test_default/main.cpp b/tests/unit_test_default/main.cpp +index 9250f9b..e1eac38 100644 +--- a/tests/unit_test_default/main.cpp ++++ b/tests/unit_test_default/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <gtest/gtest.h> + + int main(int argc, char **argv) +diff --git a/tests/unit_test_screenlock/main.cpp b/tests/unit_test_screenlock/main.cpp +index 9250f9b..e1eac38 100644 +--- a/tests/unit_test_screenlock/main.cpp ++++ b/tests/unit_test_screenlock/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <gtest/gtest.h> + + int main(int argc, char **argv) +diff --git a/tests/unit_test_screensaver/main.cpp b/tests/unit_test_screensaver/main.cpp +index 9250f9b..e1eac38 100644 +--- a/tests/unit_test_screensaver/main.cpp ++++ b/tests/unit_test_screensaver/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <gtest/gtest.h> + + int main(int argc, char **argv) +diff --git a/tests/unit_test_shortcut/main.cpp b/tests/unit_test_shortcut/main.cpp +index 9250f9b..e1eac38 100644 +--- a/tests/unit_test_shortcut/main.cpp ++++ b/tests/unit_test_shortcut/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <gtest/gtest.h> + + int main(int argc, char **argv) +diff --git a/tests/unit_test_wallpaper/main.cpp b/tests/unit_test_wallpaper/main.cpp +index 9250f9b..e1eac38 100644 +--- a/tests/unit_test_wallpaper/main.cpp ++++ b/tests/unit_test_wallpaper/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <gtest/gtest.h> + + int main(int argc, char **argv) diff -Nru ukui-control-center-4.10.0.0/debian/patches/0145-186.patch ukui-control-center-4.10.0.0/debian/patches/0145-186.patch --- ukui-control-center-4.10.0.0/debian/patches/0145-186.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-control-center-4.10.0.0/debian/patches/0145-186.patch 2025-03-12 19:30:45.000000000 +0800 @@ -0,0 +1,76 @@ +From: nil <zhoubin@kylinos.cn> +Date: Tue, 11 Mar 2025 12:17:58 +0000 +Subject: =?utf-8?b?ITE4NiDlop7liqDljZXlhYPmtYvor5Xopobnm5bnjofmlofku7YgTWVy?= + =?utf-8?b?Z2UgcHVsbCByZXF1ZXN0ICExODYgZnJvbSDkvZXmgJ3og5wvbmlsZS0wMzEw?= + +--- + tests/unit_test_vino/unit_test_vino.cpp | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/tests/unit_test_vino/unit_test_vino.cpp b/tests/unit_test_vino/unit_test_vino.cpp +index 320819c..d21b284 100644 +--- a/tests/unit_test_vino/unit_test_vino.cpp ++++ b/tests/unit_test_vino/unit_test_vino.cpp +@@ -63,7 +63,7 @@ TEST_F(VinoInterfaceTest, noViewOnly) + { + // get current value + QString originKey = m_pVinoDbus->kVinoViewOnlyKey; +- m_pVinoDbus->kVinoViewOnlyKey = ""; ++ m_pVinoDbus->mVinoGsettings = nullptr; + + bool repeatKeyValue = m_pVinoDbus->getViewOnly(); + +@@ -92,7 +92,7 @@ TEST_F(VinoInterfaceTest, noPromptEnabled) + { + // get current value + QString originKey = m_pVinoDbus->kVinoPromptKey; +- m_pVinoDbus->kVinoPromptKey = ""; ++ m_pVinoDbus->mVinoGsettings = nullptr; + + bool promptKeyValue = m_pVinoDbus->getPromptEnabled(); + +@@ -119,7 +119,7 @@ TEST_F(VinoInterfaceTest, noMethod) + { + // get current value + QString originKey = m_pVinoDbus->kAuthenticationKey; +- m_pVinoDbus->kAuthenticationKey = ""; ++ m_pVinoDbus->mVinoGsettings = nullptr; + + QString methodKeyValue = m_pVinoDbus->getMethod(); + +@@ -147,7 +147,7 @@ TEST_F(VinoInterfaceTest, noPassword) + { + // get current value + QString originKey = m_pVinoDbus->kVncPwdKey; +- m_pVinoDbus->kVncPwdKey = ""; ++ m_pVinoDbus->mVinoGsettings = nullptr; + + QString passwordKeyValue = m_pVinoDbus->getPassword(); + +@@ -179,7 +179,7 @@ TEST_F(VinoInterfaceTest, noVinoStatus) + { + // get current value + QString originKey = m_pVinoDbus->kVinoEnableKey; +- m_pVinoDbus->kVinoEnableKey = ""; ++ m_pVinoDbus->mVinoGsettings = nullptr; + + bool currentValue = m_pVinoDbus->getVinoStatus(); + +@@ -206,7 +206,7 @@ TEST_F(VinoInterfaceTest, noXrdpStatus) + { + // get current value + QString originKey = m_pVinoDbus->kXrdpEnableKey; +- m_pVinoDbus->kXrdpEnableKey = ""; ++ m_pVinoDbus->mVinoGsettings = nullptr; + + int currentValue = m_pVinoDbus->getXrdpStatus(); + +@@ -231,7 +231,7 @@ TEST_F(VinoInterfaceTest, EnableStatus) + { + // get current value + QString originKey = m_pVinoDbus->kEnableKey; +- m_pVinoDbus->kEnableKey = ""; ++ m_pVinoDbus->mVinoGsettings = nullptr; + + bool currentValue = m_pVinoDbus->getEnableStatus(); + diff -Nru ukui-control-center-4.10.0.0/debian/patches/0146-187-fix-theme.patch ukui-control-center-4.10.0.0/debian/patches/0146-187-fix-theme.patch --- ukui-control-center-4.10.0.0/debian/patches/0146-187-fix-theme.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-control-center-4.10.0.0/debian/patches/0146-187-fix-theme.patch 2025-03-12 19:30:45.000000000 +0800 @@ -0,0 +1,35 @@ +From: nil <zhoubin@kylinos.cn> +Date: Tue, 11 Mar 2025 12:20:09 +0000 +Subject: !187 fix: theme Merge pull request !187 from nil/nile-0311 + +--- + plugins/personalized/theme/globaltheme/customglobaltheme.cpp | 2 +- + plugins/personalized/theme/globaltheme/globaltheme_p.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/plugins/personalized/theme/globaltheme/customglobaltheme.cpp b/plugins/personalized/theme/globaltheme/customglobaltheme.cpp +index f2ab84a..ad30013 100644 +--- a/plugins/personalized/theme/globaltheme/customglobaltheme.cpp ++++ b/plugins/personalized/theme/globaltheme/customglobaltheme.cpp +@@ -115,7 +115,7 @@ QString CustomGlobalTheme::getIconThemeName() + + QString CustomGlobalTheme::getCursorThemeName() + { +- return qsettings->value("getCursorThemeName", "DMZ-white").toString(); ++ return qsettings->value("getCursorThemeName", "DMZ-White").toString(); + } + + QString CustomGlobalTheme::getSoundThemeName() +diff --git a/plugins/personalized/theme/globaltheme/globaltheme_p.h b/plugins/personalized/theme/globaltheme/globaltheme_p.h +index e438560..cefcc14 100644 +--- a/plugins/personalized/theme/globaltheme/globaltheme_p.h ++++ b/plugins/personalized/theme/globaltheme/globaltheme_p.h +@@ -49,7 +49,7 @@ public: + QString gtkAccent = "#3790FA"; + + QString iconThemeName = "ukui-icon-theme-default"; +- QString cursorThemeName = "DMZ-white"; ++ QString cursorThemeName = "DMZ-White"; + QString wallPaperPath = "/usr/share/backgrounds/ubuntukylin-default-settings.jpg"; + + QString soundThemeName; diff -Nru ukui-control-center-4.10.0.0/debian/patches/0147-184-fix-mainwindow-ContextMenu.patch ukui-control-center-4.10.0.0/debian/patches/0147-184-fix-mainwindow-ContextMenu.patch --- ukui-control-center-4.10.0.0/debian/patches/0147-184-fix-mainwindow-ContextMenu.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-control-center-4.10.0.0/debian/patches/0147-184-fix-mainwindow-ContextMenu.patch 2025-03-12 19:30:45.000000000 +0800 @@ -0,0 +1,10882 @@ +From: nil <zhoubin@kylinos.cn> +Date: Wed, 12 Mar 2025 09:50:13 +0000 +Subject: =?utf-8?q?!184_fix=28mainwindow=29=3A_ContextMenu_Merge_pull_reque?= + =?utf-8?q?st_!184_from_=E4=BD=95=E6=80=9D=E8=83=9C/nile-0212?= + +--- + changeOtherUserPwd/main.cpp | 19 + + changeUserPwd/main.cpp | 19 + + checkUserPwdWithPAM/checkUserPwd/main.cpp | 19 + + checkUserPwdWithPAM/checkUserPwd/widget.cpp | 19 + + libukcc/interface/mthread.cpp | 19 + + libukcc/widgets/AddBtn/addbtn.cpp | 20 + + libukcc/widgets/Button/fixbutton.cpp | 19 + + libukcc/widgets/CloseButton/closebutton.cpp | 20 + + libukcc/widgets/ComboxFrame/comboxframe.cpp | 19 + + libukcc/widgets/Frame/hlineframe.cpp | 19 + + libukcc/widgets/HoverBtn/hoverbtn.cpp | 19 + + libukcc/widgets/InfoButton/infobutton.cpp | 19 + + libukcc/widgets/Label/iconlabel.cpp | 19 + + libukcc/widgets/Label/lightlabel.cpp | 19 + + libukcc/widgets/Label/passwordlabel.cpp | 19 + + libukcc/widgets/Label/tristatelabel.cpp | 19 + + libukcc/widgets/SettingWidget/addbutton.cpp | 19 + + libukcc/widgets/SettingWidget/comboxwidget.cpp | 19 + + libukcc/widgets/SettingWidget/lineeditwidget.cpp | 19 + + libukcc/widgets/SettingWidget/pushbuttonwidget.cpp | 19 + + .../widgets/SettingWidget/radiobuttonwidget.cpp | 19 + + libukcc/widgets/SettingWidget/settinggroup.cpp | 19 + + libukcc/widgets/SettingWidget/sliderwidget.cpp | 19 + + libukcc/widgets/SettingWidget/ukccframe.cpp | 19 + + libukcc/widgets/Uslider/uslider.cpp | 19 + + plugins/account/userinfo/changeusergroup.cpp | 28 +- + plugins/account/userinfo/changeuserlogo.cpp | 19 + + plugins/account/userinfo/changeusernickname.cpp | 19 + + plugins/account/userinfo/changeuserpwd.cpp | 19 + + plugins/account/userinfo/changeusertype.cpp | 19 + + plugins/account/userinfo/createusernew.cpp | 19 + + plugins/account/userinfo/deleteuserexists.cpp | 19 + + plugins/account/userinfo/pwdcheckthread.cpp | 19 + + plugins/account/userinfo/utilsforuserinfo.cpp | 19 + + plugins/commoninfo/boot/boot.cpp | 19 + + plugins/commoninfo/boot/bootui.cpp | 19 + + plugins/commoninfo/boot/grubverifydialog.cpp | 19 + + plugins/currency/boot/boot.cpp | 167 ----- + plugins/currency/boot/boot.h | 61 -- + plugins/currency/boot/boot.pro | 42 -- + plugins/currency/boot/grubverifydialog.cpp | 320 ---------- + plugins/currency/boot/grubverifydialog.h | 66 -- + plugins/devices/keyboard/keyboardui.cpp | 19 + + plugins/devices/mouse/mouse.cpp | 19 + + plugins/devices/touchpad/touchpad.cpp | 168 ----- + plugins/devices/touchpad/touchpad.h | 62 -- + plugins/devices/touchpad/touchpad.pro | 48 -- + plugins/devices/touchpad/touchpadui.cpp | 336 ---------- + plugins/devices/touchpad/touchpadui.h | 102 --- + plugins/system/vino/inputpwddialog.cpp | 19 + + plugins/system/vino/krd.cpp | 20 + + plugins/system/vino/vinoui.cpp | 61 -- + plugins/system/vino/vinoui.h | 74 --- + plugins/system/vino_hw/com.kylin.RemoteDesktop.xml | 42 -- + plugins/system/vino_hw/krd.cpp | 27 - + plugins/system/vino_hw/krd.h | 122 ---- + plugins/system/vino_hw/sharemain.cpp | 705 --------------------- + plugins/system/vino_hw/sharemain.h | 189 ------ + plugins/system/vino_hw/vino_hw.cpp | 74 --- + plugins/system/vino_hw/vino_hw.h | 55 -- + plugins/system/vino_hw/vino_hw.pro | 48 -- + registeredSession/main.cpp | 19 + + .../plugins/keyboard/keyboardinterface.cpp | 19 + + registeredSession/plugins/mouse/mouseinterface.cpp | 19 + + registeredSession/plugins/vino/vinointerface.cpp | 19 + + registeredSession/ukccsessionserver.cpp | 2 +- + registeredSession/universalinterface.cpp | 2 +- + shell/component/AddBtn/addbtn.cpp | 89 --- + shell/component/AddBtn/addbtn.h | 36 -- + shell/component/AddBtn/addbtn.pri | 6 - + shell/component/Button/button.pri | 6 - + shell/component/Button/fixbutton.cpp | 36 -- + shell/component/Button/fixbutton.h | 21 - + shell/component/CloseButton/closebutton.cpp | 265 -------- + shell/component/CloseButton/closebutton.h | 54 -- + shell/component/CloseButton/closebutton.pri | 8 - + shell/component/ComboBox/combobox.cpp | 79 --- + shell/component/ComboBox/combobox.h | 56 -- + shell/component/ComboBox/combobox.pri | 9 - + shell/component/ComboBox/comboboxitem.cpp | 71 --- + shell/component/ComboBox/comboboxitem.h | 55 -- + shell/component/ComboBox/nofocusframedelegate.cpp | 35 - + shell/component/ComboBox/nofocusframedelegate.h | 37 -- + shell/component/ComboxFrame/comboxframe.cpp | 36 -- + shell/component/ComboxFrame/comboxframe.h | 31 - + shell/component/ComboxFrame/comboxframe.pri | 7 - + shell/component/FlowLayout/flowlayout.cpp | 223 ------- + shell/component/FlowLayout/flowlayout.h | 63 -- + shell/component/FlowLayout/flowlayout.pri | 8 - + shell/component/Frame/frame.pri | 6 - + shell/component/Frame/hlineframe.cpp | 12 - + shell/component/Frame/hlineframe.h | 14 - + shell/component/HoverBtn/hoverbtn.cpp | 108 ---- + shell/component/HoverBtn/hoverbtn.h | 62 -- + shell/component/HoverBtn/hoverbtn.pri | 8 - + shell/component/HoverWidget/hoverwidget.cpp | 64 -- + shell/component/HoverWidget/hoverwidget.h | 51 -- + shell/component/HoverWidget/hoverwidget.pri | 8 - + shell/component/ImageUtil/imageutil.cpp | 82 --- + shell/component/ImageUtil/imageutil.h | 34 - + shell/component/ImageUtil/imageutil.pri | 8 - + shell/component/InfoButton/infobutton.cpp | 106 ---- + shell/component/InfoButton/infobutton.h | 38 -- + shell/component/InfoButton/infobutton.pri | 9 - + shell/component/Label/fixlabel.cpp | 61 -- + shell/component/Label/fixlabel.h | 44 -- + shell/component/Label/iconlabel.cpp | 20 - + shell/component/Label/iconlabel.h | 24 - + shell/component/Label/label.pri | 13 - + shell/component/Label/lightlabel.cpp | 27 - + shell/component/Label/lightlabel.h | 18 - + shell/component/Label/titlelabel.cpp | 36 -- + shell/component/Label/titlelabel.h | 34 - + shell/component/Label/tristatelabel.cpp | 146 ----- + shell/component/Label/tristatelabel.h | 36 -- + shell/component/ListDelegate/listdelegate.cpp | 40 -- + shell/component/ListDelegate/listdelegate.h | 40 -- + shell/component/ListDelegate/listdelegate.pri | 8 - + shell/component/MaskWidget/maskwidget.cpp | 50 -- + shell/component/MaskWidget/maskwidget.h | 50 -- + shell/component/MaskWidget/maskwidget.pri | 8 - + shell/component/SwitchButton/switchbutton.cpp | 326 ---------- + shell/component/SwitchButton/switchbutton.h | 120 ---- + shell/component/SwitchButton/switchbutton.pri | 5 - + shell/component/Uslider/uslider.cpp | 133 ---- + shell/component/Uslider/uslider.h | 29 - + shell/component/Uslider/uslider.pri | 9 - + shell/component/hoverwidget.cpp | 67 -- + shell/component/hoverwidget.h | 52 -- + shell/component/leftmenulist.cpp | 19 + + shell/customstyle.cpp | 19 + + shell/iconbutton.cpp | 19 + + shell/leftsidebarwidget.cpp | 19 + + shell/mainwindow.cpp | 4 +- + shell/mstackwidget.cpp | 19 + + shell/pinyin.cpp | 19 + + shell/prescene.cpp | 19 + + shell/searchwidget.cpp | 19 + + shell/titlewidget.cpp | 19 + + shell/type.cpp | 19 + + shell/ukccsearchserver.cpp | 19 + + shell/utils/modulefactory.cpp | 19 + + tastenbrett/application.cpp | 36 -- + tastenbrett/application.h | 44 -- + tastenbrett/config-workspace.h | 166 ----- + tastenbrett/doodad.cpp | 93 --- + tastenbrett/doodad.h | 157 ----- + tastenbrett/geometry.cpp | 45 -- + tastenbrett/geometry.h | 47 -- + tastenbrett/key.cpp | 264 -------- + tastenbrett/key.h | 97 --- + tastenbrett/main.cpp | 151 ----- + tastenbrett/outline.cpp | 34 - + tastenbrett/outline.h | 48 -- + tastenbrett/qml.qrc | 12 - + tastenbrett/qml/IndicatorDoodad.qml | 26 - + tastenbrett/qml/Key.qml | 85 --- + tastenbrett/qml/KeyCap.qml | 63 -- + tastenbrett/qml/KeyCapLabel.qml | 31 - + tastenbrett/qml/ShapeCanvas.qml | 110 ---- + tastenbrett/qml/ShapeDoodad.qml | 39 -- + tastenbrett/qml/TextDoodad.qml | 41 -- + tastenbrett/qml/main.qml | 207 ------ + tastenbrett/row.cpp | 35 - + tastenbrett/row.h | 54 -- + tastenbrett/section.cpp | 52 -- + tastenbrett/section.h | 55 -- + tastenbrett/shape.cpp | 46 -- + tastenbrett/shape.h | 43 -- + tastenbrett/tastenbrett.pro | 55 -- + tastenbrett/xkbobject.cpp | 28 - + tastenbrett/xkbobject.h | 53 -- + tests/unit_test_keyboard/main.cpp | 19 + + tests/unit_test_mouse/main.cpp | 19 + + tests/unit_test_vino/main.cpp | 19 + + 175 files changed, 1150 insertions(+), 8233 deletions(-) + delete mode 100644 plugins/currency/boot/boot.cpp + delete mode 100644 plugins/currency/boot/boot.h + delete mode 100644 plugins/currency/boot/boot.pro + delete mode 100644 plugins/currency/boot/grubverifydialog.cpp + delete mode 100644 plugins/currency/boot/grubverifydialog.h + delete mode 100644 plugins/devices/touchpad/touchpad.cpp + delete mode 100644 plugins/devices/touchpad/touchpad.h + delete mode 100644 plugins/devices/touchpad/touchpad.pro + delete mode 100644 plugins/devices/touchpad/touchpadui.cpp + delete mode 100644 plugins/devices/touchpad/touchpadui.h + delete mode 100644 plugins/system/vino/vinoui.cpp + delete mode 100644 plugins/system/vino/vinoui.h + delete mode 100644 plugins/system/vino_hw/com.kylin.RemoteDesktop.xml + delete mode 100644 plugins/system/vino_hw/krd.cpp + delete mode 100644 plugins/system/vino_hw/krd.h + delete mode 100644 plugins/system/vino_hw/sharemain.cpp + delete mode 100644 plugins/system/vino_hw/sharemain.h + delete mode 100644 plugins/system/vino_hw/vino_hw.cpp + delete mode 100644 plugins/system/vino_hw/vino_hw.h + delete mode 100644 plugins/system/vino_hw/vino_hw.pro + delete mode 100644 shell/component/AddBtn/addbtn.cpp + delete mode 100644 shell/component/AddBtn/addbtn.h + delete mode 100644 shell/component/AddBtn/addbtn.pri + delete mode 100644 shell/component/Button/button.pri + delete mode 100644 shell/component/Button/fixbutton.cpp + delete mode 100644 shell/component/Button/fixbutton.h + delete mode 100644 shell/component/CloseButton/closebutton.cpp + delete mode 100644 shell/component/CloseButton/closebutton.h + delete mode 100644 shell/component/CloseButton/closebutton.pri + delete mode 100644 shell/component/ComboBox/combobox.cpp + delete mode 100644 shell/component/ComboBox/combobox.h + delete mode 100644 shell/component/ComboBox/combobox.pri + delete mode 100644 shell/component/ComboBox/comboboxitem.cpp + delete mode 100644 shell/component/ComboBox/comboboxitem.h + delete mode 100644 shell/component/ComboBox/nofocusframedelegate.cpp + delete mode 100644 shell/component/ComboBox/nofocusframedelegate.h + delete mode 100644 shell/component/ComboxFrame/comboxframe.cpp + delete mode 100644 shell/component/ComboxFrame/comboxframe.h + delete mode 100644 shell/component/ComboxFrame/comboxframe.pri + delete mode 100644 shell/component/FlowLayout/flowlayout.cpp + delete mode 100644 shell/component/FlowLayout/flowlayout.h + delete mode 100644 shell/component/FlowLayout/flowlayout.pri + delete mode 100644 shell/component/Frame/frame.pri + delete mode 100644 shell/component/Frame/hlineframe.cpp + delete mode 100644 shell/component/Frame/hlineframe.h + delete mode 100644 shell/component/HoverBtn/hoverbtn.cpp + delete mode 100644 shell/component/HoverBtn/hoverbtn.h + delete mode 100644 shell/component/HoverBtn/hoverbtn.pri + delete mode 100644 shell/component/HoverWidget/hoverwidget.cpp + delete mode 100644 shell/component/HoverWidget/hoverwidget.h + delete mode 100644 shell/component/HoverWidget/hoverwidget.pri + delete mode 100644 shell/component/ImageUtil/imageutil.cpp + delete mode 100644 shell/component/ImageUtil/imageutil.h + delete mode 100644 shell/component/ImageUtil/imageutil.pri + delete mode 100644 shell/component/InfoButton/infobutton.cpp + delete mode 100644 shell/component/InfoButton/infobutton.h + delete mode 100644 shell/component/InfoButton/infobutton.pri + delete mode 100644 shell/component/Label/fixlabel.cpp + delete mode 100644 shell/component/Label/fixlabel.h + delete mode 100644 shell/component/Label/iconlabel.cpp + delete mode 100644 shell/component/Label/iconlabel.h + delete mode 100644 shell/component/Label/label.pri + delete mode 100644 shell/component/Label/lightlabel.cpp + delete mode 100644 shell/component/Label/lightlabel.h + delete mode 100644 shell/component/Label/titlelabel.cpp + delete mode 100644 shell/component/Label/titlelabel.h + delete mode 100644 shell/component/Label/tristatelabel.cpp + delete mode 100644 shell/component/Label/tristatelabel.h + delete mode 100644 shell/component/ListDelegate/listdelegate.cpp + delete mode 100644 shell/component/ListDelegate/listdelegate.h + delete mode 100644 shell/component/ListDelegate/listdelegate.pri + delete mode 100644 shell/component/MaskWidget/maskwidget.cpp + delete mode 100644 shell/component/MaskWidget/maskwidget.h + delete mode 100644 shell/component/MaskWidget/maskwidget.pri + delete mode 100644 shell/component/SwitchButton/switchbutton.cpp + delete mode 100644 shell/component/SwitchButton/switchbutton.h + delete mode 100644 shell/component/SwitchButton/switchbutton.pri + delete mode 100644 shell/component/Uslider/uslider.cpp + delete mode 100644 shell/component/Uslider/uslider.h + delete mode 100644 shell/component/Uslider/uslider.pri + delete mode 100644 shell/component/hoverwidget.cpp + delete mode 100644 shell/component/hoverwidget.h + delete mode 100644 tastenbrett/application.cpp + delete mode 100644 tastenbrett/application.h + delete mode 100644 tastenbrett/config-workspace.h + delete mode 100644 tastenbrett/doodad.cpp + delete mode 100644 tastenbrett/doodad.h + delete mode 100644 tastenbrett/geometry.cpp + delete mode 100644 tastenbrett/geometry.h + delete mode 100644 tastenbrett/key.cpp + delete mode 100644 tastenbrett/key.h + delete mode 100644 tastenbrett/main.cpp + delete mode 100644 tastenbrett/outline.cpp + delete mode 100644 tastenbrett/outline.h + delete mode 100644 tastenbrett/qml.qrc + delete mode 100644 tastenbrett/qml/IndicatorDoodad.qml + delete mode 100644 tastenbrett/qml/Key.qml + delete mode 100644 tastenbrett/qml/KeyCap.qml + delete mode 100644 tastenbrett/qml/KeyCapLabel.qml + delete mode 100644 tastenbrett/qml/ShapeCanvas.qml + delete mode 100644 tastenbrett/qml/ShapeDoodad.qml + delete mode 100644 tastenbrett/qml/TextDoodad.qml + delete mode 100644 tastenbrett/qml/main.qml + delete mode 100644 tastenbrett/row.cpp + delete mode 100644 tastenbrett/row.h + delete mode 100644 tastenbrett/section.cpp + delete mode 100644 tastenbrett/section.h + delete mode 100644 tastenbrett/shape.cpp + delete mode 100644 tastenbrett/shape.h + delete mode 100644 tastenbrett/tastenbrett.pro + delete mode 100644 tastenbrett/xkbobject.cpp + delete mode 100644 tastenbrett/xkbobject.h + +diff --git a/changeOtherUserPwd/main.cpp b/changeOtherUserPwd/main.cpp +index 7eaec11..275817a 100644 +--- a/changeOtherUserPwd/main.cpp ++++ b/changeOtherUserPwd/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + /*change otheruser password on pam*/ + #include <QCoreApplication> + #include <stdio.h> +diff --git a/changeUserPwd/main.cpp b/changeUserPwd/main.cpp +index 487a80d..fe26b25 100644 +--- a/changeUserPwd/main.cpp ++++ b/changeUserPwd/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <QCoreApplication> + #include <glib.h> + +diff --git a/checkUserPwdWithPAM/checkUserPwd/main.cpp b/checkUserPwdWithPAM/checkUserPwd/main.cpp +index 8f7dfc7..cb9fadb 100644 +--- a/checkUserPwdWithPAM/checkUserPwd/main.cpp ++++ b/checkUserPwdWithPAM/checkUserPwd/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "widget.h" + + #include <QCoreApplication> +diff --git a/checkUserPwdWithPAM/checkUserPwd/widget.cpp b/checkUserPwdWithPAM/checkUserPwd/widget.cpp +index 5292a2f..fa5b34a 100644 +--- a/checkUserPwdWithPAM/checkUserPwd/widget.cpp ++++ b/checkUserPwdWithPAM/checkUserPwd/widget.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "widget.h" + + #include "auth-pam.h" +diff --git a/libukcc/interface/mthread.cpp b/libukcc/interface/mthread.cpp +index ca31ed5..0d631a8 100644 +--- a/libukcc/interface/mthread.cpp ++++ b/libukcc/interface/mthread.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "mthread.h" + #include <unistd.h> + #include <QTime> +diff --git a/libukcc/widgets/AddBtn/addbtn.cpp b/libukcc/widgets/AddBtn/addbtn.cpp +index 0388985..64b87f2 100644 +--- a/libukcc/widgets/AddBtn/addbtn.cpp ++++ b/libukcc/widgets/AddBtn/addbtn.cpp +@@ -1,3 +1,23 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ ++ + #include "addbtn.h" + #include <QEvent> + #include <QHBoxLayout> +diff --git a/libukcc/widgets/Button/fixbutton.cpp b/libukcc/widgets/Button/fixbutton.cpp +index fed4aad..2825280 100644 +--- a/libukcc/widgets/Button/fixbutton.cpp ++++ b/libukcc/widgets/Button/fixbutton.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "fixbutton.h" + #include <QFontMetrics> + #include <QDebug> +diff --git a/libukcc/widgets/CloseButton/closebutton.cpp b/libukcc/widgets/CloseButton/closebutton.cpp +index 8df43ad..02820ed 100644 +--- a/libukcc/widgets/CloseButton/closebutton.cpp ++++ b/libukcc/widgets/CloseButton/closebutton.cpp +@@ -1,3 +1,23 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ ++ + /* CloseButton by David Peng + * 2020 10.20 + * Version Beta 1.0 +diff --git a/libukcc/widgets/ComboxFrame/comboxframe.cpp b/libukcc/widgets/ComboxFrame/comboxframe.cpp +index 5d2c27f..f644f27 100644 +--- a/libukcc/widgets/ComboxFrame/comboxframe.cpp ++++ b/libukcc/widgets/ComboxFrame/comboxframe.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "comboxframe.h" + + ComboxFrame:: ComboxFrame(QString labelStr, QWidget *parent) : QFrame(parent), mTitleName(labelStr) { +diff --git a/libukcc/widgets/Frame/hlineframe.cpp b/libukcc/widgets/Frame/hlineframe.cpp +index b5fb394..3809bbb 100644 +--- a/libukcc/widgets/Frame/hlineframe.cpp ++++ b/libukcc/widgets/Frame/hlineframe.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "hlineframe.h" + + HLineFrame::HLineFrame(QWidget *parent) +diff --git a/libukcc/widgets/HoverBtn/hoverbtn.cpp b/libukcc/widgets/HoverBtn/hoverbtn.cpp +index 298b5e4..2645c2e 100644 +--- a/libukcc/widgets/HoverBtn/hoverbtn.cpp ++++ b/libukcc/widgets/HoverBtn/hoverbtn.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "hoverbtn.h" + + #include <QDebug> +diff --git a/libukcc/widgets/InfoButton/infobutton.cpp b/libukcc/widgets/InfoButton/infobutton.cpp +index 5d87ed2..4cccefb 100644 +--- a/libukcc/widgets/InfoButton/infobutton.cpp ++++ b/libukcc/widgets/InfoButton/infobutton.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "infobutton.h" + #include <QDebug> + #include <QEvent> +diff --git a/libukcc/widgets/Label/iconlabel.cpp b/libukcc/widgets/Label/iconlabel.cpp +index dc0eafa..680dc43 100644 +--- a/libukcc/widgets/Label/iconlabel.cpp ++++ b/libukcc/widgets/Label/iconlabel.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "iconlabel.h" + #include <QEvent> + +diff --git a/libukcc/widgets/Label/lightlabel.cpp b/libukcc/widgets/Label/lightlabel.cpp +index 14dd7f2..2e0aa97 100644 +--- a/libukcc/widgets/Label/lightlabel.cpp ++++ b/libukcc/widgets/Label/lightlabel.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "lightlabel.h" + + LightLabel::LightLabel(QWidget *parent): +diff --git a/libukcc/widgets/Label/passwordlabel.cpp b/libukcc/widgets/Label/passwordlabel.cpp +index 2418e3a..f104a00 100644 +--- a/libukcc/widgets/Label/passwordlabel.cpp ++++ b/libukcc/widgets/Label/passwordlabel.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "passwordlabel.h" + #include <QPainter> + #include <QIcon> +diff --git a/libukcc/widgets/Label/tristatelabel.cpp b/libukcc/widgets/Label/tristatelabel.cpp +index bbb306e..5eca554 100644 +--- a/libukcc/widgets/Label/tristatelabel.cpp ++++ b/libukcc/widgets/Label/tristatelabel.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "tristatelabel.h" + + static inline qreal mixQreal(qreal a, qreal b, qreal bias) +diff --git a/libukcc/widgets/SettingWidget/addbutton.cpp b/libukcc/widgets/SettingWidget/addbutton.cpp +index 8790ba7..23cd43a 100644 +--- a/libukcc/widgets/SettingWidget/addbutton.cpp ++++ b/libukcc/widgets/SettingWidget/addbutton.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "addbutton.h" + #include <QEvent> + #include <QHBoxLayout> +diff --git a/libukcc/widgets/SettingWidget/comboxwidget.cpp b/libukcc/widgets/SettingWidget/comboxwidget.cpp +index 86c8dc8..3a52adc 100644 +--- a/libukcc/widgets/SettingWidget/comboxwidget.cpp ++++ b/libukcc/widgets/SettingWidget/comboxwidget.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "comboxwidget.h" + + #include <QDebug> +diff --git a/libukcc/widgets/SettingWidget/lineeditwidget.cpp b/libukcc/widgets/SettingWidget/lineeditwidget.cpp +index f3c4688..2912e52 100644 +--- a/libukcc/widgets/SettingWidget/lineeditwidget.cpp ++++ b/libukcc/widgets/SettingWidget/lineeditwidget.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "lineeditwidget.h" + + #include <QDebug> +diff --git a/libukcc/widgets/SettingWidget/pushbuttonwidget.cpp b/libukcc/widgets/SettingWidget/pushbuttonwidget.cpp +index f55efd3..06f9d4d 100644 +--- a/libukcc/widgets/SettingWidget/pushbuttonwidget.cpp ++++ b/libukcc/widgets/SettingWidget/pushbuttonwidget.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "pushbuttonwidget.h" + + #include <QDebug> +diff --git a/libukcc/widgets/SettingWidget/radiobuttonwidget.cpp b/libukcc/widgets/SettingWidget/radiobuttonwidget.cpp +index 67372a9..524ec20 100644 +--- a/libukcc/widgets/SettingWidget/radiobuttonwidget.cpp ++++ b/libukcc/widgets/SettingWidget/radiobuttonwidget.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "radiobuttonwidget.h" + + #include <QDebug> +diff --git a/libukcc/widgets/SettingWidget/settinggroup.cpp b/libukcc/widgets/SettingWidget/settinggroup.cpp +index 98e4dd9..1a9cb77 100644 +--- a/libukcc/widgets/SettingWidget/settinggroup.cpp ++++ b/libukcc/widgets/SettingWidget/settinggroup.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "settinggroup.h" + #include <QApplication> + +diff --git a/libukcc/widgets/SettingWidget/sliderwidget.cpp b/libukcc/widgets/SettingWidget/sliderwidget.cpp +index b64fd74..7956c01 100644 +--- a/libukcc/widgets/SettingWidget/sliderwidget.cpp ++++ b/libukcc/widgets/SettingWidget/sliderwidget.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "sliderwidget.h" + + #include <QDebug> +diff --git a/libukcc/widgets/SettingWidget/ukccframe.cpp b/libukcc/widgets/SettingWidget/ukccframe.cpp +index d812719..97b52fd 100644 +--- a/libukcc/widgets/SettingWidget/ukccframe.cpp ++++ b/libukcc/widgets/SettingWidget/ukccframe.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "ukccframe.h" + #include <QPainter> + #include <QDBusReply> +diff --git a/libukcc/widgets/Uslider/uslider.cpp b/libukcc/widgets/Uslider/uslider.cpp +index 6a105e2..65090f6 100644 +--- a/libukcc/widgets/Uslider/uslider.cpp ++++ b/libukcc/widgets/Uslider/uslider.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "uslider.h" + + #include <QStyle> +diff --git a/plugins/account/userinfo/changeusergroup.cpp b/plugins/account/userinfo/changeusergroup.cpp +index a7f21db..841bab0 100644 +--- a/plugins/account/userinfo/changeusergroup.cpp ++++ b/plugins/account/userinfo/changeusergroup.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "changeusergroup.h" + #include <iostream> + using std::cout; +@@ -564,16 +583,14 @@ void changeUserGroup::addUserGroupSlot() + if(lineId->text() == groupList->at(j)->groupid){ + QMessageBox invalid(QMessageBox::Question, tr("Tips"), tr("Invalid Id!")); + invalid.setIcon(QMessageBox::Warning); +- invalid.setStandardButtons(QMessageBox::Ok); +- invalid.setButtonText(QMessageBox::Ok, QString(tr("OK"))); ++ invalid.addButton(tr("OK"), QMessageBox::YesRole); + invalid.exec(); + return; + } + if(lineName->text() == groupList->at(j)->groupname){ + QMessageBox invalid(QMessageBox::Question, tr("Tips"), tr("Invalid Group Name!")); + invalid.setIcon(QMessageBox::Warning); +- invalid.setStandardButtons(QMessageBox::Ok); +- invalid.setButtonText(QMessageBox::Ok, QString(tr("OK"))); ++ invalid.addButton(tr("OK"), QMessageBox::YesRole); + invalid.exec(); + return; + } +@@ -648,8 +665,7 @@ void changeUserGroup::saveUserGroupInfoSlot() + if(mUserGroupIdLineEdit->text() == this->groupList->at(j)->groupid){ + QMessageBox invalid(QMessageBox::Question, tr("Tips"), tr("Invalid Id!")); + invalid.setIcon(QMessageBox::Warning); +- invalid.setStandardButtons(QMessageBox::Ok); +- invalid.setButtonText(QMessageBox::Ok, QString(tr("OK"))); ++ invalid.addButton(tr("OK"), QMessageBox::YesRole); + invalid.exec(); + return; + } +diff --git a/plugins/account/userinfo/changeuserlogo.cpp b/plugins/account/userinfo/changeuserlogo.cpp +index 85d09b5..d6d0883 100644 +--- a/plugins/account/userinfo/changeuserlogo.cpp ++++ b/plugins/account/userinfo/changeuserlogo.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "changeuserlogo.h" + + #include <QVBoxLayout> +diff --git a/plugins/account/userinfo/changeusernickname.cpp b/plugins/account/userinfo/changeusernickname.cpp +index 6e8a97d..e76f74d 100644 +--- a/plugins/account/userinfo/changeusernickname.cpp ++++ b/plugins/account/userinfo/changeusernickname.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "changeusernickname.h" + + #include <QVBoxLayout> +diff --git a/plugins/account/userinfo/changeuserpwd.cpp b/plugins/account/userinfo/changeuserpwd.cpp +index f56662e..013e23d 100644 +--- a/plugins/account/userinfo/changeuserpwd.cpp ++++ b/plugins/account/userinfo/changeuserpwd.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "changeuserpwd.h" + + #include "passwdcheckutil.h" +diff --git a/plugins/account/userinfo/changeusertype.cpp b/plugins/account/userinfo/changeusertype.cpp +index 74e4744..932b004 100644 +--- a/plugins/account/userinfo/changeusertype.cpp ++++ b/plugins/account/userinfo/changeusertype.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "changeusertype.h" + + #include <QVBoxLayout> +diff --git a/plugins/account/userinfo/createusernew.cpp b/plugins/account/userinfo/createusernew.cpp +index e892dec..1b734a0 100644 +--- a/plugins/account/userinfo/createusernew.cpp ++++ b/plugins/account/userinfo/createusernew.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "createusernew.h" + + #include <QVBoxLayout> +diff --git a/plugins/account/userinfo/deleteuserexists.cpp b/plugins/account/userinfo/deleteuserexists.cpp +index 732090a..5be329e 100644 +--- a/plugins/account/userinfo/deleteuserexists.cpp ++++ b/plugins/account/userinfo/deleteuserexists.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "deleteuserexists.h" + + #include <QVBoxLayout> +diff --git a/plugins/account/userinfo/pwdcheckthread.cpp b/plugins/account/userinfo/pwdcheckthread.cpp +index 37e9af6..fcc993a 100644 +--- a/plugins/account/userinfo/pwdcheckthread.cpp ++++ b/plugins/account/userinfo/pwdcheckthread.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "pwdcheckthread.h" + + #include <QDebug> +diff --git a/plugins/account/userinfo/utilsforuserinfo.cpp b/plugins/account/userinfo/utilsforuserinfo.cpp +index 9215599..e383d0a 100644 +--- a/plugins/account/userinfo/utilsforuserinfo.cpp ++++ b/plugins/account/userinfo/utilsforuserinfo.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "utilsforuserinfo.h" + + #include <QFrame> +diff --git a/plugins/commoninfo/boot/boot.cpp b/plugins/commoninfo/boot/boot.cpp +index ceabb10..c9a25af 100644 +--- a/plugins/commoninfo/boot/boot.cpp ++++ b/plugins/commoninfo/boot/boot.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "boot.h" + + #include <QDebug> +diff --git a/plugins/commoninfo/boot/bootui.cpp b/plugins/commoninfo/boot/bootui.cpp +index f742ed4..21f6619 100644 +--- a/plugins/commoninfo/boot/bootui.cpp ++++ b/plugins/commoninfo/boot/bootui.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "bootui.h" + + BootUi::BootUi(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f) +diff --git a/plugins/commoninfo/boot/grubverifydialog.cpp b/plugins/commoninfo/boot/grubverifydialog.cpp +index 0569cd1..10c9457 100644 +--- a/plugins/commoninfo/boot/grubverifydialog.cpp ++++ b/plugins/commoninfo/boot/grubverifydialog.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "grubverifydialog.h" + + #include <QRegExpValidator> +diff --git a/plugins/currency/boot/boot.cpp b/plugins/currency/boot/boot.cpp +deleted file mode 100644 +index a526ffd..0000000 +--- a/plugins/currency/boot/boot.cpp ++++ /dev/null +@@ -1,167 +0,0 @@ +-#include "boot.h" +- +-#include <QDebug> +- +-Boot::Boot() : mFirstLoad(true) +-{ +- pluginName = tr("Boot"); +- pluginType = CURRENCY; +-} +- +-Boot::~Boot() +-{ +-} +- +-QString Boot::plugini18nName() +-{ +- return pluginName; +-} +- +-int Boot::pluginTypes() +-{ +- return pluginType; +-} +- +-QWidget *Boot::pluginUi() +-{ +- if (mFirstLoad) { +- mFirstLoad = false; +- pluginWidget = new QWidget; +- pluginWidget->setAttribute(Qt::WA_DeleteOnClose); +- +- initUI(pluginWidget); +- +- mSystemDbus = new QDBusInterface("com.control.center.qt.systemdbus", +- "/", +- "com.control.center.interface", +- QDBusConnection::systemBus(), this); +- if (!mSystemDbus->isValid()){ +- qCritical() << "Create Client Interface Failed:" << QDBusConnection::systemBus().lastError(); +- } +- +- initConnection(); +- +- } +- return pluginWidget; +-} +- +-const QString Boot::name() const +-{ +- return QStringLiteral("Boot"); +-} +- +-bool Boot::isShowOnHomePage() const +-{ +- return true; +-} +- +-QIcon Boot::icon() const +-{ +- return QIcon::fromTheme("ukui-bootmenu-symbolic"); +-} +- +-bool Boot::isEnable() const +-{ +- return true; +-} +- +-void Boot::initUI(QWidget *widget) +-{ +- mVlayout = new QVBoxLayout(widget); +- mVlayout->setContentsMargins(0, 0, 0, 0); +- +- mBootTitleLabel = new TitleLabel(pluginWidget); +- mBootTitleLabel->setText(tr("boot")); +- mBootTitleLabel->setContentsMargins(14,0,0,0); +- +- mBootFrame = new QFrame(pluginWidget); +- mBootFrame->setFrameShape(QFrame::Shape::Box); +- mBootFrame->setMinimumSize(550, 80); +- mBootFrame->setMaximumSize(16777215, 80); +- +- QHBoxLayout *bootHLayout = new QHBoxLayout(); +- QVBoxLayout *leftVlayout = new QVBoxLayout(); +- +- //~ contents_path /Boot/Grub verify +- mGrubLabel = new QLabel(tr("Grub verify")); +- mGrubLabel->setAlignment(Qt::AlignBottom); +- mGrubLabel->setMinimumWidth(140); +- mNeedPasswdLabel = new LightLabel(tr("Password required for Grub editing after enabling"), pluginWidget); +- mNeedPasswdLabel->setAlignment(Qt::AlignTop); +- mResetPasswdBtn = new QPushButton(tr("Reset password")); +- mGrubBtn = new SwitchButton(); +- +- leftVlayout->addWidget(mGrubLabel); +- leftVlayout->addWidget(mNeedPasswdLabel); +- leftVlayout->setContentsMargins(0, 0, 0, 0); +- +- bootHLayout->addLayout(leftVlayout); +- bootHLayout->addStretch(); +- bootHLayout->addWidget(mResetPasswdBtn); +- bootHLayout->addSpacing(7); +- bootHLayout->addWidget(mGrubBtn); +- +- bootHLayout->setContentsMargins(12, 0, 14, 0); +- +- mBootFrame->setLayout(bootHLayout); +- +- mVlayout->addWidget(mBootTitleLabel); +- mVlayout->addWidget(mBootFrame); +- mVlayout->addStretch(); +-} +- +-void Boot::initConnection() +-{ +- +- initEnableStatus(); +- +- connect(mGrubBtn, &SwitchButton::checkedChanged, this, &Boot::bootSlot); +- +- connect(mResetPasswdBtn, &QPushButton::clicked, this, &Boot::resetPasswdSlot); +- +-} +- +-void Boot::initEnableStatus() +-{ +- if (mSystemDbus != nullptr) { +- QDBusReply<bool> ret = mSystemDbus->call("getGrupPasswdStatus"); +- mGrubBtn->blockSignals(true); +- mGrubBtn->setChecked(ret); +- mGrubBtn->blockSignals(false); +- } +- +- mResetPasswdBtn->setVisible(mGrubBtn->isChecked()); +-} +- +-void Boot::bootSlot(bool checked) +-{ +- if (checked) { +- GrubVerify dia(pluginWidget); +- if (dia.exec() != QDialog::Accepted) { +- mGrubBtn->blockSignals(true); +- mGrubBtn->setChecked(!checked); +- mGrubBtn->blockSignals(false); +- } +- } else { +- if (mSystemDbus != nullptr) { +- QDBusReply<bool> ret = mSystemDbus->call("setGrupPasswd", "", "", false); +- if (ret == false) { +- mGrubBtn->blockSignals(true); +- mGrubBtn->setChecked(!checked); +- mGrubBtn->blockSignals(false); +- qDebug() << "call setGrupPasswd to close grub password failed!"; +- } +- } +- } +- +- mResetPasswdBtn->setVisible(mGrubBtn->isChecked()); +-} +- +-void Boot::resetPasswdSlot() +-{ +- GrubVerify dia(pluginWidget); +- if (dia.exec() != QDialog::Accepted) { +- qDebug() << "reset passwd failed!" << __FUNCTION__; +- } +-} +- +diff --git a/plugins/currency/boot/boot.h b/plugins/currency/boot/boot.h +deleted file mode 100644 +index 1ca3af8..0000000 +--- a/plugins/currency/boot/boot.h ++++ /dev/null +@@ -1,61 +0,0 @@ +-#ifndef BOOT_H +-#define BOOT_H +- +-#include <QObject> +-#include <QVBoxLayout> +-#include <QDBusInterface> +-#include <QDBusReply> +- +-#include <ukcc/widgets/switchbutton.h> +-#include <ukcc/widgets/titlelabel.h> +-#include <ukcc/widgets/lightlabel.h> +- +-#include "shell/interface.h" +-#include "grubverifydialog.h" +- +-class Boot : public QObject, CommonInterface +-{ +- Q_OBJECT +- Q_PLUGIN_METADATA(IID "org.ukcc.CommonInterface") +- Q_INTERFACES(CommonInterface) +- +-public: +- Boot(); +- ~Boot() Q_DECL_OVERRIDE; +- +- QString plugini18nName() Q_DECL_OVERRIDE; +- int pluginTypes() Q_DECL_OVERRIDE; +- QWidget *pluginUi() Q_DECL_OVERRIDE; +- const QString name() const Q_DECL_OVERRIDE; +- bool isShowOnHomePage() const Q_DECL_OVERRIDE; +- QIcon icon() const Q_DECL_OVERRIDE; +- bool isEnable() const Q_DECL_OVERRIDE; +- +-private: +- QWidget *pluginWidget; +- int pluginType; +- QString pluginName; +- bool mFirstLoad; +- +-private: +- QVBoxLayout *mVlayout; +- TitleLabel *mBootTitleLabel; +- QFrame *mBootFrame; +- QLabel *mGrubLabel; +- SwitchButton *mGrubBtn; +- QPushButton *mResetPasswdBtn; +- LightLabel *mNeedPasswdLabel; +- +- QDBusInterface *mSystemDbus = nullptr; +- +-private: +- void initUI(QWidget *widget); +- void initConnection(); +- void gsettingConnection(); +- void initEnableStatus(); +- +-private Q_SLOTS: +- void bootSlot(bool checked); +- void resetPasswdSlot(); +-}; +-#endif // BOOT_H +diff --git a/plugins/currency/boot/boot.pro b/plugins/currency/boot/boot.pro +deleted file mode 100644 +index 3dab3b2..0000000 +--- a/plugins/currency/boot/boot.pro ++++ /dev/null +@@ -1,42 +0,0 @@ +-include(../../../env.pri) +- +-QT += core gui dbus +- +-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets +- +-CONFIG += c++11 +- +-# The following define makes your compiler emit warnings if you use +-# any Qt feature that has been marked deprecated (the exact warnings +-# depend on your compiler). Please consult the documentation of the +-# deprecated API in order to know how to port your code away from it. +-DEFINES += QT_DEPRECATED_WARNINGS +- +-TEMPLATE = lib +-CONFIG += plugin \ +- link_pkgconfig +- +-PKGCONFIG += gsettings-qt +- +-TARGET = $$qtLibraryTarget(boot) +-DESTDIR = ../.. +-target.path = $${PLUGIN_INSTALL_DIRS} +- +-INCLUDEPATH += \ +- $$PROJECT_ROOTDIR \ +- +-# You can also make your code fail to compile if it uses deprecated APIs. +-# In order to do so, uncomment the following line. +-# You can also select to disable deprecated APIs only up to a certain version of Qt. +-#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +- +-SOURCES += \ +- boot.cpp \ +- grubverifydialog.cpp +- +-HEADERS += \ +- boot.h \ +- grubverifydialog.h +- +-# Default rules for deployment. +-INSTALLS += target +diff --git a/plugins/currency/boot/grubverifydialog.cpp b/plugins/currency/boot/grubverifydialog.cpp +deleted file mode 100644 +index 1d7c900..0000000 +--- a/plugins/currency/boot/grubverifydialog.cpp ++++ /dev/null +@@ -1,320 +0,0 @@ +-#include "grubverifydialog.h" +- +-#include <QRegExpValidator> +-#include <QDebug> +-#include <QDBusInterface> +-#include <QDBusReply> +- +-GrubVerify::GrubVerify(QWidget *parent) : QDialog(parent) +-{ +- initUI(); +- setupConnect(); +-} +- +- +-GrubVerify::~GrubVerify() +-{ +- +-} +- +-void GrubVerify::initUI() +-{ +- setFixedSize(QSize(480, 266)); +- setWindowTitle(tr("Grub verify")); +- +- // 用户 +- userLabel = new QLabel(); +- userLabel->setFixedSize(100,36); +- setTextDynamicInPwd(userLabel, tr("User:")); +- usernameLabel = new QLabel("root"); +- usernameLabel->setFixedSize(QSize(322, 36)); +- +- userHorLayout = new QHBoxLayout; +- userHorLayout->setSpacing(8); +- userHorLayout->setContentsMargins(0, 0, 0, 0); +- userHorLayout->addWidget(userLabel); +- userHorLayout->addWidget(usernameLabel); +- +- //新密码 +- newPwdLabel = new QLabel(); +- newPwdLabel->setFixedSize(100,24); +- setTextDynamicInPwd(newPwdLabel, tr("Pwd")); +- newTipLabel = new QLabel(); +- QFont ft; +- ft.setPixelSize(14); +- newTipLabel->setFont(ft); +- newTipLabel->setFixedSize(QSize(322, 24)); +- newTipLabel->setStyleSheet("color:red;"); +- newTipHorLayout = new QHBoxLayout; +- newTipHorLayout->setContentsMargins(110, 0, 0, 0); +- newTipHorLayout->addStretch(); +- newTipHorLayout->addWidget(newTipLabel); +- newPwdLineEdit = new QLineEdit(); +- QRegExp inputRegExp("^[A-Za-z0-9`~!@#$%^&*()_-+=<>,.\\\/?:;\"'|\{\}\ ]+$"); +- QRegExpValidator *inputLimits = new QRegExpValidator(inputRegExp, this); +- newPwdLineEdit->setValidator(inputLimits); +- newPwdLineEdit->setFixedSize(QSize(322, 36)); +- newPwdLineEdit->setEchoMode(QLineEdit::Password); +- newPwdLineEdit->setTextMargins(0,0,30,0); +- newPwdLineEdit->setContextMenuPolicy(Qt::NoContextMenu); +- newPwdLineEdit->installEventFilter(this); +- newPwdEyeBtn = new QPushButton; +- newPwdEyeBtn->setFixedSize(QSize(24, 24)); +- newPwdEyeBtn->setIcon(QIcon::fromTheme("ukui-eye-hidden-symbolic")); +- newPwdEyeBtn->setCursor(Qt::PointingHandCursor); +- newPwdEyeBtn->setFlat(true); +- newPwdEyeBtn->setStyleSheet("QPushButton::pressed{border:none;background-color:transparent}" +- "QPushButton::hover::!pressed{border:none;background-color:transparent}"); +- newPwdEyeBtn->setFocusPolicy(Qt::FocusPolicy::NoFocus); +- QHBoxLayout *newPwdEyeBtnHLayout = new QHBoxLayout; +- newPwdEyeBtnHLayout->addStretch(); +- newPwdEyeBtnHLayout->addWidget(newPwdEyeBtn); +- newPwdEyeBtnHLayout->setContentsMargins(0,0,8,0); +- newPwdLineEdit->setLayout(newPwdEyeBtnHLayout); +- +- newPwdHorLayout = new QHBoxLayout; +- newPwdHorLayout->setSpacing(8); +- newPwdHorLayout->setContentsMargins(0, 0, 0, 0); +- newPwdHorLayout->addWidget(newPwdLabel); +- newPwdHorLayout->addWidget(newPwdLineEdit); +- +- //确认密码 +- surePwdLabel = new QLabel(); +- surePwdLabel->setFixedSize(100,24); +- setTextDynamicInPwd(surePwdLabel, tr("Sure Pwd")); +- +- surePwdLineEdit = new QLineEdit(); +- surePwdLineEdit->setValidator(inputLimits); +- surePwdLineEdit->setFixedSize(QSize(322, 36)); +- surePwdLineEdit->setEchoMode(QLineEdit::Password); +- surePwdLineEdit->setTextMargins(0,0,30,0); +- surePwdLineEdit->setContextMenuPolicy(Qt::NoContextMenu); +- surePwdLineEdit->installEventFilter(this); +- surePwdEyeBtn = new QPushButton; +- surePwdEyeBtn->setFixedSize(QSize(24, 24)); +- surePwdEyeBtn->setIcon(QIcon::fromTheme("ukui-eye-hidden-symbolic")); +- surePwdEyeBtn->setCursor(Qt::PointingHandCursor); +- surePwdEyeBtn->setFlat(true); +- surePwdEyeBtn->setStyleSheet("QPushButton::pressed{border:none;background-color:transparent}" +- "QPushButton::hover::!pressed{border:none;background-color:transparent}"); +- surePwdEyeBtn->setFocusPolicy(Qt::FocusPolicy::NoFocus); +- QHBoxLayout *surePwdEyeBtnHLayout = new QHBoxLayout; +- surePwdEyeBtnHLayout->addStretch(); +- surePwdEyeBtnHLayout->addWidget(surePwdEyeBtn); +- surePwdEyeBtnHLayout->setContentsMargins(0,0,8,0); +- surePwdLineEdit->setLayout(surePwdEyeBtnHLayout); +- +- surePwdHorLayout = new QHBoxLayout; +- surePwdHorLayout->setSpacing(8); +- surePwdHorLayout->setContentsMargins(0, 0, 0, 0); +- surePwdHorLayout->addWidget(surePwdLabel); +- surePwdHorLayout->addWidget(surePwdLineEdit); +- +- sureTipLabel = new QLabel(); +- sureTipLabel->setFont(ft); +- sureTipLabel->setFixedSize(QSize(322, 30)); +- sureTipLabel->setStyleSheet("color:red;"); +- +- sureTipHorLayout = new QHBoxLayout; +- sureTipHorLayout->setSpacing(0); +- sureTipHorLayout->setContentsMargins(110, 0, 0, 0); +- sureTipHorLayout->addStretch(); +- sureTipHorLayout->addWidget(sureTipLabel); +- +- //中部输入区域 +- contentVerLayout = new QVBoxLayout; +- contentVerLayout->setSpacing(0); +- contentVerLayout->setContentsMargins(24, 0, 35, 0); +- contentVerLayout->addLayout(userHorLayout); +- contentVerLayout->addLayout(newPwdHorLayout); +- contentVerLayout->addLayout(newTipHorLayout); +- contentVerLayout->addLayout(surePwdHorLayout); +- contentVerLayout->addLayout(sureTipHorLayout); +- +- //底部“取消”、“确定”按钮 +- cancelBtn = new QPushButton(); +- cancelBtn->setMinimumWidth(96); +- cancelBtn->setText(tr("Cancel")); +- cancelBtn->setFocusPolicy(Qt::FocusPolicy::NoFocus); +- confirmBtn = new QPushButton(); +- confirmBtn->setMinimumWidth(96); +- confirmBtn->setText(tr("Confirm")); +- confirmBtn->setFocusPolicy(Qt::FocusPolicy::NoFocus); +- +- bottomBtnsHorLayout = new QHBoxLayout; +- bottomBtnsHorLayout->setSpacing(16); +- bottomBtnsHorLayout->setContentsMargins(0, 0, 25, 0); +- bottomBtnsHorLayout->addStretch(); +- bottomBtnsHorLayout->addWidget(cancelBtn); +- bottomBtnsHorLayout->addWidget(confirmBtn); +- +- mainVerLayout = new QVBoxLayout; +- mainVerLayout->setContentsMargins(0, 10, 0, 24); +- mainVerLayout->addLayout(contentVerLayout); +- mainVerLayout->addStretch(); +- mainVerLayout->addLayout(bottomBtnsHorLayout); +- +- setLayout(mainVerLayout); +-} +- +-void GrubVerify::setupConnect() +-{ +- //通用的connect +- connect(cancelBtn, &QPushButton::clicked, this, [=]{ +- close(); +- }); +- +- connect(newPwdEyeBtn, &QPushButton::clicked, this, [=](){ +- if (newPwdLineEdit->echoMode() == QLineEdit::Password) { +- newPwdLineEdit->setEchoMode(QLineEdit::Normal); +- newPwdEyeBtn->setIcon(QIcon::fromTheme("ukui-eye-display-symbolic")); +- } else { +- newPwdLineEdit->setEchoMode(QLineEdit::Password); +- newPwdEyeBtn->setIcon(QIcon::fromTheme("ukui-eye-hidden-symbolic")); +- } +- +- }); +- +- connect(surePwdEyeBtn, &QPushButton::clicked, this, [=](){ +- if (surePwdLineEdit->echoMode() == QLineEdit::Password) { +- surePwdLineEdit->setEchoMode(QLineEdit::Normal); +- surePwdEyeBtn->setIcon(QIcon::fromTheme("ukui-eye-display-symbolic")); +- } else { +- surePwdLineEdit->setEchoMode(QLineEdit::Password); +- surePwdEyeBtn->setIcon(QIcon::fromTheme("ukui-eye-hidden-symbolic")); +- } +- +- }); +- +- connect(newPwdLineEdit, &QLineEdit::textEdited, this, [=](){ +- checkPwdLegality(); +- refreshConfirmBtnStatus(); +- }); +- +- connect(surePwdLineEdit, &QLineEdit::textEdited, this, [=](QString txt){ +- if (!txt.isEmpty() && txt != newPwdLineEdit->text()){ +- surePwdTip = tr("Inconsistency with pwd"); +- } else { +- surePwdTip = ""; +- } +- +- updateTipLableInfo(sureTipLabel, surePwdTip); +- +- refreshConfirmBtnStatus(); +- }); +- +- connect(confirmBtn, &QPushButton::clicked, this, [=](){ +- QDBusInterface piface("com.control.center.qt.systemdbus", +- "/", +- "com.control.center.interface", +- QDBusConnection::systemBus(), this); +- if (!piface.isValid()){ +- qCritical() << "Create Client Interface Failed:" << QDBusConnection::systemBus().lastError(); +- close(); +- } +- +- QDBusReply<bool> ret = piface.call("setGrupPasswd", "root", newPwdLineEdit->text(), true); +- if (ret == false) { +- close(); +- } else { +- accept(); +- } +- }); +-} +- +-void GrubVerify::checkPwdLegality() +-{ +- if (newPwdLineEdit->text().isEmpty()) { +- newPwdTip = tr("pwd cannot be empty!"); +- } else { +- newPwdTip = tr(""); +- } +- +- //防止先输入确认密码,再输入密码后tipLabel无法刷新 +- if (!surePwdLineEdit->text().isEmpty()){ +- if (QString::compare(newPwdLineEdit->text(), surePwdLineEdit->text()) == 0){ +- surePwdTip = ""; +- } else { +- surePwdTip = tr("Inconsistency with pwd"); +- } +- } +- +- //设置新密码的提示 +- updateTipLableInfo(newTipLabel,newPwdTip); +- +- updateTipLableInfo(sureTipLabel,surePwdTip); +-} +- +-void GrubVerify::updateTipLableInfo(QLabel *Label,QString info) +-{ +- if (setTextDynamicInPwd(Label, info)){ +- Label->setToolTip(info); +- } else { +- Label->setToolTip(""); +- } +-} +- +-void GrubVerify::refreshConfirmBtnStatus() +-{ +- +- if (newPwdLineEdit->text().isEmpty() || surePwdLineEdit->text().isEmpty() || \ +- !newPwdTip.isEmpty() || !surePwdTip.isEmpty()) { +- confirmBtn->setEnabled(false); +- } else { +- confirmBtn->setEnabled(true); +- } +-} +- +-bool GrubVerify::setTextDynamicInPwd(QLabel *label, QString string){ +- +- bool isOverLength = false; +- QFontMetrics fontMetrics(label->font()); +- int fontSize = fontMetrics.width(string); +- +- QString str = string; +- int pSize = label->width(); +- if (fontSize > pSize) { +- str = fontMetrics.elidedText(string, Qt::ElideRight, pSize); +- isOverLength = true; +- label->setToolTip(string); +- } else { +- label->setToolTip(""); +- } +- label->setText(str); +- return isOverLength; +- +-} +- +-bool GrubVerify::eventFilter(QObject *target, QEvent *event) +-{ +- if (target == newPwdLineEdit || target == surePwdLineEdit) { +- if (event->type() == QEvent::KeyPress) +- { +- QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); +- +- if(keyEvent->matches(QKeySequence::Copy) || keyEvent->matches(QKeySequence::Cut)) +- { +- qDebug() <<"Copy || Cut"; +- return true; +- } +- } +- } +- +- if (event->type() == QEvent::FocusOut) { +- if (target == newPwdLineEdit) { +- if (newPwdLineEdit->text().isEmpty()) { +- newPwdTip = tr("pwd cannot be empty!"); +- updateTipLableInfo(newTipLabel, newPwdTip); +- } +- } else if (target == surePwdLineEdit) { +- if (surePwdLineEdit->text().isEmpty()) { +- surePwdTip = tr("sure pwd cannot be empty!"); +- updateTipLableInfo(sureTipLabel, surePwdTip); +- } +- } +- } +- +- return QWidget::eventFilter(target, event); +- //继续传递该事件到被观察者,由其本身调用相应的事件。 +-} +- +diff --git a/plugins/currency/boot/grubverifydialog.h b/plugins/currency/boot/grubverifydialog.h +deleted file mode 100644 +index 6bfb284..0000000 +--- a/plugins/currency/boot/grubverifydialog.h ++++ /dev/null +@@ -1,66 +0,0 @@ +-#ifndef GRUBVERIFY_H +-#define GRUBVERIFY_H +- +-#include <QDialog> +-#include <QLineEdit> +-#include <QLabel> +-#include <QHBoxLayout> +-#include <QPushButton> +-#include <QEvent> +-#include <QKeyEvent> +- +-class GrubVerify : public QDialog +-{ +- Q_OBJECT +-public: +- explicit GrubVerify(QWidget *parent = nullptr); +- ~GrubVerify(); +- +-private: +- +- QVBoxLayout * mainVerLayout; +- QVBoxLayout * contentVerLayout; +- QHBoxLayout * userHorLayout; +- QHBoxLayout * newPwdHorLayout; +- QHBoxLayout * surePwdHorLayout; +- QHBoxLayout * bottomBtnsHorLayout; +- QHBoxLayout *newTipHorLayout; +- QHBoxLayout *sureTipHorLayout; +- QString newPwdTip; +- QString surePwdTip; +- +- QPushButton *cancelBtn; +- QPushButton *confirmBtn; +- +- QLabel *userLabel; +- QLabel *curTipLabel; +- QLabel *newPwdLabel; +- QLabel *newTipLabel; +- QLabel *surePwdLabel; +- QLabel *sureTipLabel; +- +- QLabel * usernameLabel; +- QLineEdit * newPwdLineEdit; +- QLineEdit * surePwdLineEdit; +- +- QPushButton *currentPwdEyeBtn; +- QPushButton *newPwdEyeBtn; +- QPushButton *surePwdEyeBtn; +- +-private: +- void initUI(); +- void setupConnect(); +- bool setTextDynamicInPwd(QLabel * label, QString string); +- void checkPwdLegality(); +- void updateTipLableInfo(QLabel *Label,QString info); +- void refreshConfirmBtnStatus(); +- +-protected: +- bool eventFilter(QObject *target, QEvent *event); +- +-signals: +- +- +-}; +- +-#endif // GRUBVERIFY_H +diff --git a/plugins/devices/keyboard/keyboardui.cpp b/plugins/devices/keyboard/keyboardui.cpp +index b40def6..40fb879 100644 +--- a/plugins/devices/keyboard/keyboardui.cpp ++++ b/plugins/devices/keyboard/keyboardui.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "keyboardui.h" + #include "ukcccommon.h" + using namespace ukcc; +diff --git a/plugins/devices/mouse/mouse.cpp b/plugins/devices/mouse/mouse.cpp +index 63811b3..9222be6 100644 +--- a/plugins/devices/mouse/mouse.cpp ++++ b/plugins/devices/mouse/mouse.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "mouse.h" + + Mouse::Mouse() : mFirstLoad(true) +diff --git a/plugins/devices/touchpad/touchpad.cpp b/plugins/devices/touchpad/touchpad.cpp +deleted file mode 100644 +index 4c3cfa0..0000000 +--- a/plugins/devices/touchpad/touchpad.cpp ++++ /dev/null +@@ -1,168 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#include "touchpad.h" +- +-/* qt会将glib里的signals成员识别为宏,所以取消该宏 +- * 后面如果用到signals时,使用Q_SIGNALS代替即可 +- **/ +-#ifdef signals +-#undef signals +-#endif +- +-Touchpad::Touchpad() : mFirstLoad(true) +-{ +- pluginName = tr("Touchpad"); +- pluginType = DEVICES; +-} +- +-Touchpad::~Touchpad() +-{ +-} +- +-QString Touchpad::plugini18nName() +-{ +- return pluginName; +-} +- +-int Touchpad::pluginTypes() +-{ +- return pluginType; +-} +- +-QWidget *Touchpad::pluginUi() +-{ +- if (mFirstLoad) { +- mFirstLoad = false; +- +- pluginWidget = new TouchpadUI; +- pluginWidget->setAttribute(Qt::WA_DeleteOnClose); +- } +- +- return pluginWidget; +-} +- +-const QString Touchpad::name() const +-{ +- return QStringLiteral("Touchpad"); +-} +- +-bool Touchpad::isShowOnHomePage() const +-{ +- return true; +-} +- +-QIcon Touchpad::icon() const +-{ +- return QIcon::fromTheme("input-touchpad-symbolic"); +-} +- +-bool Touchpad::isEnable() const +-{ +- bool isFound = findSynaptics(); +- return isFound; +-} +- +-// 判断是否检测到触摸板设备 +-bool Touchpad::findSynaptics() const +-{ +- XDeviceInfo *device_info; +- int n_devices; +- bool retval; +- +- if (_supportsXinputDevices() == false) { +- return true; +- } +- +- device_info = XListInputDevices (QX11Info::display(), &n_devices); +- if (device_info == nullptr) { +- return false; +- } +- +- retval = false; +- for (int i = 0; i < n_devices; i++) { +- XDevice *device; +- +- device = _deviceIsTouchpad (&device_info[i]); +- if (device != nullptr) { +- retval = true; +- break; +- } +- } +- if (device_info != nullptr) { +- XFreeDeviceList (device_info); +- } +- +- return retval; +-} +- +-bool Touchpad::_supportsXinputDevices() const +-{ +- int op_code, event, error; +- +- return XQueryExtension (QX11Info::display(), +- "XInputExtension", +- &op_code, +- &event, +- &error); +-} +- +-XDevice* Touchpad::_deviceIsTouchpad (XDeviceInfo *deviceinfo) const +-{ +- XDevice *device; +- if (deviceinfo->type != XInternAtom (QX11Info::display(), XI_TOUCHPAD, true)) { +- return nullptr; +- } +- +- device = XOpenDevice (QX11Info::display(), deviceinfo->id); +- if(device == nullptr) { +- qDebug()<<"device== null"; +- return nullptr; +- } +- +- if (_deviceHasProperty(device, "libinput Tapping Enabled") || +- _deviceHasProperty(device, "Synaptics Off")) { +- return device; +- } +- XCloseDevice (QX11Info::display(), device); +- return nullptr; +-} +- +-bool Touchpad::_deviceHasProperty(XDevice *device, const char *property_name) const +-{ +- Atom realtype, prop; +- int realformat; +- unsigned long nitems, bytes_after; +- unsigned char *data; +- +- prop = XInternAtom (QX11Info::display(), property_name, True); +- if (!prop) { +- return false; +- } +- +- if ((XGetDeviceProperty (QX11Info::display(), device, prop, 0, 1, False, +- XA_INTEGER, &realtype, &realformat, &nitems, +- &bytes_after, &data) == Success) && (realtype != None)) +- { +- XFree (data); +- return true; +- } +- return false; +-} +- +diff --git a/plugins/devices/touchpad/touchpad.h b/plugins/devices/touchpad/touchpad.h +deleted file mode 100644 +index 10638fc..0000000 +--- a/plugins/devices/touchpad/touchpad.h ++++ /dev/null +@@ -1,62 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef TOUCHPAD_H +-#define TOUCHPAD_H +- +-#include <QObject> +-#include <QtPlugin> +- +-#include "shell/interface.h" +-#include "touchpadui.h" +- +-class Touchpad : public QObject, CommonInterface +-{ +- Q_OBJECT +- Q_PLUGIN_METADATA(IID "org.ukcc.CommonInterface") +- Q_INTERFACES(CommonInterface) +- +-public: +- explicit Touchpad(); +- ~Touchpad(); +- +- QString plugini18nName() Q_DECL_OVERRIDE; +- int pluginTypes() Q_DECL_OVERRIDE; +- QWidget *pluginUi() Q_DECL_OVERRIDE; +- const QString name() const Q_DECL_OVERRIDE; +- bool isShowOnHomePage() const Q_DECL_OVERRIDE; +- QIcon icon() const Q_DECL_OVERRIDE; +- bool isEnable() const Q_DECL_OVERRIDE; +- +- bool findSynaptics() const; +- bool _supportsXinputDevices() const; +- XDevice* _deviceIsTouchpad (XDeviceInfo * deviceinfo) const; +- bool _deviceHasProperty (XDevice * device, const char * property_name) const; +- +-private: +- QString pluginName; +- int pluginType; +- TouchpadUI * pluginWidget; +- +-private: +- bool mFirstLoad; +- +-}; +- +-#endif // TOUCHPAD_H +diff --git a/plugins/devices/touchpad/touchpad.pro b/plugins/devices/touchpad/touchpad.pro +deleted file mode 100644 +index a683278..0000000 +--- a/plugins/devices/touchpad/touchpad.pro ++++ /dev/null +@@ -1,48 +0,0 @@ +-#------------------------------------------------- +-# +-# Project created by QtCreator 2020-02-26T16:15:07 +-# +-#------------------------------------------------- +- +-include(../../../env.pri) +- +-QT += widgets x11extras dbus +- +-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets +- +-TEMPLATE = lib +-CONFIG += plugin +- +-TARGET = $$qtLibraryTarget(touchpad) +-DESTDIR = ../.. +-target.path = $${PLUGIN_INSTALL_DIRS} +- +-INCLUDEPATH += \ +- $$PROJECT_ROOTDIR \ +- +-#LIBS += -L$$[QT_INSTALL_LIBS] -ltouchpadclient -lXi -lgsettings-qt +-LIBS += -L$$[QT_INSTALL_LIBS] -lXi -lgsettings-qt +- +-CONFIG += link_pkgconfig \ +- C++11 +- +-PKGCONFIG += gsettings-qt \ +- xi \ +- x11 \ +- kysdk-qtwidgets +- +-DEFINES += QT_DEPRECATED_WARNINGS +- +-#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +- +-SOURCES += \ +- touchpad.cpp \ +- touchpadui.cpp +- +-HEADERS += \ +- touchpad.h \ +- touchpadui.h +- +-FORMS += +- +-INSTALLS += target +diff --git a/plugins/devices/touchpad/touchpadui.cpp b/plugins/devices/touchpad/touchpadui.cpp +deleted file mode 100644 +index 94874ae..0000000 +--- a/plugins/devices/touchpad/touchpadui.cpp ++++ /dev/null +@@ -1,336 +0,0 @@ +-#include "touchpadui.h" +- +-TouchpadUI::TouchpadUI(QWidget *parent) +- : QWidget(parent) +-{ +- mVlayout = new QVBoxLayout(this); +- mVlayout->setContentsMargins(0, 0, 0, 0); +- initUI(); +- initConnection(); +-} +- +-TouchpadUI::~TouchpadUI() +-{ +-} +- +-QFrame* TouchpadUI::myLine() +-{ +- QFrame *line = new QFrame(this); +- line->setMinimumSize(QSize(0, 1)); +- line->setMaximumSize(QSize(16777215, 1)); +- line->setLineWidth(0); +- line->setFrameShape(QFrame::HLine); +- line->setFrameShadow(QFrame::Sunken); +- +- return line; +-} +- +-void TouchpadUI::initUI() +-{ +- QFrame *touchpadFrame = new QFrame(this); +- touchpadFrame->setMinimumSize(550, 0); +- touchpadFrame->setMaximumSize(16777215, 16777215); +- touchpadFrame->setFrameShape(QFrame::Box); +- +- QVBoxLayout *touchpadLyt = new QVBoxLayout(touchpadFrame); +- touchpadLyt->setContentsMargins(0, 0, 0, 0); +- +- mTouchpadSetTitleLabel = new TitleLabel(this); +- mTouchpadSetTitleLabel->setText(tr("Touchpad Setting")); +- mTouchpadSetTitleLabel->setContentsMargins(14, 0, 0, 0); +- +- /* MouseDisable */ +- mMouseDisableFrame = new QFrame(this); +- mMouseDisableFrame->setFrameShape(QFrame::Shape::Box); +- mMouseDisableFrame->setMinimumSize(550, 60); +- mMouseDisableFrame->setMaximumSize(16777215, 60); +- +- QHBoxLayout *MouseDisableHLayout = new QHBoxLayout(); +- +- mMouseDisableBtn = new KSwitchButton(this); +- //~ contents_path /Touchpad/Disable touchpad when using the mouse +- mMouseDisableLabel = new QLabel(tr("Disable touchpad when using the mouse"), this); +- MouseDisableHLayout->addWidget(mMouseDisableLabel); +- MouseDisableHLayout->addStretch(); +- MouseDisableHLayout->addWidget(mMouseDisableBtn); +- MouseDisableHLayout->setContentsMargins(12, 0, 14, 0); +- +- mMouseDisableFrame->setLayout(MouseDisableHLayout); +- +- /* CursorSpeed */ +- mPointerSpeedFrame = new QFrame(this); +- mPointerSpeedFrame->setFrameShape(QFrame::Shape::Box); +- mPointerSpeedFrame->setMinimumSize(550, 60); +- mPointerSpeedFrame->setMaximumSize(16777215, 60); +- +- QHBoxLayout *pointerSpeedHLayout = new QHBoxLayout(); +- +- //~ contents_path /Touchpad/Pointer Speed +- mPointerSpeedLabel = new QLabel(tr("Pointer Speed"), this); +- mPointerSpeedLabel->setMinimumWidth(200); +- mPointerSpeedSlowLabel = new QLabel(tr("Slow"), this); +- mPointerSpeedFastLabel = new QLabel(tr("Fast"), this); +- mPointerSpeedFastLabel->setContentsMargins(8, 0, 13, 0); +- mPointerSpeedSlider = new QSlider(Qt::Horizontal); +- mPointerSpeedSlider->setMinimum(10); +- mPointerSpeedSlider->setMaximum(1000); +- mPointerSpeedSlider->setSingleStep(50); +- mPointerSpeedSlider->setPageStep(50); +- pointerSpeedHLayout->addWidget(mPointerSpeedLabel); +- pointerSpeedHLayout->addWidget(mPointerSpeedSlowLabel); +- pointerSpeedHLayout->addWidget(mPointerSpeedSlider); +- pointerSpeedHLayout->addWidget(mPointerSpeedFastLabel); +- pointerSpeedHLayout->setContentsMargins(12, 0, 0, 0); +- +- mPointerSpeedFrame->setLayout(pointerSpeedHLayout); +- +- /* TypingDisableFrame */ +- mTypingDisableFrame = new QFrame(this); +- mTypingDisableFrame->setFrameShape(QFrame::Shape::Box); +- mTypingDisableFrame->setMinimumSize(550, 60); +- mTypingDisableFrame->setMaximumSize(16777215, 60); +- +- QHBoxLayout *TypingDisableHLayout = new QHBoxLayout(); +- +- mTypingDisableBtn = new KSwitchButton(this); +- //~ contents_path /Touchpad/Disable touchpad when typing +- mTypingDisableLabel = new QLabel(tr("Disable touchpad when typing"), this); +- TypingDisableHLayout->addWidget(mTypingDisableLabel); +- TypingDisableHLayout->addStretch(); +- TypingDisableHLayout->addWidget(mTypingDisableBtn); +- TypingDisableHLayout->setContentsMargins(12, 0, 14, 0); +- +- mTypingDisableFrame->setLayout(TypingDisableHLayout); +- +- /* click */ +- mClickFrame = new QFrame(this); +- mClickFrame->setFrameShape(QFrame::Shape::Box); +- mClickFrame->setMinimumSize(550, 60); +- mClickFrame->setMaximumSize(16777215, 60); +- +- QHBoxLayout *ClickHLayout = new QHBoxLayout(); +- +- mClickBtn = new KSwitchButton(this); +- //~ contents_path /Touchpad/Touch and click on the touchpad +- mClickLabel = new QLabel(tr("Touch and click on the touchpad"), this); +- ClickHLayout->addWidget(mClickLabel); +- ClickHLayout->addStretch(); +- ClickHLayout->addWidget(mClickBtn); +- ClickHLayout->setContentsMargins(12, 0, 14, 0); +- +- mClickFrame->setLayout(ClickHLayout); +- +- /* ScrollSlideFrame */ +- mScrollSlideFrame = new QFrame(this); +- mScrollSlideFrame->setFrameShape(QFrame::Shape::Box); +- mScrollSlideFrame->setMinimumSize(550, 60); +- mScrollSlideFrame->setMaximumSize(16777215, 60); +- +- QHBoxLayout *ScrollSlideHLayout = new QHBoxLayout(); +- +- mScrollSlideBtn = new KSwitchButton(this); +- //~ contents_path /Touchpad/Scroll bar slides with finger +- mScrollSlideLabel = new QLabel(tr("Scroll bar slides with finger"), this); +- ScrollSlideHLayout->addWidget(mScrollSlideLabel); +- ScrollSlideHLayout->addStretch(); +- ScrollSlideHLayout->addWidget(mScrollSlideBtn); +- ScrollSlideHLayout->setContentsMargins(12, 0, 14, 0); +- +- mScrollSlideFrame->setLayout(ScrollSlideHLayout); +- +- /* ScrollAreaFrame */ +- mScrollAreaFrame = new QFrame(this); +- mScrollAreaFrame->setFrameShape(QFrame::Shape::Box); +- mScrollAreaFrame->setMinimumSize(550, 60); +- mScrollAreaFrame->setMaximumSize(16777215, 60); +- +- QHBoxLayout *ScrollAreaHLayout = new QHBoxLayout(); +- +- //~ contents_path /Touchpad/Scrolling area +- mScrollAreaLabel = new QLabel(tr("Scrolling area"), this); +- mScrollTypeComBox = new QComboBox; +- mScrollTypeComBox->addItem(tr("Two-finger scrolling in the middle area"), V_FINGER_KEY); +- mScrollTypeComBox->addItem(tr("Edge scrolling"), V_EDGE_KEY); +- mScrollTypeComBox->addItem(tr("Disable scrolling"), N_SCROLLING); +- ScrollAreaHLayout->addWidget(mScrollAreaLabel); +- ScrollAreaHLayout->addWidget(mScrollTypeComBox); +- ScrollAreaHLayout->setContentsMargins(12, 0, 14, 0); +- +- mScrollAreaFrame->setLayout(ScrollAreaHLayout); +- +- /* addwidget */ +- QFrame *mouseAndSpeedLine = myLine(); +- QFrame *speedAndTypingLine = myLine(); +- QFrame *typingAndClickLine = myLine(); +- QFrame *clickAndSlideLine = myLine(); +- QFrame *slideAndAreaLine = myLine(); +- +- touchpadLyt->addWidget(mMouseDisableFrame); +- touchpadLyt->addWidget(mouseAndSpeedLine); +- touchpadLyt->addWidget(mPointerSpeedFrame); +- touchpadLyt->addWidget(speedAndTypingLine); +- touchpadLyt->addWidget(mTypingDisableFrame); +- touchpadLyt->addWidget(typingAndClickLine); +- touchpadLyt->addWidget(mClickFrame); +- touchpadLyt->addWidget(clickAndSlideLine); +- touchpadLyt->addWidget(mScrollSlideFrame); +- touchpadLyt->addWidget(slideAndAreaLine); +- touchpadLyt->addWidget(mScrollAreaFrame); +- touchpadLyt->setSpacing(0); +- +- mVlayout->addWidget(mTouchpadSetTitleLabel); +- mVlayout->setSpacing(8); +- mVlayout->addWidget(touchpadFrame); +- mVlayout->addStretch(); +-} +- +-void TouchpadUI::initConnection() +-{ +- QByteArray touchpadId(kTouchpadSchemas); +- +- if (QGSettings::isSchemaInstalled(touchpadId)) { +- mTouchpadGsetting = new QGSettings(kTouchpadSchemas, QByteArray(), this); +- +- initEnableStatus(); +- +- connect(mMouseDisableBtn, &KSwitchButton::stateChanged, this, &TouchpadUI::mouseDisableSlot); +- +- connect(mPointerSpeedSlider, &QSlider::valueChanged, this, &TouchpadUI::pointerSpeedSlot); +- +- connect(mTypingDisableBtn, &KSwitchButton::stateChanged, this, &TouchpadUI::typingDisableSlot); +- +- connect(mClickBtn, &KSwitchButton::stateChanged, this, &TouchpadUI::clickSlot); +- +- connect(mScrollSlideBtn, &KSwitchButton::stateChanged, this, &TouchpadUI::scrollSlideSlot); +- +- connect(mScrollTypeComBox, QOverload<const QString &>::of(&QComboBox::currentIndexChanged), +- this, &TouchpadUI::scrolltypeSlot); +- +- gsettingConnectUi(); +- } +-} +- +-void TouchpadUI::gsettingConnectUi() +-{ +- //命令行指针速度改变 key 值,界面做出相应的改变 +- connect(mTouchpadGsetting, &QGSettings::changed, this, [=](const QString &key) { +- if (key == "motionAcceleration") { +- mPointerSpeedSlider->blockSignals(true); +- mPointerSpeedSlider->setValue((kPointerSpeedMin + kPointerSpeedMax - mTouchpadGsetting->get(kPointerSpeedKey).toDouble()) * 100); +- mPointerSpeedSlider->blockSignals(false); +- } +- }); +-} +- +-void TouchpadUI::initEnableStatus() +-{ +- // 插入鼠标时候禁用触摸板 +- mMouseDisableBtn->blockSignals(true); +- mMouseDisableBtn->setChecked(mTouchpadGsetting->get(kMouseDisableKey).toBool()); +- mMouseDisableBtn->blockSignals(false); +- +- // 初始化光标速度 +- mPointerSpeedSlider->blockSignals(true); +- mPointerSpeedSlider->setValue((kPointerSpeedMin + kPointerSpeedMax - mTouchpadGsetting->get(kPointerSpeedKey).toDouble()) * 100); +- mPointerSpeedSlider->blockSignals(false); +- +- // 初始化打字时禁用触摸板 +- mTypingDisableBtn->blockSignals(true); +- mTypingDisableBtn->setChecked(mTouchpadGsetting->get(kTypingDisableKey).toBool()); +- mTypingDisableBtn->blockSignals(false); +- +- // 初始化触摸板轻触点击 +- mClickBtn->blockSignals(true); +- mClickBtn->setChecked(mTouchpadGsetting->get(kClickKey).toBool()); +- mClickBtn->blockSignals(false); +- +- // 初始化滚动条跟随手指滑动 +- mScrollSlideBtn->blockSignals(true); +- mScrollSlideBtn->setChecked(!mTouchpadGsetting->get(kScrollSlideKey).toBool()); +- mScrollSlideBtn->blockSignals(false); +- +- //初始化滚动 +- mScrollTypeComBox->blockSignals(true); +- mScrollTypeComBox->setCurrentIndex(mScrollTypeComBox->findData(_findKeyScrollingType())); +- mScrollTypeComBox->blockSignals(false); +- +- // 边界滚动默认水平边界有效 +- if (QString::compare(V_EDGE_KEY, mScrollTypeComBox->currentData().toString()) == 0) { +- mTouchpadGsetting->set(H_EDGE_KEY, true); +- mTouchpadGsetting->set(H_FINGER_KEY, false); +- } +- if (QString::compare(V_FINGER_KEY, mScrollTypeComBox->currentData().toString()) == 0) { +- mTouchpadGsetting->set(H_EDGE_KEY, false); +- mTouchpadGsetting->set(H_FINGER_KEY, true); +- } +- if (QString::compare(N_SCROLLING, mScrollTypeComBox->currentData().toString()) == 0) { +- mTouchpadGsetting->set(H_EDGE_KEY, false); +- mTouchpadGsetting->set(H_FINGER_KEY, false); +- } +-} +- +-QString TouchpadUI::_findKeyScrollingType() +-{ +- if (mTouchpadGsetting->get(V_EDGE_KEY).toBool()) { +- return V_EDGE_KEY; +- } +- +- if (mTouchpadGsetting->get(V_FINGER_KEY).toBool()) { +- return V_FINGER_KEY; +- } +- +- return N_SCROLLING; +-} +- +-/* slot functions */ +-void TouchpadUI::mouseDisableSlot(bool status) +-{ +- mTouchpadGsetting->set(kMouseDisableKey, status); +-} +- +-void TouchpadUI::pointerSpeedSlot(int value) +-{ +- mTouchpadGsetting->set(kPointerSpeedKey, kPointerSpeedMin + kPointerSpeedMax-static_cast<double>(value) / mPointerSpeedSlider->maximum() * 10); +-} +- +-void TouchpadUI::typingDisableSlot(bool status) +-{ +- mTouchpadGsetting->set(kTypingDisableKey, status); +-} +- +-void TouchpadUI::clickSlot(bool status) +-{ +- mTouchpadGsetting->set(kClickKey, status); +-} +- +-void TouchpadUI::scrollSlideSlot(bool status) +-{ +- mTouchpadGsetting->set(kScrollSlideKey, !status); +-} +- +-void TouchpadUI::scrolltypeSlot() +-{ +- //旧滚动类型设置为false,新滚动类型设置为true +- QString data = mScrollTypeComBox->currentData().toString(); +- // 禁用滚动 +- if (QString::compare(data, N_SCROLLING) == 0) { +- mTouchpadGsetting->set(V_EDGE_KEY, false); +- mTouchpadGsetting->set(H_EDGE_KEY, false); +- mTouchpadGsetting->set(V_FINGER_KEY, false); +- mTouchpadGsetting->set(H_FINGER_KEY, false); +- } +- // 边界滚动:垂直边界+水平边界 +- if (QString::compare(data, V_EDGE_KEY) == 0) { +- mTouchpadGsetting->set(V_EDGE_KEY, true); +- mTouchpadGsetting->set(H_EDGE_KEY, true); +- mTouchpadGsetting->set(V_FINGER_KEY, false); +- mTouchpadGsetting->set(H_FINGER_KEY, false); +- } +- // 中间双指:垂直中间+水平中间 +- if (QString::compare(data, V_FINGER_KEY) == 0) { +- mTouchpadGsetting->set(V_EDGE_KEY, false); +- mTouchpadGsetting->set(H_EDGE_KEY, false); +- mTouchpadGsetting->set(V_FINGER_KEY, true); +- mTouchpadGsetting->set(H_FINGER_KEY, true); +- } +-} +diff --git a/plugins/devices/touchpad/touchpadui.h b/plugins/devices/touchpad/touchpadui.h +deleted file mode 100644 +index b41932d..0000000 +--- a/plugins/devices/touchpad/touchpadui.h ++++ /dev/null +@@ -1,102 +0,0 @@ +-#ifndef TOUCHPADUI_H +-#define TOUCHPADUI_H +- +-#include <QWidget> +-#include <QFrame> +-#include <QLabel> +-#include <QComboBox> +-#include <QSlider> +-#include <QVBoxLayout> +-#include <QGSettings/QGSettings> +-#include <QByteArray> +-#include <QDebug> +- +-#include <ukcc/widgets/titlelabel.h> +- +-#include "kswitchbutton.h" +-using namespace kdk; +- +-#include <QX11Info> +-extern "C" { +-#include <X11/extensions/XInput.h> +-#include <X11/Xatom.h> +-} +-//垂直边界 +-#define V_EDGE_KEY "vertical-edge-scrolling" +-//垂直中间 +-#define V_FINGER_KEY "vertical-two-finger-scrolling" +-#define N_SCROLLING "none" +-//水平中间 +-#define H_FINGER_KEY "horizontal-two-finger-scrolling" +-//水平边界 +-#define H_EDGE_KEY "horizontal-edge-scrolling" +- +-const QByteArray kTouchpadSchemas = "org.ukui.peripherals-touchpad"; +-const QString kMouseDisableKey = "disable-on-external-mouse"; +-const QString kTypingDisableKey = "disable-while-typing"; +-const QString kClickKey = "tap-to-click"; +-const QString kScrollSlideKey = "natural-scroll"; +-const QString kPointerSpeedKey = "motion-acceleration"; +- +-/* +-*motion-acceleration +-* 0.1 --- 10 +-* 快 --- 慢 +-*/ +-const double kPointerSpeedMin = 0.1; +-const double kPointerSpeedMax = 10; +- +-class TouchpadUI : public QWidget +-{ +- Q_OBJECT +- +-public: +- TouchpadUI(QWidget *parent = nullptr); +- ~TouchpadUI(); +- +-private: +- QFrame *mMouseDisableFrame; +- QFrame *mPointerSpeedFrame; +- QFrame *mTypingDisableFrame; +- QFrame *mClickFrame; +- QFrame *mScrollSlideFrame; +- QFrame *mScrollAreaFrame; +- +- KSwitchButton *mMouseDisableBtn; // 插入鼠标时禁用触摸板 +- KSwitchButton *mTypingDisableBtn; // 打字时禁用触摸板 +- KSwitchButton *mClickBtn; // 触摸板轻触点击 +- KSwitchButton *mScrollSlideBtn; // 滚动条跟随手指滑动 +- QSlider *mPointerSpeedSlider; // 指针速度 +- QComboBox *mScrollTypeComBox; // 滚动区域 +- +- TitleLabel *mTouchpadSetTitleLabel; //触摸板设置 +- +- QLabel *mMouseDisableLabel; +- QLabel *mPointerSpeedLabel; +- QLabel *mPointerSpeedSlowLabel; +- QLabel *mPointerSpeedFastLabel; +- QLabel *mTypingDisableLabel; +- QLabel *mClickLabel; +- QLabel *mScrollSlideLabel; +- QLabel *mScrollAreaLabel; +- +- QVBoxLayout *mVlayout; +- +- QGSettings *mTouchpadGsetting; +- +-private: +- QFrame* myLine(); +- void initUI(); +- void initConnection(); +- void gsettingConnectUi(); +- void initEnableStatus(); +- QString _findKeyScrollingType(); +- +- void mouseDisableSlot(bool status); +- void pointerSpeedSlot(int value); +- void typingDisableSlot(bool status); +- void clickSlot(bool status); +- void scrollSlideSlot(bool status); +- void scrolltypeSlot(); +-}; +-#endif // TOUCHPAD_H +diff --git a/plugins/system/vino/inputpwddialog.cpp b/plugins/system/vino/inputpwddialog.cpp +index 1c92406..5624fa2 100644 +--- a/plugins/system/vino/inputpwddialog.cpp ++++ b/plugins/system/vino/inputpwddialog.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "inputpwddialog.h" + + #include <QDebug> +diff --git a/plugins/system/vino/krd.cpp b/plugins/system/vino/krd.cpp +index 27c3168..f402d9c 100644 +--- a/plugins/system/vino/krd.cpp ++++ b/plugins/system/vino/krd.cpp +@@ -1,3 +1,23 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ ++ + /* + * This file was generated by qdbusxml2cpp version 0.8 + * Command line was: qdbusxml2cpp -N com.kylin.RemoteDesktop.xml -p krd.h:krd.cpp +diff --git a/plugins/system/vino/vinoui.cpp b/plugins/system/vino/vinoui.cpp +deleted file mode 100644 +index 35fd2f1..0000000 +--- a/plugins/system/vino/vinoui.cpp ++++ /dev/null +@@ -1,61 +0,0 @@ +-#include "vinoui.h" +- +-VinoUi::VinoUi(QWidget *parent) : QWidget(parent) +-{ +- initUi(); +-} +- +-void VinoUi::initUi() +-{ +- QVBoxLayout *vLyt = new QVBoxLayout(this); +- vLyt->setContentsMargins(0, 0, 0, 0); +- +- mVinoFrame = new SettingGroup; +- mVinoTitleLabel = new TitleLabel(this); +- mVinoTitleLabel->setText(tr("Remote Desktop")); +- +- mEnableWidget = new SwitchWidget(tr("Connect to your desktop remotely"),this); +- mEnableWidget->setObjectName("Connect to your desktop remotely"); +- //~ contents_path /Vino/Allow others to connect to your desktop remotely using RDP +- mXrdpEnableWidget = new SwitchWidget(tr("Allow others to connect to your desktop remotely using RDP"), this); +- mXrdpEnableWidget->setObjectName("Allow others to connect to your desktop remotely using RDP"); +- //~ contents_path /Vino/Allow others to connect to your desktop remotely using VNC +- mVinoEnableWidget = new SwitchWidget(tr("Allow others to connect to your desktop remotely using VNC"), this); +- mVinoEnableWidget->setObjectName("Allow others to connect to your desktop remotely using VNC"); +- //~ contents_path /Vino/Allow connection to control screen +- mViewWidget = new SwitchWidget(tr("Allow connection to control screen")); +- //~ contents_path /Vino/You must confirm every visit for this machine +- mSecurityWidget = new SwitchWidget(tr("You must confirm every visit for this machine")); +- //~ contents_path /Vino/Require user to enter this password: +- mSecurityPwdWidget = new SwitchWidget(tr("Require user to enter this password: ")); +-#ifdef Nile +- mPwdinputLabel = new PasswordLabel(this); +- mSecurityPwdWidget->insertWidget(1, mPwdinputLabel); +-#else +- mPwdstrLabel = new QLabel(this); +- mSecurityPwdWidget->insertWidget(1, mPwdstrLabel); +-#endif +- mPwdstrLabel->setObjectName("vnc-pwdsettings"); +- mPwdEditBtn = new QPushButton(tr("Edit"), this); +- +- mSecurityPwdWidget->insertWidget(3, mPwdEditBtn); +- +- mVinoFrame->addWidget(mVinoEnableWidget); +- mVinoFrame->addWidget(mViewWidget); +- mVinoFrame->addWidget(mSecurityWidget); +- mVinoFrame->addWidget(mSecurityPwdWidget); +- +- vLyt->addWidget(mVinoTitleLabel); +- vLyt->addWidget(mEnableWidget); +- vLyt->addWidget(mXrdpEnableWidget); +- vLyt->addWidget(mVinoFrame); +- vLyt->addStretch(); +-} +- +-void VinoUi::setFrameVisible(bool visible) +-{ +- mVinoEnableWidget->setChecked(visible); +- mViewWidget->setVisible(visible); +- mSecurityWidget->setVisible(visible); +- mSecurityPwdWidget->setVisible(visible); +-} +diff --git a/plugins/system/vino/vinoui.h b/plugins/system/vino/vinoui.h +deleted file mode 100644 +index 4f698d1..0000000 +--- a/plugins/system/vino/vinoui.h ++++ /dev/null +@@ -1,74 +0,0 @@ +-#ifndef VINOUI_H +-#define VINOUI_H +- +-#include <QObject> +-#include <QWidget> +-#include <QRadioButton> +-#include <QVBoxLayout> +-#include <QLineEdit> +-#include <QButtonGroup> +-#include <QByteArray> +-#include <QDebug> +-#include <QGSettings/QGSettings> +-#include <QPushButton> +-#include "inputpwddialog.h" +-#include "titlelabel.h" +-#include "kswitchbutton.h" +-#include "switchwidget.h" +-#include "settinggroup.h" +-#include "ukccframe.h" +-#include "passwordlabel.h" +- +-const QByteArray kVinoSchemas = "org.gnome.Vino"; +-const QString kEnableKey = "enabled"; +-const QString kXrdpEnableKey = "xrdp-enabled"; +-const QString kVinoEnableKey = "vino-enabled"; +-const QString kVinoViewOnlyKey = "view-only"; +-const QString kVinoPromptKey = "prompt-enabled"; +-const QString kAuthenticationKey = "authentication-methods"; +-const QString kVncPwdKey = "vnc-password"; +- +-const QByteArray kUkccVnoSchmas = "org.ukui.control-center.vino"; +-const QString kUkccPromptKey = "remote"; +-using namespace kdk; +- +-class VinoUi : public QWidget +-{ +- Q_OBJECT +-public: +- explicit VinoUi(QWidget *parent = nullptr); +- void initUi(); +- void setFrameVisible(bool visible); +- +- SwitchWidget *getEnableWidget() {return mEnableWidget;} +- SwitchWidget *getXrdpEnableWidget() {return mXrdpEnableWidget;} +- SettingGroup *getVinoFrame() {return mVinoFrame;} +- SwitchWidget *getVinoEnableWidget() {return mVinoEnableWidget;} +- SwitchWidget *getViewWidget() {return mViewWidget;} +- SwitchWidget *getSecurityWidget() {return mSecurityWidget;} +- SwitchWidget *getSecurityPwdWidget() {return mSecurityPwdWidget;} +- +-#ifdef Nile +- PasswordLabel *getPwdLabel() {return mPwdinputLabel;} +-#else +- QLabel *getPwdLabel() {return mPwdstrLabel;} +-#endif +- QPushButton *getPwdEditBtn() {return mPwdEditBtn;} +- +-private: +- SwitchWidget *mEnableWidget; // 允许其他人查看桌面 +- SwitchWidget *mXrdpEnableWidget; // 允许其他人使用rdp远程连接 +- SettingGroup *mVinoFrame; +- SwitchWidget *mVinoEnableWidget; // 允许其他人使用vnc远程连接 +- SwitchWidget *mViewWidget; // 允许连接控制屏幕 +- SwitchWidget *mSecurityWidget; // 为本机确认每次访问 +- SwitchWidget *mSecurityPwdWidget;// 要求用户输入密码 +- +- TitleLabel *mVinoTitleLabel; +- +- QLabel *mPwdstrLabel; +- PasswordLabel *mPwdinputLabel; +- QPushButton *mPwdEditBtn; +-}; +- +-#endif // VINOUI_H +diff --git a/plugins/system/vino_hw/com.kylin.RemoteDesktop.xml b/plugins/system/vino_hw/com.kylin.RemoteDesktop.xml +deleted file mode 100644 +index a7137fa..0000000 +--- a/plugins/system/vino_hw/com.kylin.RemoteDesktop.xml ++++ /dev/null +@@ -1,42 +0,0 @@ +-<!DOCTYPE node PUBLIC +-'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN' +-'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'> +- +-<node> +- <interface name="com.kylin.RemoteDesktop"> +- <property name="SupportedOutputDevice" type="as" access="read" /> +- <property name="CurrrentOutput" type="s" access="read" /> +- +- <property name="SupportedInputDevice" type="u" access="readwrite" /> +- <property name="ClipBoard" type="b" access="readwrite" /> +- <property name="WheelSpeed" type="i" access="readwrite" /> +- +- <property name="AllowedMaxClient" type="u" access="readwrite" /> +- <property name="AuthMethod" type="y" access="readwrite" /> +- <property name="ClientsInfo" type="aa{sv}" access="read" > +- <annotation name="org.qtproject.QtDBus.QtTypeName" value="ClientInfo"/> +- </property> +- <method name="SetViewOnly"> +- <arg name="id" type="i" direction="in" /> +- <arg name="viewOnly" type="b" direction="in" /> +- </method> +- <method name="CloseClient"> +- <arg name="id" type="i" direction="in" /> +- </method> +- +- <method name="SetPassword"> +- <arg name="passwd" type="s" direction="in" /> +- <arg name="ret" type="i" direction="out" /> +- </method> +- +- <method name="Start"> +- <arg name="output" type="s" direction="in" /> +- <arg name="ret" type="i" direction="out" /> +- </method> +- <method name="Exit"> </method> +- +- <signal name="Changed"> +- <arg name="type" type="i" direction="out" /> +- </signal> +- </interface> +-</node> +diff --git a/plugins/system/vino_hw/krd.cpp b/plugins/system/vino_hw/krd.cpp +deleted file mode 100644 +index 27c3168..0000000 +--- a/plugins/system/vino_hw/krd.cpp ++++ /dev/null +@@ -1,27 +0,0 @@ +-/* +- * This file was generated by qdbusxml2cpp version 0.8 +- * Command line was: qdbusxml2cpp -N com.kylin.RemoteDesktop.xml -p krd.h:krd.cpp +- * +- * qdbusxml2cpp is Copyright (C) 2020 The Qt Company Ltd. +- * +- * This is an auto-generated file. +- * This file may have been hand-edited. Look for HAND-EDIT comments +- * before re-generating it. +- */ +- +-#include "krd.h" +- +-/* +- * Implementation of interface class ComKylinRemoteDesktopInterface +- */ +- +-ComKylinRemoteDesktopInterface::ComKylinRemoteDesktopInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent) +- : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent) +-{ +- qDBusRegisterMetaType<ClientInfo>(); +-} +- +-ComKylinRemoteDesktopInterface::~ComKylinRemoteDesktopInterface() +-{ +-} +- +diff --git a/plugins/system/vino_hw/krd.h b/plugins/system/vino_hw/krd.h +deleted file mode 100644 +index 902b6b2..0000000 +--- a/plugins/system/vino_hw/krd.h ++++ /dev/null +@@ -1,122 +0,0 @@ +-/* +- * This file was generated by qdbusxml2cpp version 0.8 +- * Command line was: qdbusxml2cpp -N com.kylin.RemoteDesktop.xml -p krd.h:krd.cpp +- * +- * qdbusxml2cpp is Copyright (C) 2020 The Qt Company Ltd. +- * +- * This is an auto-generated file. +- * Do not edit! All changes made to it will be lost. +- */ +- +-#ifndef KRD_H +-#define KRD_H +- +-#include <QtCore/QObject> +-#include <QtCore/QByteArray> +-#include <QtCore/QList> +-#include <QtCore/QMap> +-#include <QtCore/QString> +-#include <QtCore/QStringList> +-#include <QtCore/QVariant> +-#include <QtDBus/QtDBus> +- +-typedef QList<QVariantMap> ClientInfo; +-Q_DECLARE_METATYPE(ClientInfo) +- +-/* +- * Proxy class for interface com.kylin.RemoteDesktop +- */ +-class ComKylinRemoteDesktopInterface: public QDBusAbstractInterface +-{ +- Q_OBJECT +-public: +- static inline const char *staticInterfaceName() +- { return "com.kylin.RemoteDesktop"; } +- +-public: +- ComKylinRemoteDesktopInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = nullptr); +- +- ~ComKylinRemoteDesktopInterface(); +- +- Q_PROPERTY(uint AllowedMaxClient READ allowedMaxClient WRITE setAllowedMaxClient) +- inline uint allowedMaxClient() const +- { return qvariant_cast< uint >(property("AllowedMaxClient")); } +- inline void setAllowedMaxClient(uint value) +- { setProperty("AllowedMaxClient", QVariant::fromValue(value)); } +- +- Q_PROPERTY(uchar AuthMethod READ authMethod WRITE setAuthMethod) +- inline uchar authMethod() const +- { return qvariant_cast< uchar >(property("AuthMethod")); } +- inline void setAuthMethod(uchar value) +- { setProperty("AuthMethod", QVariant::fromValue(value)); } +- +- Q_PROPERTY(ClientInfo ClientsInfo READ clientsInfo) +- inline ClientInfo clientsInfo() const +- { return qvariant_cast< ClientInfo >(property("ClientsInfo")); } +- +- Q_PROPERTY(bool ClipBoard READ clipBoard WRITE setClipBoard) +- inline bool clipBoard() const +- { return qvariant_cast< bool >(property("ClipBoard")); } +- inline void setClipBoard(bool value) +- { setProperty("ClipBoard", QVariant::fromValue(value)); } +- +- Q_PROPERTY(QString CurrrentOutput READ currrentOutput) +- inline QString currrentOutput() const +- { return qvariant_cast< QString >(property("CurrrentOutput")); } +- +- Q_PROPERTY(uint SupportedInputDevice READ supportedInputDevice WRITE setSupportedInputDevice) +- inline uint supportedInputDevice() const +- { return qvariant_cast< uint >(property("SupportedInputDevice")); } +- inline void setSupportedInputDevice(uint value) +- { setProperty("SupportedInputDevice", QVariant::fromValue(value)); } +- +- Q_PROPERTY(QStringList SupportedOutputDevice READ supportedOutputDevice) +- inline QStringList supportedOutputDevice() const +- { return qvariant_cast< QStringList >(property("SupportedOutputDevice")); } +- +- Q_PROPERTY(int WheelSpeed READ wheelSpeed WRITE setWheelSpeed) +- inline int wheelSpeed() const +- { return qvariant_cast< int >(property("WheelSpeed")); } +- inline void setWheelSpeed(int value) +- { setProperty("WheelSpeed", QVariant::fromValue(value)); } +- +-public Q_SLOTS: // METHODS +- inline QDBusPendingReply<> CloseClient(int id) +- { +- QList<QVariant> argumentList; +- argumentList << QVariant::fromValue(id); +- return asyncCallWithArgumentList(QStringLiteral("CloseClient"), argumentList); +- } +- +- inline QDBusPendingReply<> Exit() +- { +- QList<QVariant> argumentList; +- return asyncCallWithArgumentList(QStringLiteral("Exit"), argumentList); +- } +- +- inline QDBusPendingReply<int> SetPassword(const QString &passwd) +- { +- QList<QVariant> argumentList; +- argumentList << QVariant::fromValue(passwd); +- return asyncCallWithArgumentList(QStringLiteral("SetPassword"), argumentList); +- } +- +- inline QDBusPendingReply<> SetViewOnly(int id, bool viewOnly) +- { +- QList<QVariant> argumentList; +- argumentList << QVariant::fromValue(id) << QVariant::fromValue(viewOnly); +- return asyncCallWithArgumentList(QStringLiteral("SetViewOnly"), argumentList); +- } +- +- inline QDBusPendingReply<int> Start(const QString &output) +- { +- QList<QVariant> argumentList; +- argumentList << QVariant::fromValue(output); +- return asyncCallWithArgumentList(QStringLiteral("Start"), argumentList); +- } +- +-Q_SIGNALS: // SIGNALS +- void Changed(int type); +-}; +- +-#endif +diff --git a/plugins/system/vino_hw/sharemain.cpp b/plugins/system/vino_hw/sharemain.cpp +deleted file mode 100644 +index 4e02543..0000000 +--- a/plugins/system/vino_hw/sharemain.cpp ++++ /dev/null +@@ -1,705 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#include "sharemain.h" +- +-#include <QProcess> +-#include <QHBoxLayout> +-#include <QAbstractButton> +- +-#include <QDBusInterface> +-#include <QDBusConnection> +-#include <QInputDialog> +-#include <QMessageBox> +- +-ShareMain::ShareMain(QWidget *parent) : +- QWidget(parent), +- mSettingsIni(Q_NULLPTR), +- mIsOpen(0), +- mNeedPwd(1) +-{ +- mVlayout = new QVBoxLayout(this); +- mVlayout->setContentsMargins(0, 0, 0, 0); +- initUI(); +- krd = new ComKylinRemoteDesktopInterface("com.kylin.RemoteDesktop", +- "/com/kylin/RemoteDesktop", +- QDBusConnection::sessionBus(), +- this); +- if (!krd->isValid()) +- qDebug() << "start com.kylin.RemoteDesktop service"; +- initData(); +- initConnection(); +- +- update_outputs(); +- update_inputs(); +- update_auth(); +- update_clients(); +- +- connect(krd, &ComKylinRemoteDesktopInterface::Changed, +- this, &ShareMain::onChanged); +-} +- +-ShareMain::~ShareMain() +-{ +- if(mSettingsIni) +- { +- delete mSettingsIni; +- mSettingsIni = nullptr; +- } +-} +- +-void ShareMain::initData() +-{ +- QString confFile = QDir::homePath()+"/.config/kylin-remote-desktop/krd.ini"; +- mSettingsIni = new QSettings(confFile, QSettings::IniFormat); +- if(!QFile::exists(confFile)) +- { +- mSettingsIni->setValue("mIsOpen", "0"); +- mSettingsIni->setValue("password", ""); +- mSettingsIni->setValue("mNeedPwd", "1"); +- mIsOpen = mSettingsIni->value("mIsOpen").toInt(); +- mNeedPwd = mSettingsIni->value("mNeedPwd").toInt(); +- } +- else { +- mIsOpen = mSettingsIni->value("mIsOpen").toInt(); +- mNeedPwd = mSettingsIni->value("mNeedPwd").toInt(); +- if(mIsOpen == 1) { +- qDebug() << "ZDEBUG " << "enable setchecked true " << __LINE__ ; +- +- mEnableBtn->setChecked(true); +- update_outputs(); +- enableSlot(true); +- qDebug() << "ZDEBUG " << "enable setchecked true " << __LINE__ ; +- +- mSecurityPwdFrame->setVisible(true); +- mSecurityTitleLabel->setVisible(true); +- } +- else if(mIsOpen == 0) +- { +- qDebug() << "ZDEBUG " << "enable setchecked true " << __LINE__ ; +- mEnableBtn->setChecked(false); +- } +- } +-} +- +-void ShareMain::initUI() +-{ +- initTitleLabel(); +- initEnableUI(); +- initPwdUI(); +- initOutputUI(); +- initInputUI(); +- initClientUI(); +- setFrame(); +-} +- +-void ShareMain::initConnection() +-{ +- connect(mEnableBtn, &KSwitchButton::stateChanged, this, &ShareMain::enableSlot); +- connect(mPwdBtn, &KSwitchButton::stateChanged, this, &ShareMain::pwdEnableSlot); +- connect(mPwdLineEdit, &QLineEdit::textChanged, this, &ShareMain::pwdInputSlot); +- connect(mMaxClientSpinBox, SIGNAL(valueChanged(int)), this, SLOT(maxClientValueChangedSlot(int))); +- connect(mPointBtn, &KSwitchButton::stateChanged, this, &ShareMain::onPointerClickedSlot); +- connect(mKeyboardBtn, &KSwitchButton::stateChanged, this, &ShareMain::onKeyboardClickedSlot); +- connect(mClipboardBtn, &KSwitchButton::stateChanged, this, &ShareMain::onClipboardClickedSlot); +- //connect(mViewOnlyNBtn, &QPushButton::toggled, this, &ShareMain::viewBoxSlot); +- //connect(mCloseBtn, &QPushButton::released, this, &ShareMain::on_pb_close_clicked); +-} +- +-void ShareMain::onChanged(int type) +-{ +- if (type == 1) +- update_outputs(); +- else if (type == 2) +- update_clients(); +-} +- +-void ShareMain::update_outputs() +-{ +- QStringList outputs = krd->supportedOutputDevice(); +- +- /* first delete output that is removed */ +- foreach (QRadioButton *button, output_list) { +- if (!outputs.contains(button->text())) { +- mOutputHLayout->removeWidget(button); +- output_list.removeOne(button); +- qDebug() << "remove output" << button->text(); +- delete button; +- } +- } +- +- /* add output that is new */ +- foreach (const QString &output, outputs) { +- bool found = false; +- foreach (QRadioButton *button, output_list) { +- if (button->text() == output) +- found = true; +- } +- if (found) +- continue; +- qDebug() << "add output" << output; +- QRadioButton *button = new QRadioButton(output, this); +- output_list.append(button); +- mOutputHLayout->addWidget(button); +- } +- +- QString output = krd->currrentOutput(); +- +- if (!output.isEmpty()) { +- foreach (QRadioButton *button, output_list) { +- if (button->text() == output) +- { +- button->setChecked(true); +- } +- } +- } +- else +- { +- output_list.first()->setChecked(true); +- } +-} +-void ShareMain::update_inputs() +-{ +- uint input = krd->supportedInputDevice(); +- mPointBtn->setChecked(input & 0x1); +- mKeyboardBtn->setChecked(input & 0x2); +- mClipboardBtn->setChecked(krd->clipBoard()); +-// ui->wl_speed->setValue(krd->wheelSpeed()); +- mMaxClientSpinBox->setValue(krd->allowedMaxClient()); +-} +- +-void ShareMain::update_auth() +-{ +- checkPwdEnableState(); +- +- QString pwd = mSettingsIni->value("password").toString(); +- //if(!(mSettingsIni->value("password", "NULL") == "NULL")) +- mPwdLineEdit->setText(pwd); +-} +- +-void ShareMain::update_clients() +-{ +- ClientInfo client_info = krd->clientsInfo(); +- mTbClients->setRowCount(0); +- foreach (QVariantMap client, client_info) { +- int row = mTbClients->rowCount(); +- mTbClients->insertRow(row); +- mTbClients->setItem(row, 0, new QTableWidgetItem(QString::number(client.value("id").toInt()))); +- mTbClients->setItem(row, 1, new QTableWidgetItem(QString(client.value("ip").toString()))); +- mTbClients->setItem(row, 2, new QTableWidgetItem(QString::number(client.value("viewOnly").toBool()))); +- } +-} +- +-void ShareMain::onPointerClickedSlot(bool checked) +-{ +- uint input = mKeyboardBtn->isChecked() << 1 | checked; +- krd->setSupportedInputDevice(input); +-} +- +-void ShareMain::onKeyboardClickedSlot(bool checked) +-{ +- uint input = checked << 1 | mPointBtn->isChecked(); +- krd->setSupportedInputDevice(input); +-} +- +-void ShareMain::onClipboardClickedSlot(bool checked) +-{ +- krd->setClipBoard(checked); +-} +- +-void ShareMain::on_wl_speed_valueChanged(int arg1) +-{ +- krd->setWheelSpeed(arg1); +-} +- +-void ShareMain::on_pb_start_clicked() +-{ +- qDebug() << "ZDEBUG " << "start " << __LINE__ ; +- QString output; +- foreach (QRadioButton *button, output_list) { +- if (button->isChecked()) +- output = button->text(); +- } +- if (output.isEmpty()) { +- QMessageBox::warning(NULL, tr("Warning"), tr("please select an output")); +- mEnableBtn->setChecked(false); +- return; +- } +- mSettingsIni->setValue("mIsOpen","1"); +- mIsOpen = mSettingsIni->value("mIsOpen").toInt(); +- +- krd->Start(output); +- qDebug() << "ZDEBUG " << "start " << __LINE__ ; +- +-} +- +-void ShareMain::maxClientValueChangedSlot(int cNum) +-{ +- qDebug() << "client active number == " << mTbClients->rowCount(); +- +- if(mTbClients->rowCount() > cNum && mTbClients->rowCount() > 0) +- { +- mMaxClientSpinBox->setMinimum(mTbClients->rowCount()); +- mSettingsIni->setValue("clientMaxNum",mTbClients->rowCount()); +- } +- else if(mTbClients->rowCount() == 0) +- { +- mMaxClientSpinBox->setMinimum(1); +- mSettingsIni->setValue("clientMaxNum",1); +- } +- krd->setAllowedMaxClient(cNum); +-} +- +-void ShareMain::on_pb_viewonly_clicked() +-{ +- int row = mTbClients->currentRow(); +- if (row < 0) +- return; +- int id = mTbClients->item(row, 0)->text().toInt(); +- bool view = mTbClients->item(row, 2)->text().toUInt(); +- krd->SetViewOnly(id, !view); +-} +- +-void ShareMain::on_pb_close_clicked() +-{ +- int row = mTbClients->currentRow(); +- if (row < 0) +- return; +- int id = mTbClients->item(row, 0)->text().toInt(); +- +- krd->CloseClient(id); +-} +- +-void ShareMain::exitAllClient() +-{ +- mSettingsIni->setValue("mIsOpen","0"); +- mIsOpen = mSettingsIni->value("mIsOpen").toInt(); +- mMaxClientSpinBox->setMinimum(1); +- mSettingsIni->setValue("clientMaxNum",1); +- +- krd->Exit(); +-} +- +-void ShareMain::on_pb_passwd_clicked() +-{ +- bool ok; +- QString pwd = QInputDialog::getText(NULL, tr("Input Password"), +- tr("Password"), QLineEdit::Password, +- NULL, &ok); +- if (ok && !pwd.isEmpty()) +- krd->SetPassword(pwd); +-} +- +-void ShareMain::enableSlot(bool status) +-{ +- qDebug() << "ZDEBUG " << "enableSlot " << __LINE__ ; +- +- savePwdEnableState(); +- +- setFrameVisible(status); +- +- if(status) +- on_pb_start_clicked(); +- else +- exitAllClient(); +- +- checkPwdEnableState(); +- qDebug() << "ZDEBUG " << "enableSlot " << __LINE__ ; +- +- //viewBoxSlot(!mViewBtn->isChecked()); +-} +- +-void ShareMain::savePwdEnableState() +-{ +- if(krd->authMethod()) { +- qDebug()<<"ZDEBUG auth 1" << __LINE__ ; +- +- mNeedPwd = 1; +- mSettingsIni->setValue("mNeedPwd",mNeedPwd); +- } +- else { +- qDebug()<<"ZDEBUG auth 0" << __LINE__ ; +- mNeedPwd = 0; +- mSettingsIni->setValue("mNeedPwd",mNeedPwd); +- } +-} +- +-void ShareMain::checkPwdEnableState() +-{ +- if(mNeedPwd == 1) { +- mPwdBtn->setChecked(true); +- pwdEnableSlot(true); +- } +- else { +- mPwdBtn->setChecked(false); +- pwdEnableSlot(false); +- } +-} +- +-void ShareMain::setFrameVisible(bool visible) +-{ +- mEnableBtn->setChecked(visible); +- +- //mControlFrame->setVisible(visible); +- mSecurityPwdFrame->setVisible(visible); +- mSecurityTitleLabel->setVisible(visible); +-} +- +-void ShareMain::pwdEnableSlot(bool status) +-{ +- if(krd->authMethod()) +- qDebug() << "ZDEBUG " << "krd->authMethod() = true " << __LINE__ ; +- else +- qDebug() << "ZDEBUG " << "krd->authMethod() = false " << __LINE__ ; +- +- +- krd->setAuthMethod(status); +- savePwdEnableState(); +- +- if (status) { +- mPwdLineEdit->setVisible(true); +- mHintLabel->setVisible(true); +- } else { +- mPwdLineEdit->setVisible(false); +- mHintLabel->setVisible(false); +- } +-} +- +-void ShareMain::pwdInputSlot(const QString &pwd) +-{ +- if (pwd.length() <= 8 && !pwd.isEmpty()) { +- +- mHintLabel->setText(tr("")); +- mHintLabel->setVisible(false); +- krd->SetPassword(pwd); +- //if(mSettingsIni->value("password", "NULL") == "NULL") +- mSettingsIni->setValue("password", pwd); +- if( pwd.length() == 8 && mNeedPwd == 1) +- { +- mHintLabel->setText(tr("Password length must be less than or equal to 8")); +- mHintLabel->setVisible(true); +- mHintLabel->setStyleSheet("color:red;"); +- } +- +- } else if (pwd.isEmpty() && mPwdLineEdit->text().isEmpty()) { +- +- mHintLabel->setText(tr("Password can not be blank")); +- mHintLabel->setStyleSheet("color:red;"); +- mHintLabel->setVisible(true); +- krd->SetPassword(pwd); +- mSettingsIni->setValue("password", pwd); +- +- } else { +- +- mHintLabel->setText(tr("Password length must be less than or equal to 8")); +- mHintLabel->setStyleSheet("color:red;"); +- mHintLabel->setVisible(true); +- mPwdLineEdit->setText(pwd.mid(0, 8)); +- } +-} +- +-void ShareMain::initTitleLabel() +-{ +- mShareTitleLabel = new QLabel(tr("Share"), this); +- +- QFont font; +- font.setPixelSize(18); +- mShareTitleLabel->setFont(font); +-} +- +-void ShareMain::initEnableUI() +-{ +- mEnableFrame = new QFrame(this); +- mEnableFrame->setFrameShape(QFrame::Shape::Box); +- mEnableFrame->setMinimumSize(550, 50); +- +- QHBoxLayout *enableHLayout = new QHBoxLayout(); +- +- mEnableBtn = new KSwitchButton(this); +- mEnableLabel = new QLabel(tr("Allow others to view your desktop"), this); +- enableHLayout->addWidget(mEnableLabel); +- enableHLayout->addStretch(); +- enableHLayout->addWidget(mEnableBtn); +- +- mEnableFrame->setLayout(enableHLayout); +- +-} +- +-void ShareMain::initPwdUI() +-{ +- mSecurityTitleLabel = new QLabel(tr("Security"), this); +- +- mSecurityPwdFrame = new QFrame(this); +- mSecurityPwdFrame->setFrameShape(QFrame::Shape::Box); +- mSecurityPwdFrame->setMinimumSize(550, 50); +- +- QHBoxLayout *pwdHLayout = new QHBoxLayout(); +- +- mPwdBtn = new KSwitchButton(this); +- mPwdsLabel = new QLabel(tr("Require user to enter this password: "), this); +- +- mHintLabel = new QLabel(tr("Password can not be blank"), this); +- mHintLabel->setStyleSheet("color:red;"); +- +- mPwdLineEdit = new QLineEdit(this); +- pwdHLayout->addWidget(mPwdsLabel); +- pwdHLayout->addStretch(); +- pwdHLayout->addWidget(mPwdLineEdit); +- pwdHLayout->addStretch(); +- pwdHLayout->addWidget(mHintLabel); +- pwdHLayout->addWidget(mPwdBtn); +- +- mSecurityPwdFrame->setLayout(pwdHLayout); +-} +- +-void ShareMain::initOutputUI() +-{ +- mOutputTitleLabel = new QLabel(tr("Output"), this); +- +- mOutputFrame = new QFrame(this); +- mOutputFrame->setFrameShape(QFrame::Shape::Box); +- mOutputFrame->setMinimumSize(550, 50); +- +- mOutputHLayout = new QHBoxLayout(this); +- mOutputFrame->setLayout(mOutputHLayout); +-} +- +-void ShareMain::initInputUI() +-{ +- mInputTitleLabel = new QLabel(tr("Input"), this); +- +- mInputFrame = new QFrame(this); +- mInputFrame->setFrameShape(QFrame::Shape::Box); +- mInputFrame->setMinimumSize(550, 50); +- +- QHBoxLayout *inputHLayout = new QHBoxLayout(); +- //QHBoxLayout *wheelHLayout = new QHBoxLayout(); +- +- mPointBtn = new KSwitchButton(this); +- mPointLabel = new QLabel(tr("Point"), this); +- mKeyboardBtn = new KSwitchButton(this); +- mKeyboardLabel = new QLabel(tr("Keyboard"), this); +- mClipboardBtn = new KSwitchButton(this); +- mClipboardLabel = new QLabel(tr("Clipboard"), this); +- +- inputHLayout->addWidget(mPointLabel); +- inputHLayout->addWidget(mPointBtn); +- inputHLayout->addStretch(); +- +- inputHLayout->addWidget(mKeyboardLabel); +- inputHLayout->addWidget(mKeyboardBtn); +- inputHLayout->addStretch(); +- +- inputHLayout->addWidget(mClipboardLabel); +- inputHLayout->addWidget(mClipboardBtn); +- +- mInputFrame->setLayout(inputHLayout); +- mInputFrame->setVisible(false); +-} +- +-void ShareMain::initClientUI() +-{ +- mControlFrame = new QFrame(this); +- mControlFrame->setFrameShape(QFrame::Shape::Box); +- mControlFrame->setMinimumSize(550, 50); +- +- QHBoxLayout *controlHLayout = new QHBoxLayout(); +- +- mCloseBtn = new QPushButton(this); +- mCloseBtn->setText(tr("Close")); +- mViewOnlyNBtn = new QPushButton(this); +- mViewOnlyNBtn->setText(tr("ViewOnly")); +- controlHLayout->addStretch(); +- controlHLayout->addWidget(mCloseBtn); +- controlHLayout->addWidget(mViewOnlyNBtn); +- +- mControlFrame->setLayout(controlHLayout); +- +- //暂时隐藏,不需要显示,只需要后台提供数据 +- mClientTitleLabel = new QLabel(tr("Client Setting"), this); +- +- mClientNumFrame = new QFrame(this); +- mClientNumFrame->setFrameShape(QFrame::Shape::Box); +- mClientNumFrame->setMinimumSize(550, 50); +- +- QHBoxLayout *clientHLayout = new QHBoxLayout(); +- +- mMaxClientSpinBox = new QSpinBox(this); +- mMaxClientSpinBox->setMinimum(1); +- mMaxClientSpinBox->setMaximum(10); +- mMaxClientLabel = new QLabel(tr("Client Number"), this); +- +- clientHLayout->addWidget(mMaxClientLabel); +- clientHLayout->addStretch(); +- clientHLayout->addWidget(mMaxClientSpinBox); +- +- mClientNumFrame->setLayout(clientHLayout); +- +- mClientFrame = new QFrame(this); +- mClientFrame->setFrameShape(QFrame::Shape::Box); +- mClientFrame->setMinimumSize(550, 200); +- +- QVBoxLayout *clientVLayout = new QVBoxLayout(); +- +- mClientLabel = new QLabel(tr("Client IP:"), this); +- mTbClients = new QTableWidget(); +- +- mTbClients->horizontalHeader()->setDefaultSectionSize(160); +- mTbClients->horizontalHeader()->setSectionsClickable(false); //设置表头不可点击(默认点击后进行排序) +- +- if (mTbClients->columnCount() < 3) +- mTbClients->setColumnCount(3); +- QTableWidgetItem *__qtablewidgetitem = new QTableWidgetItem(); +- mTbClients->setHorizontalHeaderItem(0, __qtablewidgetitem); +- QTableWidgetItem *__qtablewidgetitem1 = new QTableWidgetItem(); +- mTbClients->setHorizontalHeaderItem(1, __qtablewidgetitem1); +- __qtablewidgetitem1->setSizeHint(QSize(10,10)); +- QTableWidgetItem *__qtablewidgetitem2 = new QTableWidgetItem(); +- mTbClients->setHorizontalHeaderItem(2, __qtablewidgetitem2); +- mTbClients->setObjectName(QString::fromUtf8("mTbClients")); +- mTbClients->setEditTriggers(QAbstractItemView::NoEditTriggers); +- mTbClients->setSelectionMode(QAbstractItemView::SingleSelection); +- mTbClients->setSelectionBehavior(QAbstractItemView::SelectRows); +- mTbClients->horizontalHeader()->setVisible(true); +- mTbClients->verticalHeader()->setVisible(false); +- +- QTableWidgetItem *tbClientsItemId = mTbClients->horizontalHeaderItem(0); +- tbClientsItemId->setText("Id"); +- +- QTableWidgetItem *tbClientsItemIP = mTbClients->horizontalHeaderItem(1); +- tbClientsItemIP->setText("Ip Address"); +- QTableWidgetItem *tbClientsItemViewOnly = mTbClients->horizontalHeaderItem(2); +- tbClientsItemViewOnly->setText("ViewOnly"); +- +- clientVLayout->addWidget(mClientLabel); +- clientVLayout->addWidget(mTbClients); +- clientVLayout->addStretch(); +- +- mClientFrame->setLayout(clientVLayout); +-} +- +-void ShareMain::setFrame() +-{ +- mVlayout->addWidget(mShareTitleLabel); +- mVlayout->addWidget(mEnableFrame); +- +- mVlayout->addWidget(mSecurityTitleLabel); +- mVlayout->addWidget(mSecurityPwdFrame); +- +- mVlayout->addWidget(mOutputTitleLabel); +- mVlayout->addWidget(mOutputFrame); +- +- mVlayout->addWidget(mClientTitleLabel); +- mVlayout->addWidget(mClientFrame); +- mVlayout->addWidget(mControlFrame); +- mClientTitleLabel->setVisible(false); +- mClientFrame->setVisible(false); +- mControlFrame->setVisible(false); +- +- mVlayout->addWidget(mInputTitleLabel); +- mVlayout->addWidget(mClientNumFrame); +- mVlayout->addWidget(mInputFrame); +- +- mVlayout->addStretch(); +- +- setFrameVisible(mEnableBtn->isChecked()); +-} +- +-#if 0 +-void ShareMain::viewBoxSlot() +-{ +- int row = mTbClients->currentRow(); +- if (row < 0) +- return; +- int id = mTbClients->item(row, 0)->text().toInt(); +- bool view = mTbClients->item(row, 2)->text().toUInt(); +- krd->SetViewOnly(id, !view); +-} +- +-void ShareMain::closeAllClient() +-{ +- ClientInfo client_info = krd->clientsInfo(); +- mTbClients->setRowCount(0); +- +- foreach (QVariantMap client, client_info) { +- int id = client.value("id").toInt(); +- krd->CloseClient(id); +- } +-} +- +-//托盘功能,暂时屏蔽,后续开发 +-//1.头文件声明: +- +-//2.窗口初始化时创建托盘对象: +- +-void ShareMain::initSysTrayIcon() +-{ +- mSysTrayIcon = new QSystemTrayIcon(this); +- //新建托盘要显示的icon +- QIcon icon = QIcon(":/new/images/im_icon.png"); +- //将icon设到QSystemTrayIcon对象中 +- mSysTrayIcon->setIcon(icon); +- //当鼠标移动到托盘上的图标时,会显示此处设置的内容 +- mSysTrayIcon->setToolTip(QObject::trUtf8("xxx客户端")); +- //给QSystemTrayIcon添加槽函数 +- connect(mSysTrayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(on_activatedSysTrayIcon(QSystemTrayIcon::ActivationReason))); +- //在系统托盘显示此对象 +- mSysTrayIcon->show(); +-} +- +-//3.槽函数实现点击事件。 +-//系统托盘功能 +-void ShareMain::on_activatedSysTrayIcon(QSystemTrayIcon::ActivationReason reason) +-{ +- switch (reason) { +- case QSystemTrayIcon::Trigger: +- //单击托盘图标,显示窗体 +- +- this->show(); +- break; +- case QSystemTrayIcon::DoubleClick: +- //双击托盘图标 +- //双击后显示主程序窗口 +- QMessageBox::information(this, "xxxx" , "xxxx"); +- break; +-// case QSystemTrayIcon:: +- default: +- break; +- } +-} +- +-//4.体现图标作用:决定是否退出程序或缩小图标 +-// closeEvents +-void ShareMain::closeEvent(QCloseEvent *event) +-{ +- QMessageBox button(QMessageBox::Warning, QString(tr("退出程序")),QString(tr("确认退出程序!"))); +- button.setStandardButtons (QMessageBox::Yes|QMessageBox::No); +- button.setSizeIncrement(250,120); +- button.setButtonText (QMessageBox::Yes,QString("确定退出")); +- button.setButtonText (QMessageBox::No,QString("缩小托盘")); +- +- if(button.exec() != QMessageBox::Yes) +- { +- this->hide(); +- event->ignore(); +- }else{ +- event->accept(); +- } +-} +-#endif +diff --git a/plugins/system/vino_hw/sharemain.h b/plugins/system/vino_hw/sharemain.h +deleted file mode 100644 +index 60a7206..0000000 +--- a/plugins/system/vino_hw/sharemain.h ++++ /dev/null +@@ -1,189 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef SHAREMAIN_H +-#define SHAREMAIN_H +- +-#include <QWidget> +-#include <QFrame> +-#include <QCheckBox> +-#include <QLabel> +-#include <QRadioButton> +-#include <QVBoxLayout> +-#include <QLineEdit> +-#include <QButtonGroup> +-#include <QByteArray> +-#include <QDebug> +-#include <QGSettings/QGSettings> +-#include <QPushButton> +-#include <QTableWidget> +-#include <QHeaderView> +-#include <QAbstractItemView> +-#include <QSpinBox> +-#include <QSystemTrayIcon> +-#include <QEvent> +-#include <QGestureEvent> +-#include "krd.h" +-#include "kswitchbutton.h" +-using namespace kdk; +- +-#if 0 +-const QByteArray kVinoSchemas = "org.gnome.Vino"; +-const QString kVinoViewOnlyKey = "view-only"; +-const QString kVinoPromptKey = "prompt-enabled"; +-const QString kAuthenticationKey = "authentication-methods"; +-const QString kVncPwdKey = "vnc-password"; +- +-const QByteArray kUkccVnoSchmas = "org.ukui.control-center.vino"; +-const QString kUkccPromptKey = "remote"; +- +-enum RequestPwd { +- NOPWD, +- NEEDPWD +-}; +-#endif +- +-class ShareMain : public QWidget +-{ +- Q_OBJECT +-public: +- ShareMain(QWidget *parent = nullptr); +- ~ShareMain(); +- +-private: +- QFrame *mEnableFrame; +- QFrame *mControlFrame; +- QFrame *mSecurityFrame; +- QFrame *mSecurityPwdFrame; +- QFrame *mNoticeWFrame; +- QFrame *mNoticeOFrame; +- QFrame *mNoticeNFrame; +- QFrame *mOutputFrame; +- QFrame *mInputFrame; +- QFrame *mClientFrame; +- QFrame *mClientNumFrame; +- +- KSwitchButton *mEnableBtn; // 允许其他人查看桌面 +- KSwitchButton *mViewBtn; // 允许连接控制屏幕 +- KSwitchButton *mPwdBtn; // 要求用户输入密码 +- KSwitchButton *mOutputBtn; // 选择output按钮 +- KSwitchButton *mPointBtn; // 选择output按钮 +- KSwitchButton *mKeyboardBtn; // 选择output按钮 +- KSwitchButton *mClipboardBtn; // 选择output按钮 +- KSwitchButton *mMaxClientBtn; // 选择output按钮 +- +- QTableWidget *mTbClients; +- QSpinBox *mMaxClientSpinBox; +- QPushButton *mViewOnlyNBtn; +- QPushButton *mCloseBtn; +- +- QLabel *mShareTitleLabel; +- QLabel *mEnableLabel; +- QLabel *mViewLabel; +- QLabel *mSecurityTitleLabel; +- QLabel *mPwdsLabel; +- QLabel *mNoticeTitleLabel; +- QLabel *mNoticeWLabel; +- QLabel *mNoticeOLabel; +- QLabel *mNoticeNLabel; +- QLabel *mHintLabel; +- QLabel *mOutputLabel; +- QLabel *mPointLabel; +- QLabel *mKeyboardLabel; +- QLabel *mClipboardLabel; +- QLabel *mMaxClientLabel; +- QLabel *mClientLabel; +- QLabel *mClientInfoLabel; +- QLabel *mOutputTitleLabel; +- QLabel *mInputTitleLabel; +- QLabel *mClientTitleLabel; +- +- QLineEdit *mPwdLineEdit; +- +- QVBoxLayout *mVlayout; +- QHBoxLayout *mOutputHLayout; +- +- ComKylinRemoteDesktopInterface *krd; +- QList<QRadioButton*> output_list; +- +- QSettings* mSettingsIni; //配置文件 +- int mIsOpen; +- int mNeedPwd; +- +- //QRadioButton *mNoticeWBtn; +- //QRadioButton *mNoticeOBtn; +- //QRadioButton *mNoticeNBtn; +- //QLabel *mAccessLabel; +- //KSwitchButton *mAccessBtn; // 为本机确认每次访问 +- //QGSettings *mVinoGsetting; +- //QSystemTrayIcon *mSysTrayIcon; +- //static bool mIsOpening = false; +-private: +- +- void initUI(); +- void initTitleLabel(); +- void initEnableUI(); +- void initPwdUI(); +- void initOutputUI(); +- void initInputUI(); +- void initClientUI(); +- void setFrame(); +- +- void initData(); +- void initConnection(); +- +- void setFrameVisible(bool visible); +- void startKrbService(); +- +- void update_outputs(); +- void update_inputs(); +- void update_auth(); +- void update_clients(); +- +- void savePwdEnableState(); +- void checkPwdEnableState(); +- +- //void initShareStatus(bool isConnnect, bool isPwd); +- //void initEnableStatus(); +- //void setVinoService(bool status); +- //void initSysTrayIcon(); +- //void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE; +-private slots: +- void enableSlot(bool status); +- void pwdEnableSlot(bool status); +- void pwdInputSlot(const QString &pwd); +- void onChanged(int type); +- void onPointerClickedSlot(bool checked); +- void onKeyboardClickedSlot(bool checked); +- void onClipboardClickedSlot(bool checked); +- void on_wl_speed_valueChanged(int arg1); +- void on_pb_start_clicked(); +- void maxClientValueChangedSlot(int cNum); +- void on_pb_viewonly_clicked(); +- void on_pb_close_clicked(); +- void exitAllClient(); +- void on_pb_passwd_clicked(); +- +- //void viewBoxSlot(); +- //void accessSlot(bool status); +- //void closeAllClient(); +- //void on_activatedSysTrayIcon(QSystemTrayIcon::ActivationReason reason);//托盘槽函数声明 +-}; +- +-#endif // SHAREMAIN_H +diff --git a/plugins/system/vino_hw/vino_hw.cpp b/plugins/system/vino_hw/vino_hw.cpp +deleted file mode 100644 +index 80f8cb4..0000000 +--- a/plugins/system/vino_hw/vino_hw.cpp ++++ /dev/null +@@ -1,74 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#include "vino_hw.h" +-#include "ukcccommon.h" +-using namespace ukcc; +- +-Vino::Vino() : mFirstLoad(true) +-{ +- pluginName = tr("Vino"); +- pluginType = SYSTEM; +-} +- +-Vino::~Vino() +-{ +-} +- +-QString Vino::plugini18nName() +-{ +- return pluginName; +-} +- +-int Vino::pluginTypes() +-{ +- return pluginType; +-} +- +-QWidget *Vino::pluginUi() +-{ +- if (mFirstLoad) { +- mFirstLoad = false; +- // will delete by takewidget +- pluginWidget = new ShareMain; +- } +- +- return pluginWidget; +-} +- +- +-const QString Vino::name() const +-{ +- return QStringLiteral("Vino"); +-} +- +-bool Vino::isShowOnHomePage() const +-{ +- return false; +-} +- +-QIcon Vino::icon() const +-{ +- return QIcon::fromTheme("folder-remote-symbolic"); +-} +- +-bool Vino::isEnable() const +-{ +- return UkccCommon::isWayland(); +-} +diff --git a/plugins/system/vino_hw/vino_hw.h b/plugins/system/vino_hw/vino_hw.h +deleted file mode 100644 +index f7ac35c..0000000 +--- a/plugins/system/vino_hw/vino_hw.h ++++ /dev/null +@@ -1,55 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef VINO_H +-#define VINO_H +- +-#include <QWidget> +-#include <QSharedPointer> +-#include <QStringLiteral> +- +-#include "shell/interface.h" +-#include "sharemain.h" +- +-class Vino : public QObject, CommonInterface +-{ +- Q_OBJECT +- Q_PLUGIN_METADATA(IID "org.kycc.CommonInterface") +- Q_INTERFACES(CommonInterface) +- +-public: +- Vino(); +- ~Vino(); +- +- QString plugini18nName() Q_DECL_OVERRIDE; +- int pluginTypes() Q_DECL_OVERRIDE; +- QWidget * pluginUi() Q_DECL_OVERRIDE; +- const QString name() const Q_DECL_OVERRIDE; +- bool isShowOnHomePage() const Q_DECL_OVERRIDE; +- QIcon icon() const Q_DECL_OVERRIDE; +- bool isEnable() const Q_DECL_OVERRIDE; +- +-private: +- QString pluginName; +- int pluginType; +- ShareMain* pluginWidget; +- bool mFirstLoad; +- +-}; +-#endif // VINO_H +diff --git a/plugins/system/vino_hw/vino_hw.pro b/plugins/system/vino_hw/vino_hw.pro +deleted file mode 100644 +index 3866bdf..0000000 +--- a/plugins/system/vino_hw/vino_hw.pro ++++ /dev/null +@@ -1,48 +0,0 @@ +-include(../../../env.pri) +-include($$PROJECT_ROOTDIR/libukcc/interface.pri) +- +-QT += widgets +- +-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets dbus +- +-TEMPLATE = lib +-CONFIG += plugin link_pkgconfig +-PKGCONFIG += gsettings-qt \ +- kysdk-qtwidgets +- +-TARGET = $$qtLibraryTarget(vino_hw) +-DESTDIR = ../.. +-target.path = $${PLUGIN_INSTALL_DIRS} +- +-INCLUDEPATH += \ +- $$PROJECT_ROOTDIR \ +- +-LIBS += -L$$[QT_INSTALL_LIBS] -lgsettings-qt +- +-QMAKE_CXXFLAGS *= -D_FORTIFY_SOURCE=2 -O2 +- +-# The following define makes your compiler emit warnings if you use +-# any Qt feature that has been marked deprecated (the exact warnings +-# depend on your compiler). Please consult the documentation of the +-# deprecated API in order to know how to port your code away from it. +-DEFINES += QT_DEPRECATED_WARNINGS +- +-# You can also make your code fail to compile if it uses deprecated APIs. +-# In order to do so, uncomment the following line. +-# You can also select to disable deprecated APIs only up to a certain version of Qt. +-#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +- +-SOURCES += \ +- sharemain.cpp \ +- krd.cpp \ +- vino_hw.cpp +- +-HEADERS += \ +- sharemain.h \ +- krd.h \ +- vino_hw.h +- +-FORMS += +- +-# Default rules for deployment. +-INSTALLS += target +diff --git a/registeredSession/main.cpp b/registeredSession/main.cpp +index 68f458a..23820ee 100644 +--- a/registeredSession/main.cpp ++++ b/registeredSession/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <QApplication> + #include <QDBusConnection> + #include <QDBusError> +diff --git a/registeredSession/plugins/keyboard/keyboardinterface.cpp b/registeredSession/plugins/keyboard/keyboardinterface.cpp +index 2834b38..1bca8b7 100644 +--- a/registeredSession/plugins/keyboard/keyboardinterface.cpp ++++ b/registeredSession/plugins/keyboard/keyboardinterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "keyboardinterface.h" + + #include <QDebug> +diff --git a/registeredSession/plugins/mouse/mouseinterface.cpp b/registeredSession/plugins/mouse/mouseinterface.cpp +index dfd16d5..4703534 100644 +--- a/registeredSession/plugins/mouse/mouseinterface.cpp ++++ b/registeredSession/plugins/mouse/mouseinterface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "mouseinterface.h" + + #include <QDebug> +diff --git a/registeredSession/plugins/vino/vinointerface.cpp b/registeredSession/plugins/vino/vinointerface.cpp +index 3aad696..69e3639 100644 +--- a/registeredSession/plugins/vino/vinointerface.cpp ++++ b/registeredSession/plugins/vino/vinointerface.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "vinointerface.h" + #include <QDebug> + #include <QProcess> +diff --git a/registeredSession/ukccsessionserver.cpp b/registeredSession/ukccsessionserver.cpp +index 1c71f0d..f9a22dc 100644 +--- a/registeredSession/ukccsessionserver.cpp ++++ b/registeredSession/ukccsessionserver.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * Copyright (C) 2024 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/registeredSession/universalinterface.cpp b/registeredSession/universalinterface.cpp +index cb4087c..c200141 100644 +--- a/registeredSession/universalinterface.cpp ++++ b/registeredSession/universalinterface.cpp +@@ -1,6 +1,6 @@ + /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * +- * Copyright (C) 2019 KylinSoft Co., Ltd. ++ * Copyright (C) 2024 KylinSoft Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/shell/component/AddBtn/addbtn.cpp b/shell/component/AddBtn/addbtn.cpp +deleted file mode 100644 +index 56e39df..0000000 +--- a/shell/component/AddBtn/addbtn.cpp ++++ /dev/null +@@ -1,89 +0,0 @@ +-#include "addbtn.h" +-#include <QEvent> +-#include <QHBoxLayout> +-#include <QLabel> +-#include <QVariant> +-#include <QPainter> +-#include <QGSettings/QGSettings> +- +-AddBtn::AddBtn(QWidget *parent): +- QPushButton(parent) +-{ +- this->setObjectName("this"); +- this->setMinimumSize(QSize(580, 60)); +- this->setMaximumSize(QSize(16777215, 60)); +- this->setBtnStyle(Box); +- this->setProperty("useButtonPalette", true); +- +- QHBoxLayout *addLyt = new QHBoxLayout; +- +- QLabel *iconLabel = new QLabel(); +- QLabel *textLabel = new QLabel(tr("Add")); +- +- QIcon mAddIcon = QIcon::fromTheme("list-add-symbolic"); +- iconLabel->setPixmap(mAddIcon.pixmap(mAddIcon.actualSize(QSize(16, 16)))); +- iconLabel->setProperty("iconHighlightEffectMode", 1); +- +- const QByteArray idd(THEME_QT_SCHEMA); +- QGSettings *qtSettings = new QGSettings(idd, QByteArray(), this); +- QString currentThemeMode = qtSettings->get(MODE_QT_KEY).toString(); +- if ("ukui-dark" == currentThemeMode || "ukui-black" == currentThemeMode){ +- iconLabel->setProperty("useIconHighlightEffect", true); +- } +- connect(qtSettings, &QGSettings::changed, this, [=](const QString &key) { +- if (key == "styleName") { +- QString currentThemeMode = qtSettings->get(key).toString(); +- if ("ukui-black" == currentThemeMode || "ukui-dark" == currentThemeMode) { +- iconLabel->setProperty("useIconHighlightEffect", true); +- } else if("ukui-white" == currentThemeMode || "ukui-default" == currentThemeMode) { +- iconLabel->setProperty("useIconHighlightEffect", false); +- } +- } +- }); +- +- addLyt->addStretch(); +- addLyt->addWidget(iconLabel); +- addLyt->addWidget(textLabel); +- addLyt->addStretch(); +- this->setLayout(addLyt); +- +-} +- +-AddBtn::~AddBtn() +-{ +- +-} +- +-void AddBtn::enterEvent(QEvent *event){ +- Q_EMIT enterWidget(); +- +- QPushButton::enterEvent(event); +-} +- +-void AddBtn::setBtnStyle(AddBtn::Shape type) +-{ +- switch (type) { +- case None: +- this->setStyleSheet("AddBtn::hover:!pressed{background-color: palette(button); border-rdius: 0px}" +- "AddBtn:!checked{background-color: palette(base);border-rdius: 0px}"); +- break; +- case Top: +- this->setStyleSheet("AddBtn::hover:!pressed{background-color: palette(button); border-top-left-radius: 6px; border-top-right-radius: 6px;}" +- "AddBtn:!checked{background-color: palette(base); border-top-left-radius: 6px; border-top-right-radius: 6px;}"); +- break; +- case Bottom: +- this->setStyleSheet("AddBtn::hover:!pressed{background-color: palette(button); border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;}" +- "AddBtn:!checked{background-color: palette(base); border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;}"); +- break; +- case Box: +- this->setStyleSheet("AddBtn::hover:!pressed{background-color: palette(button); border-radius: 6px;}" +- "AddBtn:!checked{background-color: palette(base); border-radius: 6px;}"); +- break; +- } +-} +- +-void AddBtn::leaveEvent(QEvent *event){ +- Q_EMIT leaveWidget(); +- +- QPushButton::leaveEvent(event); +-} +diff --git a/shell/component/AddBtn/addbtn.h b/shell/component/AddBtn/addbtn.h +deleted file mode 100644 +index ca7d43e..0000000 +--- a/shell/component/AddBtn/addbtn.h ++++ /dev/null +@@ -1,36 +0,0 @@ +-#ifndef ADDBTN_H +-#define ADDBTN_H +- +-#include <QObject> +-#include <QWidget> +-#include <QPushButton> +- +-#define THEME_QT_SCHEMA "org.ukui.style" +-#define MODE_QT_KEY "style-name" +- +-class AddBtn : public QPushButton +-{ +- Q_OBJECT +-public: +- AddBtn(QWidget *parent = nullptr); +- ~AddBtn(); +- +- enum Shape { +- None, +- Top, +- Bottom, +- Box +- }; +- Q_ENUM(Shape) +- void setBtnStyle(Shape type); +- +-protected: +- virtual void leaveEvent(QEvent *event); +- virtual void enterEvent(QEvent *event); +- +-Q_SIGNALS: +- void enterWidget(); +- void leaveWidget(); +-}; +- +-#endif // ADDBTN_H +diff --git a/shell/component/AddBtn/addbtn.pri b/shell/component/AddBtn/addbtn.pri +deleted file mode 100644 +index a1e3fb8..0000000 +--- a/shell/component/AddBtn/addbtn.pri ++++ /dev/null +@@ -1,6 +0,0 @@ +-SOURCES += \ +- $$PWD/addbtn.cpp \ +- +-HEADERS += \ +- $$PWD/addbtn.h \ +- +diff --git a/shell/component/Button/button.pri b/shell/component/Button/button.pri +deleted file mode 100644 +index ded778b..0000000 +--- a/shell/component/Button/button.pri ++++ /dev/null +@@ -1,6 +0,0 @@ +-SOURCES += \ +- $$PWD/fixbutton.cpp \ +- +-HEADERS += \ +- $$PWD/fixbutton.h \ +- +diff --git a/shell/component/Button/fixbutton.cpp b/shell/component/Button/fixbutton.cpp +deleted file mode 100644 +index fed4aad..0000000 +--- a/shell/component/Button/fixbutton.cpp ++++ /dev/null +@@ -1,36 +0,0 @@ +-#include "fixbutton.h" +-#include <QFontMetrics> +-#include <QDebug> +- +-FixButton::FixButton(QWidget *parent): +- QPushButton(parent) +-{ +- +-} +- +-FixButton::~FixButton() +-{ +- +-} +- +-void FixButton::paintEvent(QPaintEvent *event) +-{ +- QFontMetrics fontMetrics(this->font()); +- int fontSize = fontMetrics.width(mStr); +- int showTextSize = this->width() - 32; +- if (fontSize > showTextSize) { +- this->setText(fontMetrics.elidedText(mStr, Qt::ElideRight, showTextSize), false); +- this->setToolTip(mStr); +- } else { +- this->setText(mStr, false); +- this->setToolTip(""); +- } +- QPushButton::paintEvent(event); +-} +- +-void FixButton::setText(const QString & text, bool saveTextFlag) +-{ +- if (saveTextFlag) +- mStr = text; +- QPushButton::setText(text); +-} +diff --git a/shell/component/Button/fixbutton.h b/shell/component/Button/fixbutton.h +deleted file mode 100644 +index 2f30dbe..0000000 +--- a/shell/component/Button/fixbutton.h ++++ /dev/null +@@ -1,21 +0,0 @@ +-#ifndef _FIXBUTTON_H_ +-#define _FIXBUTTON_H_ +-#include <QPushButton> +- +-class FixButton : public QPushButton +-{ +- Q_OBJECT +-public: +- FixButton(QWidget *parent = nullptr); +- ~FixButton(); +- void setText(const QString &text, bool saveTextFlag = true); +-private: +- void paintEvent(QPaintEvent *event); +- +-private: +- QString mStr; +-}; +- +- +- +-#endif +diff --git a/shell/component/CloseButton/closebutton.cpp b/shell/component/CloseButton/closebutton.cpp +deleted file mode 100644 +index 8df43ad..0000000 +--- a/shell/component/CloseButton/closebutton.cpp ++++ /dev/null +@@ -1,265 +0,0 @@ +-/* CloseButton by David Peng +- * 2020 10.20 +- * Version Beta 1.0 +- * 介绍:该控件是用于对话框的关闭按钮,只需指定父对象即可可自动回收。 +- * 使用方法: +- * 1、new CloseButton(this); //这样会直接调用主题的关闭按钮。 +- * 2、new CloseButton(黑色图标路径,this); //这样会用一个黑色的'X'图标SVG,hover时会渲染成白色。 +- * 3、new CloseButton(黑色图标路径,白色图标路径,this) //这样会用两张图片来实现图标显示。 +-*/ +- +-#include "closebutton.h" +-#include <QApplication> +-#include <QDebug> +- +-#define THEME_QT_SCHEMA "org.ukui.style" +-#define THEME_GTK_SCHEMA "org.mate.interface" +- +-CloseButton::CloseButton(QWidget *parent, const QString &filePath, const QString &hoverPath) : QLabel(parent) +-{ +- +- //Allocation +- +- if(filePath != "" && filePath != "window-close-symbolic") +- m_icon = new QIcon(filePath); +- else if(filePath == "window-close-symbolic"){ +- QIcon icon = QIcon::fromTheme("window-close-symbolic"); +- m_icon = new QIcon(icon); +- } else { +- m_icon = nullptr; +- } +- if(hoverPath != "") +- m_hoverIcon = new QIcon(hoverPath); +- else +- m_hoverIcon = nullptr; +- +- //Properties +- //setProperty("useIconHighlightEffect", true); +- //setProperty("iconHighlightEffectMode", 1); +- setFocusPolicy(Qt::NoFocus); +- +- //Initial componentss +- m_bIsChecked = false; +- m_bIsPressed = false; +- m_settedBkg = false; +- m_szHoverIn = "white"; +- m_szHoverOut = "default"; +- m_cSize = 16; +- m_colorBkg = palette().color(QPalette::Base); +- setAlignment(Qt::AlignCenter); +- +- if(m_icon != nullptr) { +- setPixmap(renderSvg(*m_icon,m_szHoverOut)); +- } +- if(QGSettings::isSchemaInstalled(THEME_GTK_SCHEMA) && QGSettings::isSchemaInstalled(THEME_QT_SCHEMA)) { +- QByteArray qtThemeID(THEME_QT_SCHEMA); +- QByteArray gtkThemeID(THEME_GTK_SCHEMA); +- +- m_gtkThemeSetting = new QGSettings(gtkThemeID,QByteArray(),this); +- m_qtThemeSetting = new QGSettings(qtThemeID,QByteArray(),this); +- +- QString style = m_qtThemeSetting->get("styleName").toString(); +- if(style == "ukui-black" || style == "ukui-dark") { +- m_szHoverOut = "white"; +- } else { +- m_szHoverOut = "default"; +- } +- +- connect(m_qtThemeSetting,&QGSettings::changed, [this] (const QString &key) { +- QString style = m_qtThemeSetting->get("styleName").toString(); +- if(key == "styleName") { +- if(style == "ukui-black" || style == "ukui-dark") { +- m_szHoverOut = "white"; +- } else { +- m_szHoverOut = "default"; +- } +- } +- }); +- } +-} +- +-const QPixmap CloseButton::renderSvg(const QIcon &icon, QString cgColor) { +- int size = m_cSize; +- const auto ratio = qApp->devicePixelRatio(); +- if ( 2 == ratio) { +- size = m_cSize * 2; +- } else if (3 == ratio) { +- size = m_cSize * 3; +- } +- QPixmap iconPixmap = icon.pixmap(size,size); +- iconPixmap.setDevicePixelRatio(ratio); +- QImage img = iconPixmap.toImage(); +- for (int x = 0; x < img.width(); x++) { +- for (int y = 0; y < img.height(); y++) { +- auto color = img.pixelColor(x, y); +- if (color.alpha() > 0) { +- if ("white" == cgColor) { +- color.setRed(255); +- color.setGreen(255); +- color.setBlue(255); +- img.setPixelColor(x, y, color); +- } else if ("black" == cgColor) { +- color.setRed(0); +- color.setGreen(0); +- color.setBlue(0); +- // color.setAlpha(0.1); +- color.setAlphaF(0.12); +- img.setPixelColor(x, y, color); +- } else if ("gray" == cgColor) { +- color.setRed(152); +- color.setGreen(163); +- color.setBlue(164); +- img.setPixelColor(x, y, color); +- } else if ("blue" == cgColor){ +- color.setRed(61); +- color.setGreen(107); +- color.setBlue(229); +- img.setPixelColor(x, y, color); +- } else { +- return iconPixmap; +- } +- } +- } +- } +- return QPixmap::fromImage(img); +-} +- +-QPixmap CloseButton::drawSymbolicColoredPixmap(const QPixmap &source, QString cgColor) +-{ +- QImage img = source.toImage(); +- for (int x = 0; x < img.width(); x++) { +- for (int y = 0; y < img.height(); y++) { +- auto color = img.pixelColor(x, y); +- if (color.alpha() > 0) { +- if ("white" == cgColor) { +- color.setRed(255); +- color.setGreen(255); +- color.setBlue(255); +- img.setPixelColor(x, y, color); +- } else if ("black" == cgColor) { +- color.setRed(0); +- color.setGreen(0); +- color.setBlue(0); +- color.setAlphaF(0.9); +- img.setPixelColor(x, y, color); +- } else if ("gray" == cgColor) { +- color.setRed(152); +- color.setGreen(163); +- color.setBlue(164); +- img.setPixelColor(x, y, color); +- } else if ("blue" == cgColor){ +- color.setRed(61); +- color.setGreen(107); +- color.setBlue(229); +- img.setPixelColor(x, y, color); +- } else { +- return source; +- } +- } +- } +- } +- return QPixmap::fromImage(img); +-} +- +-void CloseButton::enterEvent(QEvent *event) { +- Q_UNUSED(event); +- if(m_hoverIcon == nullptr && m_icon != nullptr) +- setPixmap(renderSvg(*m_icon,m_szHoverIn)); +- else if(m_hoverIcon != nullptr && m_icon != nullptr) +- setPixmap(m_hoverIcon->pixmap(m_cSize,m_cSize)); +- else if(m_customIcon != nullptr) +- setPixmap(renderSvg(*m_customIcon,m_szHoverIn)); +- m_colorBkg = QColor("#FA6056"); +-} +- +-void CloseButton::mousePressEvent(QMouseEvent *event) { +- if(event->button() == Qt::LeftButton) +- { +- m_colorBkg = QColor("#E54A50"); +- m_bIsPressed = true; +- update(); +- } +-} +- +-void CloseButton::mouseReleaseEvent(QMouseEvent *event) { +- Q_UNUSED(event); +- if(m_bIsPressed && this->rect().contains(event->pos())) +- { +- m_bIsChecked = !m_bIsChecked; +- emit clicked(m_bIsChecked); +- m_bIsPressed = false; +- } +-} +- +-void CloseButton::leaveEvent(QEvent *event) { +- Q_UNUSED(event); +- m_colorBkg = m_customBkg.isValid() ? m_customBkg : palette().color(QPalette::Base); +- if(m_icon != nullptr) +- setPixmap(renderSvg(*m_icon,m_szHoverOut)); +- else if(m_customIcon != nullptr) +- setPixmap(renderSvg(*m_customIcon,m_szHoverOut)); +- +-} +- +-void CloseButton::paintEvent(QPaintEvent *event) { +- QPainter painter(this); +- painter.setRenderHint(QPainter::Antialiasing); // 反锯齿; +- painter.setPen(Qt::transparent); +- painter.setBrush(QBrush(m_colorBkg)); +- painter.drawRoundedRect(rect(), 4, 4); +- painter.end(); +- return QLabel::paintEvent(event); +-} +- +-void CloseButton::setIconSize(int size) { +- m_cSize = size; +- update(); +-} +- +-void CloseButton::setIcon(const QIcon &icon) { +- m_customIcon = new QIcon(icon); +- setPixmap(renderSvg(*m_customIcon,m_szHoverOut)); +-} +- +-void CloseButton::setBkg(const QColor &color) { +- m_settedBkg = true; +- m_customBkg = color; +- m_colorBkg = m_customBkg; +- if(m_icon != nullptr) { +- setPixmap(renderSvg(*m_icon,m_szHoverOut)); +- } else if(m_customIcon != nullptr) { +- setPixmap(renderSvg(*m_customIcon,m_szHoverOut)); +- } +-} +- +-void CloseButton::setHoverIn(const QString &hoverIn) { +- m_szHoverIn = hoverIn; +- update(); +-} +- +-void CloseButton::setHoverOut(const QString &hoverOut) { +- m_szHoverOut = hoverOut; +- if(m_icon != nullptr) { +- setPixmap(renderSvg(*m_icon,m_szHoverOut)); +- } else if(m_customIcon != nullptr) { +- setPixmap(renderSvg(*m_customIcon,m_szHoverOut)); +- } +- update(); +-} +- +-CloseButton::~CloseButton() { +- if(m_icon != nullptr) { +- delete m_icon; +- m_icon = nullptr; +- } +- if(m_hoverIcon != nullptr) { +- delete m_hoverIcon; +- m_hoverIcon = nullptr; +- } +- if(m_customIcon != nullptr) { +- delete m_customIcon; +- m_customIcon = nullptr; +- } +-} +- +- +diff --git a/shell/component/CloseButton/closebutton.h b/shell/component/CloseButton/closebutton.h +deleted file mode 100644 +index c0a939e..0000000 +--- a/shell/component/CloseButton/closebutton.h ++++ /dev/null +@@ -1,54 +0,0 @@ +-#ifndef CLOSEBUTTON_H +-#define CLOSEBUTTON_H +- +-#include <QObject> +-#include <QWidget> +-#include <QLabel> +-#include <QPainter> +-#include <QIcon> +-#include <QMouseEvent> +-#include <QGSettings/QGSettings> +- +-class CloseButton : public QLabel +-{ +- Q_OBJECT +-public: +- explicit CloseButton(QWidget *parent = nullptr,const QString &filePath = "",const QString &hoverPath = ""); +- +- //Render icon from theme +- const QPixmap renderSvg(const QIcon &icon, QString color); +- // change svg picture's color +- QPixmap drawSymbolicColoredPixmap(const QPixmap &source, QString color); +- void setIcon(const QIcon &icon); +- void setIconSize(int size); +- void setBkg(const QColor &color); +- void setHoverIn(const QString &hoverIn); +- void setHoverOut(const QString &hoverOut); +- +- ~CloseButton(); +-protected: +- void enterEvent(QEvent *event); +- void leaveEvent(QEvent *event); +- void mousePressEvent(QMouseEvent *event); +- void mouseReleaseEvent(QMouseEvent *event); +- void paintEvent(QPaintEvent *event); +-private: +- QIcon *m_icon; +- QIcon *m_customIcon; +- QIcon *m_hoverIcon; +- bool m_bIsChecked; +- bool m_bIsPressed; +- QColor m_colorBkg; +- int m_cSize; +- bool m_settedBkg; +- QColor m_customBkg; +- QString m_szHoverOut; +- QString m_szHoverIn; +- QGSettings *m_qtThemeSetting; +- QGSettings *m_gtkThemeSetting; +- +-Q_SIGNALS: +- void clicked(bool checked = true); +-}; +- +-#endif // CLOSEBUTTON_H +diff --git a/shell/component/CloseButton/closebutton.pri b/shell/component/CloseButton/closebutton.pri +deleted file mode 100644 +index 4a4b096..0000000 +--- a/shell/component/CloseButton/closebutton.pri ++++ /dev/null +@@ -1,8 +0,0 @@ +- +-#LIBINTERFACE_NAME = $$qtLibraryTarget(switchbutton) +- +-SOURCES += \ +- $$PWD/closebutton.cpp \ +- +-HEADERS += \ +- $$PWD/closebutton.h \ +diff --git a/shell/component/ComboBox/combobox.cpp b/shell/component/ComboBox/combobox.cpp +deleted file mode 100644 +index 92277ea..0000000 +--- a/shell/component/ComboBox/combobox.cpp ++++ /dev/null +@@ -1,79 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#include "combobox.h" +- +-#include <QListWidget> +-#include <QListWidgetItem> +-#include <QScrollBar> +- +-#include <QDebug> +- +- +-ComboBox::ComboBox(QWidget *parent) : +- QComboBox(parent) +-{ +- this->setStyleSheet("QComboBox{border: 1px solid #cccccc; padding: 1px 2px 1px 2px; background-color: #eeeeee;}" +- "QComboBox QAbstractItemView::item{height: 30px}" +- "QListView::item{background: white}" +- "QListView::item:hover{background: #BDD7FD}"); +- +- partListWidget = new QListWidget(this); +- +- partListWidget->setItemDelegate(new NoFocusFrameDelegate(this)); +- partListWidget->verticalScrollBar()->setStyleSheet("QScrollBar{width: 10px}"); +- partListWidget->setFixedHeight(15 * 30); +- +- this->setModel(partListWidget->model()); +- this->setView(partListWidget); +- this->setEditable(true); +-} +- +-ComboBox::~ComboBox() +-{ +-} +- +-void ComboBox::onChooseItem(QString text){ +- this->setEditText(text); +- this->hidePopup(); +-} +- +-void ComboBox::addwidgetItem(QString text){ +- +- ComboboxItem * item = new ComboboxItem(this); +- item->setLabelContent(text); +- connect(item, SIGNAL(chooseItem(QString)), this, SLOT(onChooseItem(QString))); +- QListWidgetItem * widgetItem = new QListWidgetItem(partListWidget); +- partListWidget->setItemWidget(widgetItem, item); +-} +- +-void ComboBox::setcurrentwidgetIndex(int index){ +- QListWidgetItem * item = partListWidget->takeItem(index); +- this->setEditText(item->text()); +-} +- +-void ComboBox::removewidgetItems(){ +- for (int i = partListWidget->count() - 1; i >= 0; i--){ +- QListWidgetItem * item = partListWidget->item(i); +- partListWidget->removeItemWidget(item); +- delete item; +- item = nullptr; +- } +-} +- +diff --git a/shell/component/ComboBox/combobox.h b/shell/component/ComboBox/combobox.h +deleted file mode 100644 +index 06c2f3d..0000000 +--- a/shell/component/ComboBox/combobox.h ++++ /dev/null +@@ -1,56 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef COMBOBOX_H +-#define COMBOBOX_H +- +-#include <QWidget> +-#include <QComboBox> +- +-#include "comboboxitem.h" +-#include "nofocusframedelegate.h" +- +-class QListWidget; +-class QListWidgetItem; +- +-class ComboBox : public QComboBox +-{ +- Q_OBJECT +- +-public: +- explicit ComboBox(QWidget *parent = 0); +- ~ComboBox(); +- +-// void setCurrentItem(QString text); +- void addwidgetItem(QString text); +- void removewidgetItems(); +- void setcurrentwidgetIndex(int index); +- +-private: +-// QString currentitemtext; +- +- QListWidget * partListWidget; +- +-public slots: +-// void currentItemChanged(QListWidgetItem * current, QListWidgetItem * previous); +- void onChooseItem(QString text); +- +-}; +- +-#endif // COMBOBOX_H +diff --git a/shell/component/ComboBox/combobox.pri b/shell/component/ComboBox/combobox.pri +deleted file mode 100644 +index 3da25a4..0000000 +--- a/shell/component/ComboBox/combobox.pri ++++ /dev/null +@@ -1,9 +0,0 @@ +-SOURCES += \ +- $$PWD/combobox.cpp \ +- $$PWD/comboboxitem.cpp \ +- $$PWD/nofocusframedelegate.cpp \ +- +-HEADERS += \ +- $$PWD/combobox.h \ +- $$PWD/comboboxitem.h \ +- $$PWD/nofocusframedelegate.h \ +diff --git a/shell/component/ComboBox/comboboxitem.cpp b/shell/component/ComboBox/comboboxitem.cpp +deleted file mode 100644 +index 977da5f..0000000 +--- a/shell/component/ComboBox/comboboxitem.cpp ++++ /dev/null +@@ -1,71 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#include "comboboxitem.h" +- +-ComboboxItem::ComboboxItem(QWidget *parent) : +- QWidget(parent) +-{ +- mpress = false; +- +- imgLabel = new QLabel(this); +- textLabel = new QLabel(this); +- +- mainlayout = new QHBoxLayout(this); +-// mainlayout->addStretch(); +- mainlayout->addWidget(textLabel); +- mainlayout->addStretch(); +- mainlayout->addWidget(imgLabel); +- mainlayout->addStretch(); +- +- mainlayout->setSpacing(5); +- mainlayout->setContentsMargins(5, 5, 5, 5); +- +- setLayout(mainlayout); +-} +- +-ComboboxItem::~ComboboxItem() +-{ +-} +- +-void ComboboxItem::setLabelContent(QString content){ +- textLabel->setText(content); +-} +- +-QString ComboboxItem::getLabelContent(){ +- return textLabel->text(); +-} +- +-void ComboboxItem::mousePressEvent(QMouseEvent * event){ +- if (event->button() == Qt::LeftButton){ +- mpress = true; +-// emit chooseItem(textLabel->text()); +- } +-// QWidget::mousePressEvent(event); +-} +- +-void ComboboxItem::mouseReleaseEvent(QMouseEvent *event){ +- if (event->button() == Qt::LeftButton){ +- ;//un used warning +- } +- if (mpress){ +- emit chooseItem(textLabel->text()); +- mpress = false; +- } +-} +diff --git a/shell/component/ComboBox/comboboxitem.h b/shell/component/ComboBox/comboboxitem.h +deleted file mode 100644 +index 1b2a6f7..0000000 +--- a/shell/component/ComboBox/comboboxitem.h ++++ /dev/null +@@ -1,55 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef COMBOBOXITEM_H +-#define COMBOBOXITEM_H +- +-#include <QWidget> +-#include <QLabel> +-#include <QHBoxLayout> +-#include <QMouseEvent> +- +-class ComboboxItem : public QWidget +-{ +- Q_OBJECT +- +-public: +- explicit ComboboxItem(QWidget *parent = nullptr); +- ~ComboboxItem(); +- +- void setLabelContent(QString content); +- QString getLabelContent(); +- +-protected: +- virtual void mousePressEvent(QMouseEvent * event); +- virtual void mouseReleaseEvent(QMouseEvent * event); +- +-private: +- QLabel * imgLabel; +- QLabel * textLabel; +- QHBoxLayout * mainlayout; +- +- bool mpress; +- +-Q_SIGNALS: +- void chooseItem(QString text); +- +-}; +- +-#endif // COMBOBOXITEM_H +diff --git a/shell/component/ComboBox/nofocusframedelegate.cpp b/shell/component/ComboBox/nofocusframedelegate.cpp +deleted file mode 100644 +index 4610d61..0000000 +--- a/shell/component/ComboBox/nofocusframedelegate.cpp ++++ /dev/null +@@ -1,35 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#include "nofocusframedelegate.h" +- +-#include <QDebug> +- +-NoFocusFrameDelegate::NoFocusFrameDelegate(QWidget *parent) : +- QStyledItemDelegate(parent) +-{ +-} +- +-void NoFocusFrameDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const{ +- QStyleOptionViewItem itemOption(option); +- if (itemOption.state & QStyle::State_HasFocus){ +- itemOption.state ^= QStyle::State_HasFocus; +- } +- QStyledItemDelegate::paint(painter, itemOption, index); +-} +diff --git a/shell/component/ComboBox/nofocusframedelegate.h b/shell/component/ComboBox/nofocusframedelegate.h +deleted file mode 100644 +index a8b54ed..0000000 +--- a/shell/component/ComboBox/nofocusframedelegate.h ++++ /dev/null +@@ -1,37 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef NOFOCUSFRAMEDELEGATE_H +-#define NOFOCUSFRAMEDELEGATE_H +- +-#include <QPainter> +-#include <QStyledItemDelegate> +- +-class NoFocusFrameDelegate : public QStyledItemDelegate +-{ +- Q_OBJECT +- +-public: +- explicit NoFocusFrameDelegate(QWidget *parent = 0); +- +- void paint(QPainter * painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; +- +-}; +- +-#endif // NOFOCUSFRAMEDELEGATE_H +diff --git a/shell/component/ComboxFrame/comboxframe.cpp b/shell/component/ComboxFrame/comboxframe.cpp +deleted file mode 100644 +index 5d2c27f..0000000 +--- a/shell/component/ComboxFrame/comboxframe.cpp ++++ /dev/null +@@ -1,36 +0,0 @@ +-#include "comboxframe.h" +- +-ComboxFrame:: ComboxFrame(QString labelStr, QWidget *parent) : QFrame(parent), mTitleName(labelStr) { +- +- this->setFrameShape(QFrame::Shape::Box); +- +- mTitleLabel = new QLabel(mTitleName, this); +- mCombox = new QComboBox(this); +- +- mHLayout = new QHBoxLayout(this); +- mHLayout->addWidget(mTitleLabel); +- mHLayout->addWidget(mCombox); +- +- this->setLayout(mHLayout); +-} +- +-ComboxFrame::ComboxFrame(bool isNum, QString labelStr, QWidget *parent) : QFrame(parent), mTitleName(labelStr) +-{ +- Q_UNUSED(isNum) +- this->setFrameShape(QFrame::Shape::Box); +- +- mTitleLabel = new QLabel(mTitleName, this); +- mNumCombox = new QComboBox(this); +- mCombox = new QComboBox(this); +- +- mHLayout = new QHBoxLayout(this); +- mHLayout->addWidget(mTitleLabel); +- mHLayout->addWidget(mNumCombox); +- mHLayout->addWidget(mCombox); +- +- this->setLayout(mHLayout); +-} +- +-ComboxFrame::~ComboxFrame() { +- +-} +diff --git a/shell/component/ComboxFrame/comboxframe.h b/shell/component/ComboxFrame/comboxframe.h +deleted file mode 100644 +index 36787f1..0000000 +--- a/shell/component/ComboxFrame/comboxframe.h ++++ /dev/null +@@ -1,31 +0,0 @@ +-#ifndef COMBOXFRAME_H +-#define COMBOXFRAME_H +- +-#include <QWidget> +-#include <QObject> +-#include <QLabel> +-#include <QComboBox> +-#include <QFrame> +-#include <QHBoxLayout> +- +-class ComboxFrame : public QFrame +-{ +- Q_OBJECT +-public: +- ComboxFrame(QString labelStr, QWidget *parent = nullptr); +- ComboxFrame(bool isNum, QString labelStr, QWidget *parent = nullptr); +- ~ComboxFrame(); +- +-public: +- QComboBox *mCombox; +- QComboBox *mNumCombox; +- QLabel *mTitleLabel; +- QHBoxLayout *mHLayout; +- +-private: +- QString mTitleName; +- +-signals: +-}; +- +-#endif // COMBOXFRAME_H +diff --git a/shell/component/ComboxFrame/comboxframe.pri b/shell/component/ComboxFrame/comboxframe.pri +deleted file mode 100644 +index b7f7ab4..0000000 +--- a/shell/component/ComboxFrame/comboxframe.pri ++++ /dev/null +@@ -1,7 +0,0 @@ +-#LIBINTERFACE_NAME = $$qtLibraryTarget(comboxframe) +- +-SOURCES += \ +- $$PWD/comboxframe.cpp \ +- +-HEADERS += \ +- $$PWD/comboxframe.h \ +diff --git a/shell/component/FlowLayout/flowlayout.cpp b/shell/component/FlowLayout/flowlayout.cpp +deleted file mode 100644 +index 291815c..0000000 +--- a/shell/component/FlowLayout/flowlayout.cpp ++++ /dev/null +@@ -1,223 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +- +-#include "flowlayout.h" +- +-#include <QWidget> +-#include <QDebug> +-#include <QtMath> +- +-FlowLayout::FlowLayout(QWidget *parent, int margin, int hSpacing, int vSpacing) : +- QLayout(parent), +- m_hSpace(hSpacing), +- m_vSpace(vSpacing) +-{ +- setContentsMargins(margin, margin, margin, margin); +-} +- +-FlowLayout::FlowLayout(QWidget *parent, bool home, int margin, int hSpacing, int vSpacing): +- QLayout(parent), +- m_hSpace(hSpacing), +- m_vSpace(vSpacing), +- m_home(home) +-{ +- setContentsMargins(margin, margin, margin, margin); +-} +- +-FlowLayout::FlowLayout(int margin, int hSpacing, int vSpacing) +- : m_hSpace(hSpacing), +- m_vSpace(vSpacing) +-{ +- setContentsMargins(margin, margin, margin, margin); +-} +- +-FlowLayout::~FlowLayout(){ +- QLayoutItem * item; +- while ((item = takeAt(0))) { +- +- } +-} +- +-void FlowLayout::addItem(QLayoutItem *item){ +- itemList.append(item); +-} +- +-int FlowLayout::horizontalSpacing() const{ +- if (m_hSpace >= 0 || m_hSpace == -1) { +- return m_hSpace; +- } else { +- return smartSpacing(QStyle::PM_LayoutHorizontalSpacing); +- } +-} +- +-int FlowLayout::verticalSpacing() const{ +- if (m_vSpace >= 0 || m_vSpace == -1) { +- return m_vSpace; +- } else { +- return smartSpacing(QStyle::PM_LayoutVerticalSpacing); +- } +-} +- +-int FlowLayout::count() const{ +- return itemList.size(); +-} +- +-QLayoutItem * FlowLayout::itemAt(int index) const{ +- return itemList.value(index); +-} +- +-QLayoutItem * FlowLayout::takeAt(int index){ +- if (index >= 0 && index < itemList.size()) +- return itemList.takeAt(index); +- else +- return 0; +-} +- +-Qt::Orientations FlowLayout::expandingDirections() const{ +- return 0; +-} +- +-bool FlowLayout::hasHeightForWidth() const{ +- return true; +-} +- +-int FlowLayout::heightForWidth(int width) const{ +- int height = doLayout(QRect(0, 0, width, 0), true); +- return height; +-} +- +-void FlowLayout::setGeometry(const QRect &rect){ +- QLayout::setGeometry(rect); +- doLayout(rect, false); +-} +- +-QSize FlowLayout::sizeHint() const{ +- return minimumSize(); +-} +- +-QSize FlowLayout::minimumSize() const{ +- QSize size; +- QLayoutItem *item; +- foreach (item, itemList) +- size = size.expandedTo(item->minimumSize()); +- +- size += QSize(2*margin(), 2*margin()); +- return size; +-} +- +-int FlowLayout::doLayout(const QRect &rect, bool testOnly) const{ +- int left, top, right, bottom; +- getContentsMargins(&left, &top, &right, &bottom); +- QRect effectiveRect = rect.adjusted(+left, +top, -right, -bottom); +- int x = effectiveRect.x(); +- int y = effectiveRect.y(); +- int lineHeight = 0; +- +- int fillX = 0; +- bool bFillX = false; +- +- QLayoutItem *item; +- foreach (item, itemList) { +- QWidget *wid = item->widget(); +- int spaceX = horizontalSpacing(); +- if (spaceX == -1) { +- if (!bFillX) { +- bFillX = true; +- fillX = fillSpaceX(wid); +- } +- spaceX = fillX; +- } +- +- int spaceY = verticalSpacing(); +- if (spaceY == -1 && fillX >= 0) { +- spaceY = fillX; +- } else { +- spaceY = wid->style()->layoutSpacing( +- QSizePolicy::PushButton, QSizePolicy::PushButton, Qt::Vertical); +- } +- if (m_home) { +- spaceY = 32; +- } +- +- +- int nextX = x + item->sizeHint().width() + spaceX; +- if (nextX - spaceX > effectiveRect.right() && lineHeight > 0) { +- x = effectiveRect.x(); +- y = y + lineHeight + spaceY; +- nextX = x + item->sizeHint().width() + spaceX; +- lineHeight = 0; +- } +- +- if (!testOnly) +- item->setGeometry(QRect(QPoint(x, y), item->sizeHint())); +- +- x = nextX; +- lineHeight = qMax(lineHeight, item->sizeHint().height()); +- } +- return y + lineHeight - rect.y() + bottom; +-} +- +-int FlowLayout::smartSpacing(QStyle::PixelMetric pm) const{ +- QObject *parent = this->parent(); +- if (!parent) { +- return -1; +- } else if (parent->isWidgetType()) { +- QWidget *pw = static_cast<QWidget *>(parent); +- return pw->style()->pixelMetric(pm, 0, pw); +- } else { +- return static_cast<QLayout *>(parent)->spacing(); +- } +-} +- +-int FlowLayout::fillSpaceX(QWidget *wid) const{ +- int num = 0; +- int x = 0; +- int numH = 0; +- int space = 4; +- if (m_home) { +- space = 24; +- } +- int len = this->parentWidget()->width() - this->contentsMargins().left() - this->contentsMargins().right(); +- while (true) { +- num++; +- if (num * (wid->width() + space) - space >= len) { //最小间距space +- break; +- } +- } +- +- num = num - 1; +- if (num <= 1) { +- numH = itemList.size(); +- return 32; +- } +- int height = wid->height(); +- numH = ceil(double(itemList.size()) / num); +- x = len + space - num * (wid->width() + space); +- x = ceil(double(x)/(num - 1)) +space; +- x = x - 1; //考虑边框等因素影响 +- +- int maxY = numH * (height + x) + 32 - x; +- if (m_home) { +- maxY = numH * (height + 24) + 32; +- } +- this->parentWidget()->setFixedHeight(maxY); +- return x; +-} +- +diff --git a/shell/component/FlowLayout/flowlayout.h b/shell/component/FlowLayout/flowlayout.h +deleted file mode 100644 +index 27afe19..0000000 +--- a/shell/component/FlowLayout/flowlayout.h ++++ /dev/null +@@ -1,63 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef FLOWLAYOUT_H +-#define FLOWLAYOUT_H +- +-#include <QLayout> +-#include <QRect> +-#include <QStyle> +- +-class FlowLayout : public QLayout +-{ +-public: +- explicit FlowLayout(QWidget *parent, int margin = -1, int hSpacing = -1, int vSpacing = -1); +- explicit FlowLayout(QWidget *parent, bool home,int margin = -1, int hSpacing = -1, int vSpacing = -1 ); +- explicit FlowLayout(int margin = -1, int hSpacing = -1, int vSpacing = -1); +- ~FlowLayout(); +- +-public: +- void addItem(QLayoutItem *item) Q_DECL_OVERRIDE; +- int horizontalSpacing() const; +- int verticalSpacing() const; +- Qt::Orientations expandingDirections() const Q_DECL_OVERRIDE; +- bool hasHeightForWidth() const Q_DECL_OVERRIDE; +- int heightForWidth(int) const Q_DECL_OVERRIDE; +- int count() const Q_DECL_OVERRIDE; +- QLayoutItem *itemAt(int index) const Q_DECL_OVERRIDE; +- QSize minimumSize() const Q_DECL_OVERRIDE; +- void setGeometry(const QRect &rect) Q_DECL_OVERRIDE; +- QSize sizeHint() const Q_DECL_OVERRIDE; +- QLayoutItem *takeAt(int index) Q_DECL_OVERRIDE; +- int fillSpaceX(QWidget *wid) const; +- +-private: +- int doLayout(const QRect &rect, bool testOnly) const; +- int smartSpacing(QStyle::PixelMetric pm) const; +- +-private: +- QList<QLayoutItem *> itemList; +- int m_hSpace; +- int m_vSpace; +- bool m_home = false; +- +- +-}; +- +-#endif // FLOWLAYOUT_H +diff --git a/shell/component/FlowLayout/flowlayout.pri b/shell/component/FlowLayout/flowlayout.pri +deleted file mode 100644 +index a1e6ec8..0000000 +--- a/shell/component/FlowLayout/flowlayout.pri ++++ /dev/null +@@ -1,8 +0,0 @@ +- +-#LIBINTERFACE_NAME = $$qtLibraryTarget(flowlayout) +- +-SOURCES += \ +- $$PWD/flowlayout.cpp \ +- +-HEADERS += \ +- $$PWD/flowlayout.h \ +diff --git a/shell/component/Frame/frame.pri b/shell/component/Frame/frame.pri +deleted file mode 100644 +index b1d5db4..0000000 +--- a/shell/component/Frame/frame.pri ++++ /dev/null +@@ -1,6 +0,0 @@ +-SOURCES += \ +- $$PWD/hlineframe.cpp \ +- +-HEADERS += \ +- $$PWD/hlineframe.h \ +- +diff --git a/shell/component/Frame/hlineframe.cpp b/shell/component/Frame/hlineframe.cpp +deleted file mode 100644 +index b5fb394..0000000 +--- a/shell/component/Frame/hlineframe.cpp ++++ /dev/null +@@ -1,12 +0,0 @@ +-#include "hlineframe.h" +- +-HLineFrame::HLineFrame(QWidget *parent) +- :QFrame(parent) { +- +- this->setFrameShape(QFrame::Shape::HLine); +- this->setFixedHeight(1); +-} +- +-HLineFrame::~HLineFrame() { +- +-} +diff --git a/shell/component/Frame/hlineframe.h b/shell/component/Frame/hlineframe.h +deleted file mode 100644 +index dcdc364..0000000 +--- a/shell/component/Frame/hlineframe.h ++++ /dev/null +@@ -1,14 +0,0 @@ +-#ifndef _HLINEFRAME_H_ +-#define _HLINEFRAME_H_ +-#include <QFrame> +- +-class HLineFrame : public QFrame +-{ +-public: +- HLineFrame(QWidget *parent = nullptr); +- ~HLineFrame(); +-}; +- +- +- +-#endif +diff --git a/shell/component/HoverBtn/hoverbtn.cpp b/shell/component/HoverBtn/hoverbtn.cpp +deleted file mode 100644 +index 298b5e4..0000000 +--- a/shell/component/HoverBtn/hoverbtn.cpp ++++ /dev/null +@@ -1,108 +0,0 @@ +-#include "hoverbtn.h" +- +-#include <QDebug> +- +-HoverBtn::HoverBtn(QString mname, bool isHide, QWidget *parent) : +- mName(mname), mIsHide(isHide), QWidget(parent) +-{ +- this->setMaximumHeight(50); +- this->setMinimumSize(550, 50); +- initUI(); +-} +- +-HoverBtn::HoverBtn(QString mname, QString detailName, QWidget *parent) : +- mName(mname), mDetailName(detailName), QWidget(parent) +-{ +- this->setMaximumHeight(50); +- this->setMinimumSize(550, 50); +- initUI(); +-} +- +-HoverBtn::~HoverBtn() { +- +-} +- +-void HoverBtn::initUI() { +- +- mIsHide ? (mHideWidth = 0) : (mHideWidth = 102); +- +- mInfoItem = new QFrame(this); +- mInfoItem->setFrameShape(QFrame::Shape::Box); +- mInfoItem->setGeometry(0, 0, this->width(), this->height()); +- +- mHLayout = new QHBoxLayout(mInfoItem); +- mHLayout->setSpacing(16); +- +- mPitIcon = new QLabel(mInfoItem); +- mHLayout->addWidget(mPitIcon); +- +- mPitLabel = new QLabel(mInfoItem); +- mHLayout->addWidget(mPitLabel); +- +- mDetailLabel = new QLabel(mInfoItem); +- mHLayout->addWidget(mDetailLabel); +- +- mHLayout->addStretch(); +- +- mAbtBtn = new QPushButton(this); +- mAbtBtn->setVisible(false); +- +- initAnimation(); +-} +- +-void HoverBtn::initAnimation() { +- mMouseTimer = new QTimer(this); +- mMouseTimer->setInterval(1); +- +- connect(mMouseTimer, &QTimer::timeout, this, [=] { +- if (mAnimationFlag) { +- if(mLeaveAction->state() != QAbstractAnimation::Running){ +- mEnterAction->setStartValue(QRect(0, 0, mInfoItem->width(), mInfoItem->height())); +- mEnterAction->setEndValue(QRect(0, 0, mInfoItem->width() - mHideWidth, mInfoItem->height())); +- mEnterAction->start(); +- } +- } +- mMouseTimer->stop(); +- }); +- +- mEnterAction = new QPropertyAnimation(mInfoItem, "geometry"); +- mEnterAction->setDuration(1); +- mEnterAction->setEasingCurve(QEasingCurve::OutQuad); +- +- connect(mEnterAction, &QPropertyAnimation::finished, this, [=] { +- mAbtBtn->setGeometry(this->width()-100, 2, 80, 45); +- mAbtBtn->setVisible(!mIsHide); +- }); +- +- mLeaveAction = new QPropertyAnimation(mInfoItem,"geometry"); +- mLeaveAction->setDuration(1); +- mLeaveAction->setEasingCurve(QEasingCurve::InQuad); +-} +- +-void HoverBtn::resizeEvent(QResizeEvent *event) { +- mInfoItem->resize(event->size()); +-} +- +-void HoverBtn::enterEvent(QEvent *event) { +- Q_UNUSED(event); +- mAnimationFlag = true; +- mMouseTimer->start(); +-} +- +-void HoverBtn::leaveEvent(QEvent *event) { +- Q_UNUSED(event); +- +- mAnimationFlag = false; +- +- mAbtBtn->setVisible(false); +- +- mLeaveAction->setStartValue(QRect(0, 0, mInfoItem->width(), mInfoItem->height())); +- mLeaveAction->setEndValue(QRect(0, 0, this->width(), mInfoItem->height())); +- mLeaveAction->start(); +-} +- +-void HoverBtn::mousePressEvent(QMouseEvent *event) { +- +- emit widgetClicked(mName); +- QWidget::mousePressEvent(event); +-} +diff --git a/shell/component/HoverBtn/hoverbtn.h b/shell/component/HoverBtn/hoverbtn.h +deleted file mode 100644 +index ce79bf5..0000000 +--- a/shell/component/HoverBtn/hoverbtn.h ++++ /dev/null +@@ -1,62 +0,0 @@ +-#ifndef HOVERBTN_H +-#define HOVERBTN_H +- +-#include <QWidget> +-#include <QEvent> +-#include <QString> +-#include <QFrame> +-#include <QTimer> +-#include <QLabel> +-#include <QPushButton> +-#include <QHBoxLayout> +-#include <QResizeEvent> +-#include <QPropertyAnimation> +- +-class HoverBtn : public QWidget +-{ +- Q_OBJECT +-public: +- HoverBtn(QString mname, bool isHide, QWidget *parent = nullptr); +- HoverBtn(QString mname, QString detailName, QWidget *parent = nullptr); +- ~HoverBtn(); +- +-public: +- QString mName; +- QString mDetailName; +- QPushButton *mAbtBtn; +- +- QFrame *mInfoItem; +- +- QLabel *mPitIcon; +- QLabel *mPitLabel; +- QLabel *mDetailLabel; +- +- QHBoxLayout *mHLayout; +- +- QTimer *mMouseTimer; +- +- bool mAnimationFlag = false; +- bool mIsHide; +- +- int mHideWidth; +- +- QPropertyAnimation *mEnterAction = nullptr; +- QPropertyAnimation *mLeaveAction = nullptr; +- +-private: +- void initUI(); +- void initAnimation(); +- +-protected: +- virtual void resizeEvent(QResizeEvent *event); +- virtual void enterEvent(QEvent * event); +- virtual void leaveEvent(QEvent * event); +- virtual void mousePressEvent(QMouseEvent * event); +- +-Q_SIGNALS: +- void widgetClicked(QString name); +- void enterWidget(QString name); +- void leaveWidget(QString name); +-}; +- +-#endif // HOVERBTN_H +diff --git a/shell/component/HoverBtn/hoverbtn.pri b/shell/component/HoverBtn/hoverbtn.pri +deleted file mode 100644 +index 55509d1..0000000 +--- a/shell/component/HoverBtn/hoverbtn.pri ++++ /dev/null +@@ -1,8 +0,0 @@ +- +-#LIBINTERFACE_NAME = $$qtLibraryTarget(hoverbtn) +- +-SOURCES += \ +- $$PWD/hoverbtn.cpp \ +- +-HEADERS += \ +- $$PWD/hoverbtn.h \ +diff --git a/shell/component/HoverWidget/hoverwidget.cpp b/shell/component/HoverWidget/hoverwidget.cpp +deleted file mode 100644 +index e063f68..0000000 +--- a/shell/component/HoverWidget/hoverwidget.cpp ++++ /dev/null +@@ -1,64 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#include "hoverwidget.h" +- +-#include <QPainter> +-#include <QStyleOption> +- +-#include <QDebug> +-#define THEME_QT_SCHEMA "org.ukui.style" +-#define MODE_QT_KEY "style-name" +- +-HoverWidget::HoverWidget(QString mname, QWidget *parent) : +- QWidget(parent), +- _name(mname) +-{ +- setAttribute(Qt::WA_DeleteOnClose); +-} +- +-HoverWidget::~HoverWidget() +-{ +-} +- +-void HoverWidget::enterEvent(QEvent *event){ +- emit enterWidget(_name); +- +- QWidget::enterEvent(event); +-} +- +-void HoverWidget::leaveEvent(QEvent *event){ +- emit leaveWidget(_name); +- +- QWidget::leaveEvent(event); +-} +- +-//子类化一个QWidget,为了能够使用样式表,则需要提供paintEvent事件。 +-//这是因为QWidget的paintEvent()是空的,而样式表要通过paint被绘制到窗口中。 +-void HoverWidget::paintEvent(QPaintEvent *event){ +- Q_UNUSED(event) +- QStyleOption opt; +- opt.init(this); +- QPainter p(this); +- style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); +-} +- +-void HoverWidget::mousePressEvent(QMouseEvent *event) { +- emit widgetClicked(_name); +-} +diff --git a/shell/component/HoverWidget/hoverwidget.h b/shell/component/HoverWidget/hoverwidget.h +deleted file mode 100644 +index 717388a..0000000 +--- a/shell/component/HoverWidget/hoverwidget.h ++++ /dev/null +@@ -1,51 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef HOVERWIDGET_H +-#define HOVERWIDGET_H +- +-#include <QWidget> +-#include <QEvent> +-#include <QLayout> +-#include <QLabel> +-#include <QPixmap> +- +-class HoverWidget : public QWidget +-{ +- Q_OBJECT +- +-public: +- explicit HoverWidget(QString mname, QWidget *parent = 0); +- ~HoverWidget(); +- +-public: +- QString _name; +- +-protected: +- virtual void enterEvent(QEvent * event); +- virtual void leaveEvent(QEvent * event); +- virtual void paintEvent(QPaintEvent * event); +- virtual void mousePressEvent(QMouseEvent * event); +-Q_SIGNALS: +- void widgetClicked(QString name); +- void enterWidget(QString name); +- void leaveWidget(QString name); +-}; +- +-#endif // HOVERWIDGET_H +diff --git a/shell/component/HoverWidget/hoverwidget.pri b/shell/component/HoverWidget/hoverwidget.pri +deleted file mode 100644 +index 8aac743..0000000 +--- a/shell/component/HoverWidget/hoverwidget.pri ++++ /dev/null +@@ -1,8 +0,0 @@ +- +-#LIBINTERFACE_NAME = $$qtLibraryTarget(switchbutton) +- +-SOURCES += \ +- $$PWD/hoverwidget.cpp \ +- +-HEADERS += \ +- $$PWD/hoverwidget.h \ +diff --git a/shell/component/ImageUtil/imageutil.cpp b/shell/component/ImageUtil/imageutil.cpp +deleted file mode 100644 +index a940ed8..0000000 +--- a/shell/component/ImageUtil/imageutil.cpp ++++ /dev/null +@@ -1,82 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +- +-#include "imageutil.h" +- +-#include <QPainter> +-#include <QSvgRenderer> +- +-const QPixmap ImageUtil::loadSvg(const QString &path, const QString color, int size) +-{ +- int origSize = size; +- const auto ratio = qApp->devicePixelRatio(); +- if ( 2 == ratio) { +- size += origSize; +- } else if (3 == ratio) { +- size += origSize; +- } +- QPixmap pixmap(size, size); +- QSvgRenderer renderer(path); +- pixmap.fill(Qt::transparent); +- +- QPainter painter; +- painter.begin(&pixmap); +- renderer.render(&painter); +- painter.end(); +- +- pixmap.setDevicePixelRatio(ratio); +- return drawSymbolicColoredPixmap(pixmap, color); +-} +- +-QPixmap ImageUtil::drawSymbolicColoredPixmap(const QPixmap &source, QString cgColor) +-{ +- QImage img = source.toImage(); +- for (int x = 0; x < img.width(); x++) { +- for (int y = 0; y < img.height(); y++) { +- auto color = img.pixelColor(x, y); +- if (color.alpha() > 0) { +- if ( "white" == cgColor) { +- color.setRed(255); +- color.setGreen(255); +- color.setBlue(255); +- img.setPixelColor(x, y, color); +- } else if( "black" == cgColor) { +- color.setRed(0); +- color.setGreen(0); +- color.setBlue(0); +- img.setPixelColor(x, y, color); +- } else if ("gray"== cgColor) { +- color.setRed(152); +- color.setGreen(163); +- color.setBlue(164); +- img.setPixelColor(x, y, color); +- } else if ("blue" == cgColor){ +- color.setRed(61); +- color.setGreen(107); +- color.setBlue(229); +- img.setPixelColor(x, y, color); +- } else { +- return source; +- } +- } +- } +- } +- return QPixmap::fromImage(img); +-} +diff --git a/shell/component/ImageUtil/imageutil.h b/shell/component/ImageUtil/imageutil.h +deleted file mode 100644 +index 91cb412..0000000 +--- a/shell/component/ImageUtil/imageutil.h ++++ /dev/null +@@ -1,34 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +- +-#ifndef IMAGEUTIL_H +-#define IMAGEUTIL_H +- +-#include <QPixmap> +-#include <QApplication> +- +-class ImageUtil +-{ +-public: +- static const QPixmap loadSvg(const QString &path, const QString color, int size = 16); +- static QPixmap drawSymbolicColoredPixmap(const QPixmap &source, QString cgColor); +-}; +- +-#endif // IMAGEUTIL_H +diff --git a/shell/component/ImageUtil/imageutil.pri b/shell/component/ImageUtil/imageutil.pri +deleted file mode 100644 +index 9964ccc..0000000 +--- a/shell/component/ImageUtil/imageutil.pri ++++ /dev/null +@@ -1,8 +0,0 @@ +-#LIBINTERFACE_NAME = $$qtLibraryTarget(imageutil) +-QT += svg +- +-SOURCES += \ +- $$PWD/imageutil.cpp \ +- +-HEADERS += \ +- $$PWD/imageutil.h \ +diff --git a/shell/component/InfoButton/infobutton.cpp b/shell/component/InfoButton/infobutton.cpp +deleted file mode 100644 +index 5d87ed2..0000000 +--- a/shell/component/InfoButton/infobutton.cpp ++++ /dev/null +@@ -1,106 +0,0 @@ +-#include "infobutton.h" +-#include <QDebug> +-#include <QEvent> +-#include <QPainter> +-#include <qcoreapplication.h> +-#include <QApplication> +-#define BUTTON_SIZE 36,36 +-#define ICON_SIZE 16,16 +-#define BACKGROUND_COLOR QColor(0,0,0,0) +-#define FOREGROUND_COLOR_NORMAL qApp->palette().text().color() +-#define FOREGROUND_COLOR_HOVER QColor(55,144,250,255) +-#define FOREGROUND_COLOR_PRESS QColor(36,109,212,255) +-#define OUTER_PATH 8,8,16,16 +-#define INNER_PATH 9,9,14,14 +-#define TEXT_POS 14,5,16,16,0 +- +-#define BUTTON_SIZE 36,36 +- +-#define THEME_SCHAME "org.ukui.style" +-#define COLOR_THEME "styleName" +- +-InfoButton::InfoButton(QWidget *parent) : QPushButton(parent) +-{ +- this->setFixedSize(BUTTON_SIZE); +- initUI(); +- const QByteArray style_id(THEME_SCHAME); +- if (QGSettings::isSchemaInstalled(style_id)) { +- m_styleGsettings = new QGSettings(style_id, QByteArray(), this); +- connect(m_styleGsettings, &QGSettings::changed, this, &InfoButton::onGSettingChaned); +- } else { +- qDebug() << "Gsettings interface \"org.ukui.style\" is not exist!"; +- } +-} +- +-void InfoButton::initUI() +-{ +- this->setFixedSize(BUTTON_SIZE); +- m_backgroundColor = BACKGROUND_COLOR; +- m_foregroundColor = FOREGROUND_COLOR_NORMAL; +-} +- +-void InfoButton::onGSettingChaned(const QString &key) +-{ +- if (key == COLOR_THEME) { +- m_foregroundColor = FOREGROUND_COLOR_NORMAL; +- this->repaint(); +- } +-} +- +-void InfoButton::paintEvent(QPaintEvent *event) +-{ +- QPalette pal = this->palette(); +- pal.setColor(QPalette::Base, m_backgroundColor); +- pal.setColor(QPalette::Text, m_foregroundColor); +- +- QPainterPath cPath; +- cPath.addRect(0, 0, ICON_SIZE); +- cPath.addEllipse(0, 0, ICON_SIZE); +- +- QPainterPath outerPath; +- outerPath.addEllipse(OUTER_PATH); +- +- QPainterPath innerPath; +- innerPath.addEllipse(INNER_PATH); +- outerPath -= innerPath; +- +- QPainter painter(this); +- painter.setRenderHint(QPainter:: Antialiasing, true); //设置渲染,启动反锯齿 +- painter.setPen(Qt::NoPen); +- +- painter.setBrush(pal.color(QPalette::Base)); +- painter.drawPath(cPath); +- +- painter.fillPath(outerPath, pal.color(QPalette::Text)); +- painter.setPen(m_foregroundColor); +- QFont font("Noto Sans CJK SC", 11, QFont::Normal, false); +- painter.setFont(font); +- painter.drawText(TEXT_POS, "i"); +- +-} +- +-void InfoButton::enterEvent(QEvent *event) +-{ +- m_foregroundColor = FOREGROUND_COLOR_HOVER; +- this->repaint(); +-} +- +-void InfoButton::leaveEvent(QEvent *event) +-{ +- m_foregroundColor = FOREGROUND_COLOR_NORMAL; +- this->repaint(); +-} +- +-void InfoButton::mousePressEvent(QMouseEvent *event) +-{ +- m_foregroundColor = FOREGROUND_COLOR_PRESS; +- this->repaint(); +- return QPushButton::mousePressEvent(event); +-} +- +-void InfoButton::mouseReleaseEvent(QMouseEvent *event) +-{ +- m_foregroundColor = FOREGROUND_COLOR_HOVER; +- this->repaint(); +- return QPushButton::mouseReleaseEvent(event); +-} +diff --git a/shell/component/InfoButton/infobutton.h b/shell/component/InfoButton/infobutton.h +deleted file mode 100644 +index 6d32baa..0000000 +--- a/shell/component/InfoButton/infobutton.h ++++ /dev/null +@@ -1,38 +0,0 @@ +-#ifndef INFOBUTTON_H +-#define INFOBUTTON_H +-#include <QPushButton> +-#include <QIcon> +-#include <QPainterPath> +-#include <QGSettings/QGSettings> +- +-#include "libukcc_global.h" +- +-class LIBUKCC_EXPORT InfoButton : public QPushButton +-{ +- Q_OBJECT +-public: +- explicit InfoButton(QWidget * parent = nullptr); +- ~InfoButton() = default; +- +-protected: +- void paintEvent(QPaintEvent *event); +- void enterEvent(QEvent *event); +- void leaveEvent(QEvent *event); +- void mousePressEvent(QMouseEvent *event); +- void mouseReleaseEvent(QMouseEvent *event); +- +-private: +- void initUI(); +- +-private: +- QColor m_backgroundColor; +- QColor m_foregroundColor; +- +- //监听主题的Gsettings +- QGSettings * m_styleGsettings = nullptr; +- +-private slots: +- void onGSettingChaned(const QString &key); +-}; +- +-#endif // INFOBUTTON_H +diff --git a/shell/component/InfoButton/infobutton.pri b/shell/component/InfoButton/infobutton.pri +deleted file mode 100644 +index a307102..0000000 +--- a/shell/component/InfoButton/infobutton.pri ++++ /dev/null +@@ -1,9 +0,0 @@ +-#LIBINTERFACE_NAME = $$qtLibraryTarget(infobutton) +- +-SOURCES += \ +- $$PWD/infobutton.cpp \ +- +-HEADERS += \ +- $$PWD/infobutton.h \ +- +- +diff --git a/shell/component/Label/fixlabel.cpp b/shell/component/Label/fixlabel.cpp +deleted file mode 100644 +index 0009c63..0000000 +--- a/shell/component/Label/fixlabel.cpp ++++ /dev/null +@@ -1,61 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +- +-#include "fixlabel.h" +-#include <QFontMetrics> +-#include <QDebug> +- +-FixLabel::FixLabel(QWidget *parent): +- QLabel(parent) +-{ +- +-} +- +-FixLabel::FixLabel(QString text , QWidget *parent): +- QLabel(parent) +-{ +- this->setText(text); +-} +- +-FixLabel::~FixLabel() +-{ +- +-} +- +-void FixLabel::paintEvent(QPaintEvent *event) +-{ +- QFontMetrics fontMetrics(this->font()); +- int fontSize = fontMetrics.width(mStr); +- if (fontSize > this->width()) { +- this->setText(fontMetrics.elidedText(mStr, Qt::ElideRight, this->width()), false); +- this->setToolTip(mStr); +- } else { +- this->setText(mStr, false); +- this->setToolTip(""); +- } +- QLabel::paintEvent(event); +-} +- +-void FixLabel::setText(const QString & text, bool saveTextFlag) +-{ +- if (saveTextFlag) +- mStr = text; +- QLabel::setText(text); +-} +diff --git a/shell/component/Label/fixlabel.h b/shell/component/Label/fixlabel.h +deleted file mode 100644 +index 8ba16a2..0000000 +--- a/shell/component/Label/fixlabel.h ++++ /dev/null +@@ -1,44 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +- +-#ifndef FIXLABEL_H +-#define FIXLABEL_H +-#include <QLabel> +- +- +-//文本长自动省略并添加悬浮 +-class FixLabel : public QLabel +-{ +- +- Q_OBJECT +-public: +- explicit FixLabel(QWidget *parent = nullptr); +- explicit FixLabel(QString text , QWidget *parent = nullptr); +- ~FixLabel(); +- void setText(const QString &text, bool saveTextFlag = true); +-protected: +- void paintEvent(QPaintEvent *event); +- +-private: +- QString mStr; +-}; +- +- +-#endif // FIXLABEL_H +diff --git a/shell/component/Label/iconlabel.cpp b/shell/component/Label/iconlabel.cpp +deleted file mode 100644 +index dc0eafa..0000000 +--- a/shell/component/Label/iconlabel.cpp ++++ /dev/null +@@ -1,20 +0,0 @@ +-#include "iconlabel.h" +-#include <QEvent> +- +-IconLabel::IconLabel(QWidget *parent): +- QLabel(parent) +-{ +- +-} +- +-void IconLabel::enterEvent(QEvent *event){ +- Q_EMIT enterWidget(); +- +- QLabel::enterEvent(event); +-} +- +-void IconLabel::leaveEvent(QEvent *event){ +- Q_EMIT leaveWidget(); +- +- QLabel::leaveEvent(event); +-} +diff --git a/shell/component/Label/iconlabel.h b/shell/component/Label/iconlabel.h +deleted file mode 100644 +index f84c992..0000000 +--- a/shell/component/Label/iconlabel.h ++++ /dev/null +@@ -1,24 +0,0 @@ +-#ifndef ICONLABEL_H +-#define ICONLABEL_H +- +-#include <QObject> +-#include <QWidget> +-#include <QLabel> +- +-class IconLabel : public QLabel +-{ +- Q_OBJECT +-public: +- IconLabel(QWidget *parent = nullptr); +- +- +-protected: +- virtual void leaveEvent(QEvent * event); +- virtual void enterEvent(QEvent * event); +- +-Q_SIGNALS: +- void enterWidget(); +- void leaveWidget(); +-}; +- +-#endif // ICONLABEL_H +diff --git a/shell/component/Label/label.pri b/shell/component/Label/label.pri +deleted file mode 100644 +index afd3fe6..0000000 +--- a/shell/component/Label/label.pri ++++ /dev/null +@@ -1,13 +0,0 @@ +-SOURCES += \ +- $$PWD/fixlabel.cpp \ +- $$PWD/iconlabel.cpp \ +- $$PWD/lightlabel.cpp \ +- $$PWD/titlelabel.cpp \ +- $$PWD/tristatelabel.cpp +-HEADERS += \ +- $$PWD/fixlabel.h \ +- $$PWD/iconlabel.h \ +- $$PWD/lightlabel.h \ +- $$PWD/titlelabel.h \ +- $$PWD/tristatelabel.h +- +diff --git a/shell/component/Label/lightlabel.cpp b/shell/component/Label/lightlabel.cpp +deleted file mode 100644 +index 14dd7f2..0000000 +--- a/shell/component/Label/lightlabel.cpp ++++ /dev/null +@@ -1,27 +0,0 @@ +-#include "lightlabel.h" +- +-LightLabel::LightLabel(QWidget *parent): +- FixLabel(parent) +-{ +- +-} +- +-LightLabel::LightLabel(QString text , QWidget *parent): +- FixLabel(parent) +-{ +- this->setText(text); +-} +- +-LightLabel::~LightLabel() +-{ +- +-} +- +-void LightLabel::paintEvent(QPaintEvent *event) +-{ +- QPalette paltte; +- paltte.setColor(QPalette::WindowText, paltte.placeholderText().color()); +- this->setPalette(paltte); +- FixLabel::paintEvent(event); +- return; +-} +diff --git a/shell/component/Label/lightlabel.h b/shell/component/Label/lightlabel.h +deleted file mode 100644 +index f60718f..0000000 +--- a/shell/component/Label/lightlabel.h ++++ /dev/null +@@ -1,18 +0,0 @@ +-#ifndef LIGHTLABEL_H +-#define LIGHTLABEL_H +-#include <QLabel> +-#include "fixlabel.h" +- +-class LightLabel : public FixLabel +-{ +- Q_OBJECT +-public: +- explicit LightLabel(QWidget *parent = nullptr); +- explicit LightLabel(QString text , QWidget *parent = nullptr); +- ~LightLabel(); +- +-protected: +- void paintEvent(QPaintEvent *event); +-}; +- +-#endif // LIGHTLABEL_H +diff --git a/shell/component/Label/titlelabel.cpp b/shell/component/Label/titlelabel.cpp +deleted file mode 100644 +index 6e722f5..0000000 +--- a/shell/component/Label/titlelabel.cpp ++++ /dev/null +@@ -1,36 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +- +-#include "titlelabel.h" +-#include <QFont> +- +-#include <QVariant> +-#include <QDebug> +- +-TitleLabel::TitleLabel(QWidget *parent): +- QLabel(parent) +-{ +- this->setContentsMargins(16,0,0,0); +-} +- +-TitleLabel::~TitleLabel() +-{ +- +-} +diff --git a/shell/component/Label/titlelabel.h b/shell/component/Label/titlelabel.h +deleted file mode 100644 +index 5e165c3..0000000 +--- a/shell/component/Label/titlelabel.h ++++ /dev/null +@@ -1,34 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef TITLE_LABEL_H +-#define TITLE_LABEL_H +- +-#include <QLabel> +- +-class TitleLabel : public QLabel +-{ +- Q_OBJECT +-public: +- TitleLabel(QWidget *parent = nullptr); +- ~TitleLabel(); +-}; +- +-#endif // TITLE_LABEL_H +- +diff --git a/shell/component/Label/tristatelabel.cpp b/shell/component/Label/tristatelabel.cpp +deleted file mode 100644 +index bbb306e..0000000 +--- a/shell/component/Label/tristatelabel.cpp ++++ /dev/null +@@ -1,146 +0,0 @@ +-#include "tristatelabel.h" +- +-static inline qreal mixQreal(qreal a, qreal b, qreal bias) +-{ +- return a + (b - a) * bias; +-} +- +-QColor mixColor(const QColor &c1, const QColor &c2, qreal bias) +-{ +- if (bias <= 0.0) { +- return c1; +- } +- if (bias >= 1.0) { +- return c2; +- } +- if (qIsNaN(bias)) { +- return c1; +- } +- +- qreal r = mixQreal(c1.redF(), c2.redF(), bias); +- qreal g = mixQreal(c1.greenF(), c2.greenF(), bias); +- qreal b = mixQreal(c1.blueF(), c2.blueF(), bias); +- qreal a = mixQreal(c1.alphaF(), c2.alphaF(), bias); +- +- return QColor::fromRgbF(r, g, b, a); +-} +- +- +-TristateLabel::TristateLabel(const QString &text, QWidget *parent) +-{ +- setText(abridge(text)); +- adjustSize(); +- QPalette pal; +- QBrush brush = pal.placeholderText(); +- QColor textColor = brush.color(); +- QString stringColor = QString("color: rgba(%1,%2,%3,%4)") +- .arg(textColor.red()) +- .arg(textColor.green()) +- .arg(textColor.blue()) +- .arg(textColor.alphaF()); +- this->setStyleSheet(stringColor); +- const QByteArray idd(THEME_QT_SCHEMA); +- QGSettings *qtSettings = new QGSettings(idd, QByteArray(), this); +- connect(qtSettings, &QGSettings::changed, this, [=](const QString &key) { +- if ("styleName" == key) { +- QPalette pal; +- QBrush brush = pal.placeholderText(); +- QColor textColor = brush.color(); +- QString stringColor = QString("color: rgba(%1,%2,%3,%4)") +- .arg(textColor.red()) +- .arg(textColor.green()) +- .arg(textColor.blue()) +- .arg(textColor.alphaF()); +- this->setStyleSheet(stringColor); +- } +- }); +-} +- +-TristateLabel::~TristateLabel() +-{ +- +-} +- +-QString TristateLabel::abridge(QString text) +-{ +- /* 设计要求,部分首页显示插件名和导航显示名不一致*/ +- if (text == "时间和日期") { +- text = "时间日期"; +- } else if (text == "区域语言") { +- text = "语言"; +- } +- +- return text; +-} +- +-void TristateLabel::mousePressEvent(QMouseEvent *event) +-{ +- if (event->button() == Qt::LeftButton) { +- +- QPalette pal; +- QBrush brush = pal.placeholderText(); +- QColor textColor = brush.color(); +- QPushButton *button = new QPushButton; +- QColor highlight = button->palette().color(QPalette::Active, QPalette::Highlight); +- QColor mix = button->palette().color(QPalette::Active, QPalette::BrightText); +- textColor = mixColor(highlight, mix, 0.2); +- QString stringColor = QString("color: rgba(%1,%2,%3,%4)") +- .arg(textColor.red()) +- .arg(textColor.green()) +- .arg(textColor.blue()) +- .arg(textColor.alphaF()); +- this->setStyleSheet(stringColor); +- mClicked = true; +- } +-} +- +-void TristateLabel::mouseReleaseEvent(QMouseEvent *event) +-{ +- if (event->button() == Qt::LeftButton) { +- mClicked = false; +- QPalette pal; +- QBrush brush = pal.placeholderText(); +- QColor textColor = brush.color(); +- QString stringColor = QString("color: rgba(%1,%2,%3,%4)") +- .arg(textColor.red()) +- .arg(textColor.green()) +- .arg(textColor.blue()) +- .arg(textColor.alphaF()); +- this->setStyleSheet(stringColor); +- emit clicked(); +- } +-} +- +-void TristateLabel::enterEvent(QEvent *e) +-{ +- Q_UNUSED(e) +- QPalette pal; +- QBrush brush = pal.placeholderText(); +- QColor textColor = brush.color(); +- QPushButton *button = new QPushButton; +- QColor highlight = button->palette().color(QPalette::Active, QPalette::Highlight); +- QColor mix = button->palette().color(QPalette::Active, QPalette::BrightText); +- textColor = mixColor(highlight, mix, 0.05); +- QString stringColor = QString("color: rgba(%1,%2,%3,%4)") +- .arg(textColor.red()) +- .arg(textColor.green()) +- .arg(textColor.blue()) +- .arg(textColor.alphaF()); +- this->setStyleSheet(stringColor); +- mMoved = true; +-} +-void TristateLabel::leaveEvent(QEvent *e) +-{ +- Q_UNUSED(e) +- mMoved = false; +- QPalette pal; +- QBrush brush = pal.placeholderText(); +- QColor textColor = brush.color(); +- QString stringColor = QString("color: rgba(%1,%2,%3,%4)") +- .arg(textColor.red()) +- .arg(textColor.green()) +- .arg(textColor.blue()) +- .arg(textColor.alphaF()); +- this->setStyleSheet(stringColor); +-} +- +diff --git a/shell/component/Label/tristatelabel.h b/shell/component/Label/tristatelabel.h +deleted file mode 100644 +index 006dddf..0000000 +--- a/shell/component/Label/tristatelabel.h ++++ /dev/null +@@ -1,36 +0,0 @@ +-#ifndef TRISTATELABEL_H +-#define TRISTATELABEL_H +- +-#include <QLabel> +-#include <QMouseEvent> +-#include <QPushButton> +-#include <QGSettings/QGSettings> +- +-#define THEME_QT_SCHEMA "org.ukui.style" +-#define MODE_QT_KEY "style-name" +- +-class TristateLabel : public QLabel +-{ +- Q_OBJECT +- +-public: +- TristateLabel(const QString &text, QWidget *parent); +- ~TristateLabel(); +- +- QString abridge(QString text); // 简写英文多长的应用名称 +- void enterEvent(QEvent *e); +- void leaveEvent(QEvent *e); +- +-protected: +- void mousePressEvent(QMouseEvent * event); +- void mouseReleaseEvent(QMouseEvent *event); +- +-private: +- bool mMoved = false; +- bool mClicked = false; +- +-signals: +- void clicked(); +-}; +- +-#endif // TRISTATELABEL_H +diff --git a/shell/component/ListDelegate/listdelegate.cpp b/shell/component/ListDelegate/listdelegate.cpp +deleted file mode 100644 +index 694f8cd..0000000 +--- a/shell/component/ListDelegate/listdelegate.cpp ++++ /dev/null +@@ -1,40 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +- +-#include "listdelegate.h" +- +-ListDelegate::ListDelegate(QObject *parent):QStyledItemDelegate(parent) +-{ +- +-} +- +-ListDelegate::~ListDelegate() +-{ +- +-} +- +-void ListDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +-{ +- QStyleOptionViewItem optionVI = option; +- if (option.state & QStyle::State_MouseOver) { +- optionVI.state &= (~QStyle::State_MouseOver); +- } +- QStyledItemDelegate::paint(painter, optionVI, index); +-} +diff --git a/shell/component/ListDelegate/listdelegate.h b/shell/component/ListDelegate/listdelegate.h +deleted file mode 100644 +index e33d5b8..0000000 +--- a/shell/component/ListDelegate/listdelegate.h ++++ /dev/null +@@ -1,40 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef LISTDELEGATE_H +-#define LISTDELEGATE_H +- +-#include <QDebug> +-#include <QObject> +-#include <QPainter> +-#include <QStyledItemDelegate> +- +-#include "libukcc_global.h" +- +- +-class LIBUKCC_EXPORT ListDelegate : public QStyledItemDelegate +-{ +-public: +- ListDelegate(QObject *parent = nullptr); +- ~ListDelegate(); +- +- virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; +-}; +- +-#endif // LISTDELEGATE_H +diff --git a/shell/component/ListDelegate/listdelegate.pri b/shell/component/ListDelegate/listdelegate.pri +deleted file mode 100644 +index 665521f..0000000 +--- a/shell/component/ListDelegate/listdelegate.pri ++++ /dev/null +@@ -1,8 +0,0 @@ +- +-#LIBINTERFACE_NAME = $$qtLibraryTarget(listdelegate) +- +-SOURCES += \ +- $$PWD/listdelegate.cpp \ +- +-HEADERS += \ +- $$PWD/listdelegate.h \ +diff --git a/shell/component/MaskWidget/maskwidget.cpp b/shell/component/MaskWidget/maskwidget.cpp +deleted file mode 100644 +index d82d238..0000000 +--- a/shell/component/MaskWidget/maskwidget.cpp ++++ /dev/null +@@ -1,50 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#include "maskwidget.h" +- +-#include <QPainter> +- +-MaskWidget::MaskWidget(QWidget *parent) : +- QWidget(parent) +-{ +-// setAttribute(Qt::WA_TranslucentBackground); +- pWidth = parent->width(); +- pHeigh = parent->height(); +- pRadius = 6; +- pColor = QString("#ffffff"); +- pBorder = 2; +-} +- +-MaskWidget::~MaskWidget() +-{ +-} +- +- +-void MaskWidget::paintEvent(QPaintEvent *event){ +- Q_UNUSED(event) +- QPainter painter(this); +- +- painter.setRenderHint(QPainter:: Antialiasing, true); //设置渲染,启动反锯齿 +- +- painter.setPen(QPen(QColor(palette().color(QPalette::Base)), pBorder)); +- +- painter.drawRect(0, 0, pWidth, pHeigh); +- painter.drawRoundedRect(0, 0, pWidth, pHeigh, pRadius, pRadius); +-} +diff --git a/shell/component/MaskWidget/maskwidget.h b/shell/component/MaskWidget/maskwidget.h +deleted file mode 100644 +index e3e1b8f..0000000 +--- a/shell/component/MaskWidget/maskwidget.h ++++ /dev/null +@@ -1,50 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef MASKWIDGET_H +-#define MASKWIDGET_H +- +-#include <QWidget> +- +-class MaskWidget : public QWidget +-{ +- Q_OBJECT +- +-public: +- explicit MaskWidget(QWidget *parent); +- ~MaskWidget(); +- +-public: +- void setDemandWidth(int w); +- void setDemandHigh(int h); +- void setDemandRadius(int r); +- void setDemandColor(int color); +- +-protected: +- void paintEvent(QPaintEvent *event); +- +-private: +- int pWidth; +- int pHeigh; +- int pRadius; +- int pBorder; +- QString pColor; +-}; +- +-#endif // MASKWIDGET_H +diff --git a/shell/component/MaskWidget/maskwidget.pri b/shell/component/MaskWidget/maskwidget.pri +deleted file mode 100644 +index 0fb9734..0000000 +--- a/shell/component/MaskWidget/maskwidget.pri ++++ /dev/null +@@ -1,8 +0,0 @@ +- +-#LIBINTERFACE_NAME = $$qtLibraryTarget(maskwidget) +- +-SOURCES += \ +- $$PWD/maskwidget.cpp \ +- +-HEADERS += \ +- $$PWD/maskwidget.h \ +diff --git a/shell/component/SwitchButton/switchbutton.cpp b/shell/component/SwitchButton/switchbutton.cpp +deleted file mode 100644 +index 6d79dab..0000000 +--- a/shell/component/SwitchButton/switchbutton.cpp ++++ /dev/null +@@ -1,326 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#include "switchbutton.h" +- +-#include <QDebug> +-#define THEME_QT_SCHEMA "org.ukui.style" +-#define THEME_GTK_SCHEMA "org.mate.interface" +-#define TIMER_INTERVAL 5 //每隔5ms动画移动一次 +-#define MOVING_STEPS 40 //动画总共移动40次 +- +-SwitchButton::SwitchButton(QWidget *parent) : +- QWidget(parent) +-{ +-// this->resize(QSize(52, 24)); +- this->setFixedSize(QSize(50, 24)); +- +- checked = false; +- hover = false; +- disabled = false; +- isMoving = false; +- isAnimation = true; +- +- space = 4; +- rectRadius = height()/2; +- +- mStep = width()/MOVING_STEPS;//也就是40次动画就可以走完,每次时间间隔是固定的5ms +- mStartX = 0; +- mEndX= 0; +- +- mTimer = new QTimer(this); +- mTimer->setInterval(TIMER_INTERVAL);//动画更新时间 +- connect(mTimer, SIGNAL(timeout()), this, SLOT(updatevalue())); +- if(QGSettings::isSchemaInstalled(THEME_GTK_SCHEMA) && QGSettings::isSchemaInstalled(THEME_QT_SCHEMA)) { +- QByteArray qtThemeID(THEME_QT_SCHEMA); +- QByteArray gtkThemeID(THEME_GTK_SCHEMA); +- +- m_gtkThemeSetting = new QGSettings(gtkThemeID,QByteArray(),this); +- m_qtThemeSetting = new QGSettings(qtThemeID,QByteArray(),this); +- +- QString style = m_qtThemeSetting->get("styleName").toString(); +- changeColor(style); +- +- connect(m_qtThemeSetting,&QGSettings::changed, [this] (const QString &key) { +- QString style = m_qtThemeSetting->get("styleName").toString(); +- if (key == "styleName") { +- changeColor(style); +- } +- }); +- } +-} +- +-SwitchButton::~SwitchButton() +-{ +-} +- +-void SwitchButton::paintEvent(QPaintEvent *){ +- +- QPainter painter(this); +- //启用反锯齿 +- painter.setRenderHint(QPainter::Antialiasing, true); +- painter.setCompositionMode(QPainter::CompositionMode_Source); +- drawBg(&painter); +- if(!isAnimation)//动画如果禁用,则圆形滑块isMoving始终为false +- isMoving =false; +- if(isMoving) +- animation(&painter); +- drawSlider(&painter); +- painter.end(); +-} +- +-void SwitchButton::changeColor(const QString &themes) { +- if (hover) { +- return ;//在鼠标下,禁止切换颜色鼠标离开时切换颜色 +- } +- if (themes == "ukui-dark" || themes == "ukui-black") { +- bgColorOff = QColor(OFF_BG_DARK_COLOR); +- bgColorOn = QColor(ON_BG_DARK_COLOR); +- rectColorEnabled = QColor(ENABLE_RECT_DARK_COLOR); +- rectColorDisabled = QColor(DISABLE_RECT_DARK_COLOR); +- sliderColorDisabled = QColor(DISABLE_RECT_DARK_COLOR); +- sliderColorEnabled = QColor(ENABLE_RECT_DARK_COLOR); +- bgHoverOnColor = QColor(ON_HOVER_BG_DARK_COLOR); +- bgHoverOffColor = QColor(OFF_HOVER_BG_DARK_COLOR); +- bgColorDisabled = QColor(DISABLE_DARK_COLOR); +- } else { +- bgColorOff = QColor(OFF_BG_LIGHT_COLOR); +- bgColorOn = QColor(ON_BG_LIGHT_COLOR); +- rectColorEnabled = QColor(ENABLE_RECT_LIGHT_COLOR); +- rectColorDisabled = QColor(DISABLE_RECT_LIGHT_COLOR); +- sliderColorDisabled = QColor(DISABLE_RECT_LIGHT_COLOR); +- sliderColorEnabled = QColor(ENABLE_RECT_LIGHT_COLOR); +- bgHoverOnColor = QColor(ON_HOVER_BG_LIGHT_COLOR); +- bgHoverOffColor = QColor(OFF_HOVER_BG_LIGHT_COLOR); +- bgColorDisabled = QColor(DISABLE_LIGHT_COLOR); +- } +-} +- +-//动画绘制 +-void SwitchButton::animation(QPainter *painter){ +- painter->save(); +- int h = height(); +- int w = width(); +- painter->setPen(Qt::NoPen); +- //颜色设置 +- if(checked){ +- //开关在左侧时 +- painter->setBrush(bgColorOn); +- rect.setRect(0,0,h+mStartX,h); +- }else{ +- painter->setBrush(bgColorOff); +- rect.setRect(mStartX,0,w-mStartX,h); +- } +- painter->drawRoundedRect(rect,rectRadius,rectRadius); +- +- painter->restore(); +-} +- +-//绘制背景 +-void SwitchButton::drawBg(QPainter *painter){ +- int w = width(); +- int h = height(); +- painter->save(); +- painter->setPen(Qt::NoPen); +- if (disabled) { +- painter->setPen(Qt::NoPen); +- painter->setBrush(bgColorDisabled); +- } else { +- if(checked){ +- if(isMoving){ +- painter->setBrush(bgColorOff); +- rect.setRect(mStartX,0,w-mStartX,h); +- }else { +- painter->setBrush(bgColorOn); +- rect.setRect(0, 0, w, h); +- } +- }else{ +- if(isMoving){ +- painter->setBrush(bgColorOn); +- rect.setRect(0,0,mStartX+h,h); +- } +- else { +- painter->setBrush(bgColorOff); +- rect.setRect(0, 0, w, h); +- } +- } +- } +- //半径为高度的一半 +- painter->drawRoundedRect(rect,rectRadius,rectRadius); +- +- painter->restore(); +-} +- +-//绘制滑块,也就是圆形按钮 +-void SwitchButton::drawSlider(QPainter *painter){ +- painter->save(); +- painter->setPen(Qt::NoPen); +- +- if (!disabled){ +- painter->setBrush(sliderColorEnabled); +- } +- else +- painter->setBrush(sliderColorDisabled); +- if (disabled) { +- if (!checked){ +- QRect smallRect(8, height() / 2 - 2, 10 , 4); +- painter->drawRoundedRect(smallRect,3,3); +- }else{ +- QRect smallRect(width() - 8 * 2, height() / 2 - 2, 10 , 4); +- painter->drawRoundedRect(smallRect,3,3); +- } +- } +- +- QRect rect(0, 0, width(), height()); +- int sliderWidth = rect.height() - space * 2; +- QRect sliderRect(mStartX + space, space, sliderWidth, sliderWidth); +- painter->drawEllipse(sliderRect); +- +- painter->restore(); +-} +- +-void SwitchButton::mousePressEvent(QMouseEvent *){ +- qDebug()<<isMoving<<checked<<disabled; +- if (isMoving) { +- return ; +- } +- if(disabled){ +- mEndX = 0; +- Q_EMIT disabledClick(); +- return ; +- }else{ +- checked = !checked; +- Q_EMIT checkedChanged(checked); +- +- mStep = width() / MOVING_STEPS; +- +- if (checked){ +- //circle out +- // endX = width() - height() + space; +- //circle in +- mEndX = width() - height(); +- } +- else { +- mEndX = 0; +- } +- mTimer->start(); +- isMoving = true; +- } +-} +- +-void SwitchButton::resizeEvent(QResizeEvent *){ +- //每次开始的x坐标都是跳过圆角,从直线的地方开始计算 +- mStep = width() / MOVING_STEPS; +- +- if (checked){ +- //circle out +-// startX = width() - height() + space; +- //circle in +- mStartX = width() - height(); +- } +- else +- mStartX = 0; +- +- rectRadius = height()/2; +- update(); +-} +-void SwitchButton::enterEvent(QEvent *event) { +- bgColorOn = bgHoverOnColor; +- bgColorOff = bgHoverOffColor; +- +- hover = true; +- update(); +- return QWidget::enterEvent(event); +-} +- +-void SwitchButton::leaveEvent(QEvent *event) { +- hover = false; +- +- QString style = m_qtThemeSetting->get("styleName").toString(); +- changeColor(style); +- +- update(); +- return QWidget::leaveEvent(event); +-} +- +-//根据事件向左还是向右移动 +-void SwitchButton::updatevalue(){ +- if (checked) +- if (mStartX < mEndX-mStep){ +- mStartX = mStartX + mStep; +- } +- else{ +- mStartX = mEndX; +- mTimer->stop(); +- isMoving = false; +- } +- else{ +- if (mStartX > mEndX+mStep){ +- mStartX = mStartX - mStep; +- } +- else{ +- mStartX = mEndX; +- mTimer->stop(); +- isMoving = false; +- } +- } +- update(); +-} +- +-void SwitchButton::setChecked(bool checked){ +- if (this->checked != checked){ +- this->checked = checked; +- Q_EMIT checkedChanged(checked); +- update(); +- } +- +- mStep = width() / MOVING_STEPS; +- +- if (checked){ +- //circle out +-// endX = width() - height() + space; +- //circle in +- mEndX = width() - height(); +- } +- else{ +- mEndX = 0; +- } +- mTimer->start(); +- isMoving = true; +-} +- +-bool SwitchButton::isChecked(){ +- return this->checked; +-} +- +-void SwitchButton::setDisabledFlag(bool value) +-{ +- disabled = value; +- update(); +-} +- +-bool SwitchButton::getDisabledFlag() +-{ +- return disabled; +-} +- +-void SwitchButton::setAnimation(bool on){ +- isAnimation = on; +-} +- +diff --git a/shell/component/SwitchButton/switchbutton.h b/shell/component/SwitchButton/switchbutton.h +deleted file mode 100644 +index 2839f60..0000000 +--- a/shell/component/SwitchButton/switchbutton.h ++++ /dev/null +@@ -1,120 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef SWITCHBUTTON_H +-#define SWITCHBUTTON_H +- +-#include <QWidget> +-#include <QTimer> +-#include <QPainter> +-#include <QPainterPath> +-#include <QEvent> +-#include <QGSettings/QGSettings> +- +-#define OFF_BG_DARK_COLOR "#404040" +-#define OFF_HOVER_BG_DARK_COLOR "#666666" +-#define ON_BG_DARK_COLOR "#3790FA" +-#define ON_HOVER_BG_DARK_COLOR "#40A9FB" +-#define DISABLE_DARK_COLOR "#474747" +-#define DISABLE_RECT_DARK_COLOR "#6E6E6E" +-#define ENABLE_RECT_DARK_COLOR "#FFFFFF" +- +-#define OFF_BG_LIGHT_COLOR "#E0E0E0" +-#define OFF_HOVER_BG_LIGHT_COLOR "#B3B3B3" +-#define ON_BG_LIGHT_COLOR "#3790FA" +-#define ON_HOVER_BG_LIGHT_COLOR "#40A9FB" +-#define DISABLE_LIGHT_COLOR "#E9E9E9" +-#define DISABLE_RECT_LIGHT_COLOR "#B3B3B3" +-#define ENABLE_RECT_LIGHT_COLOR "#FFFFFF" +- +- +-class SwitchButton : public QWidget +-{ +- Q_OBJECT +- +-public: +- SwitchButton(QWidget *parent = 0); +- ~SwitchButton(); +- +- void setChecked(bool checked); +- void setAnimation(bool on); +- +- bool isChecked(); +- void setDisabledFlag(bool); +- bool getDisabledFlag(); +-protected: +- void mousePressEvent(QMouseEvent *); +- void resizeEvent(QResizeEvent *); +- void paintEvent(QPaintEvent *); +- void enterEvent(QEvent *event); +- void leaveEvent(QEvent *event); +- +- void drawBg(QPainter * painter); +- void drawSlider(QPainter * painter); +- void changeColor(const QString &themes); +- +-private: +- bool checked; //切换的判断 +- bool disabled; +- +- void animation(QPainter *painter); +- QRect rect; +- bool isMoving; //滑块动作判断 +- bool isAnimation; // 是否允许动画执行 +- +- QColor bgColorOff; +- QColor bgColorOn; +- QColor bgHoverOnColor; +- QColor bgHoverOffColor; +- QColor bgColorDisabled; +- +- QColor sliderColorEnabled; +- QColor sliderColorDisabled; +- +- +- QColor rectColorEnabled; +- QColor rectColorDisabled; +- +- QColor sliderColorOff; +- QColor sliderColorOn; +- QGSettings *m_qtThemeSetting; +- QGSettings *m_gtkThemeSetting; +- +- int space; //滑块离背景间隔 +- int rectRadius; //圆角角度 +- +- int mStep; //移动步长 +- int mStartX; +- int mEndX; +- +- bool hover; +- QTimer * mTimer; +- +- +-private Q_SLOTS: +- void updatevalue(); +- +- +-Q_SIGNALS: +- void checkedChanged(bool checked); +- void disabledClick(); +- +-}; +- +-#endif // SWITCHBUTTON_H +diff --git a/shell/component/SwitchButton/switchbutton.pri b/shell/component/SwitchButton/switchbutton.pri +deleted file mode 100644 +index feac79a..0000000 +--- a/shell/component/SwitchButton/switchbutton.pri ++++ /dev/null +@@ -1,5 +0,0 @@ +-SOURCES += \ +- $$PWD/switchbutton.cpp \ +- +-HEADERS += \ +- $$PWD/switchbutton.h \ +diff --git a/shell/component/Uslider/uslider.cpp b/shell/component/Uslider/uslider.cpp +deleted file mode 100644 +index 6a105e2..0000000 +--- a/shell/component/Uslider/uslider.cpp ++++ /dev/null +@@ -1,133 +0,0 @@ +-#include "uslider.h" +- +-#include <QStyle> +-#include <QPainter> +-#include <QStyleOptionSlider> +-#include <QDebug> +-#include <QPalette> +- +- +-Uslider::Uslider(QStringList list, int paintValue) : QSlider(Qt::Horizontal), scaleList(list) +-{ +- this->setMinimumHeight(50); +- this->setMaximumHeight(100); +- this->paintValue = paintValue; +- this->setPageStep(0); //防止qslider的mousePressEvent对坐标造成影响 +- +- if (paintValue != 0) { //刻度值显示 +- this->setTickPosition(QSlider::TicksBelow); +- } +-} +- +-Uslider::Uslider(Qt::Orientation orientation, QWidget *parent, int paintValue) : +- QSlider(orientation, parent) +-{ +- this->paintValue = paintValue; +- this->setPageStep(0); //防止qslider的mousePressEvent对坐标造成影响 +- if (paintValue != 0) { //刻度值显示 +- this->setTickPosition(QSlider::TicksBelow); +- } +-} +- +-Uslider::Uslider(QWidget *parent, int paintValue) : QSlider(parent) +-{ +- this->paintValue = paintValue; +- this->setPageStep(0); //防止qslider的mousePressEvent对坐标造成影响 +- if (paintValue != 0) { //刻度值显示 +- this->setTickPosition(QSlider::TicksBelow); +- } +-} +- +-void Uslider::paintEvent(QPaintEvent *e) +-{ +- QSlider::paintEvent(e); +- if (paintValue == 0) //不需要刻度值显示 +- return; +- +- auto painter = new QPainter(this); +- painter->setBrush(QBrush(QColor(QPalette::Base))); +- +- auto rect = this->geometry(); +- int numTicks = (maximum() - minimum()) / tickInterval(); +- painter->setFont(this->font()); +- int total = 0; +- QFontMetrics fontMetrics = QFontMetrics(painter->font()); +- for (int i=0; i <= numTicks; i++) { +- QRect fontRect = fontMetrics.boundingRect(scaleList.at(i)); +- total += fontRect.width(); +- } +- const float interval = (rect.width() - 16) / float(numTicks); +- +- if (this->orientation() == Qt::Horizontal) { +- int fontHeight = fontMetrics.height(); +- float tickY = rect.height() / 2.0 + fontHeight + 8; +- float preTickEndX = 0.0; +- for (int i = 0; i <= numTicks; i++) { +- float tickX = 8.0 + i * interval; +- tickX = tickX - fontMetrics.boundingRect(scaleList.at(i)).width() / 2; +- if (i == numTicks) { +- while (tickX + fontMetrics.boundingRect(scaleList.at(i)).width() >= this->width()) { +- tickX = tickX - 1; +- } +- if (tickX < preTickEndX + 4) { +- QFont fontText; +- int pointSize = painter->font().pointSize() - 1; +- if (pointSize < 1) { +- pointSize = 1; +- } +- fontText.setPointSize(pointSize); +- painter->setFont(fontText); +- fontMetrics = QFontMetrics(painter->font()); +- if (pointSize > 1) { //避免 == 1死循环 +- i--; +- continue; +- } +- } +- } else if (i == 0){ +- if (tickX < 0) { +- tickX = 0; +- } +- } +- preTickEndX = tickX + fontMetrics.boundingRect(scaleList.at(i)).width(); +- painter->drawText(QPointF(tickX, tickY), +- this->scaleList.at(i)); +- } +- } +- painter->end(); +-} +- +-void Uslider::wheelEvent(QWheelEvent *ev) +-{ +- if (isMouseCliked) +- return QSlider::wheelEvent(ev); +-} +- +-void Uslider::leaveEvent(QEvent *ev) +-{ +- isMouseCliked = false; +-} +- +-//重写鼠标点击事件 +-void Uslider::mousePressEvent(QMouseEvent *ev) +-{ +- int value = 0; +- int currentX = ev->pos().x(); +- double per = currentX * 1.0 / this->width(); +- if ((this->maximum() - this->minimum()) >= 50) { //减小鼠标点击像素的影响 +- value = qRound(per*(this->maximum() - this->minimum())) + this->minimum(); +- if (value <= (this->maximum() / 2 - this->maximum() / 10 + this->minimum() / 10)) { +- value = qRound(per*(this->maximum() - this->minimum() - 1)) + this->minimum(); +- } else if (value > (this->maximum() / 2 + this->maximum() / 10 + this->minimum() / 10)) { +- value = qRound(per*(this->maximum() - this->minimum() + 1)) + this->minimum(); +- } else { +- value = qRound(per*(this->maximum() - this->minimum())) + this->minimum(); +- } +- } else { +- value = qRound(per*(this->maximum() - this->minimum())) + this->minimum(); +- } +- this->setValue(value); +- isMouseCliked = true; +- QSlider::mousePressEvent(ev); //必须放在后面,否则点击拖动无法使用(待优化) +-} +- +- +diff --git a/shell/component/Uslider/uslider.h b/shell/component/Uslider/uslider.h +deleted file mode 100644 +index 74ae096..0000000 +--- a/shell/component/Uslider/uslider.h ++++ /dev/null +@@ -1,29 +0,0 @@ +-#ifndef USLIDER_H +-#define USLIDER_H +- +-#include <QSlider> +-#include <QPaintEvent> +-#include <QWidget> +-#include <QStringList> +- +-class Uslider : public QSlider +-{ +- +-public: +- Uslider(QStringList list, int paintValue = 1); +- Uslider(Qt::Orientation orientation, QWidget *parent = nullptr, int paintValue = 0); +- Uslider(QWidget *parent = nullptr, int paintValue = 0); +- QStringList scaleList; +- +-protected: +- void mousePressEvent(QMouseEvent *ev); +- void paintEvent(QPaintEvent *ev); +- void wheelEvent(QWheelEvent *ev); +- void leaveEvent(QEvent *ev); +-private: +- int paintValue; +- bool isMouseCliked = false; +-}; +- +-#endif // USLIDER_H +- +diff --git a/shell/component/Uslider/uslider.pri b/shell/component/Uslider/uslider.pri +deleted file mode 100644 +index 02bc38d..0000000 +--- a/shell/component/Uslider/uslider.pri ++++ /dev/null +@@ -1,9 +0,0 @@ +-#LIBINTERFACE_NAME = $$qtLibraryTarget(uslier) +- +-SOURCES += \ +- $$PWD/uslider.cpp \ +- +-HEADERS += \ +- $$PWD/uslider.h \ +- +- +diff --git a/shell/component/hoverwidget.cpp b/shell/component/hoverwidget.cpp +deleted file mode 100644 +index 3499fd4..0000000 +--- a/shell/component/hoverwidget.cpp ++++ /dev/null +@@ -1,67 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#include "hoverwidget.h" +- +-#include <QPainter> +-#include <QStyleOption> +- +-#include <QDebug> +- +-ResHoverWidget::ResHoverWidget(QString mname, QWidget *parent) : +- QWidget(parent), +- _name(mname) +-{ +- setAttribute(Qt::WA_DeleteOnClose); +-} +- +-ResHoverWidget::~ResHoverWidget() +-{ +-} +- +-void ResHoverWidget::enterEvent(QEvent *event){ +- emit enterWidget(_name); +- +- QWidget::enterEvent(event); +-} +- +-void ResHoverWidget::leaveEvent(QEvent *event){ +- emit leaveWidget(_name); +- +- QWidget::leaveEvent(event); +-} +- +-void ResHoverWidget::mousePressEvent(QMouseEvent *event){ +- +- if (event->button() == Qt::LeftButton){ +- emit widgetClicked(_name); +- } +- +- QWidget::mousePressEvent(event); +-} +- +-//子类化一个QWidget,为了能够使用样式表,则需要提供paintEvent事件。 +-//这是因为QWidget的paintEvent()是空的,而样式表要通过paint被绘制到窗口中。 +-void ResHoverWidget::paintEvent(QPaintEvent *event){ +- Q_UNUSED(event) +- QStyleOption opt; +- opt.init(this); +- QPainter p(this); +- style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); +-} +diff --git a/shell/component/hoverwidget.h b/shell/component/hoverwidget.h +deleted file mode 100644 +index 56076d2..0000000 +--- a/shell/component/hoverwidget.h ++++ /dev/null +@@ -1,52 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program 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 General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef HOVERWIDGET_H +-#define HOVERWIDGET_H +- +-#include <QWidget> +-#include <QEvent> +-#include <QMouseEvent> +- +-class ResHoverWidget : public QWidget +-{ +- Q_OBJECT +- +-public: +- explicit ResHoverWidget(QString mname, QWidget *parent = 0); +- ~ResHoverWidget(); +- +-public: +- QString _name; +- +-protected: +- virtual void enterEvent(QEvent * event); +- virtual void leaveEvent(QEvent * event); +- virtual void paintEvent(QPaintEvent * event); +- +- virtual void mousePressEvent(QMouseEvent * event); +- +-Q_SIGNALS: +- void enterWidget(QString name); +- void leaveWidget(QString name); +- +- void widgetClicked(QString name); +-}; +- +-#endif // HOVERWIDGET_H +diff --git a/shell/component/leftmenulist.cpp b/shell/component/leftmenulist.cpp +index 290d985..6f14de5 100644 +--- a/shell/component/leftmenulist.cpp ++++ b/shell/component/leftmenulist.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "leftmenulist.h" + + #include <QDebug> +diff --git a/shell/customstyle.cpp b/shell/customstyle.cpp +index c58e458..3fe1f10 100644 +--- a/shell/customstyle.cpp ++++ b/shell/customstyle.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "customstyle.h" + + #include <QDebug> +diff --git a/shell/iconbutton.cpp b/shell/iconbutton.cpp +index abe6026..e387fd1 100644 +--- a/shell/iconbutton.cpp ++++ b/shell/iconbutton.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "iconbutton.h" + #include <QApplication> + #include <QSvgRenderer> +diff --git a/shell/leftsidebarwidget.cpp b/shell/leftsidebarwidget.cpp +index 631335b..12fd2a1 100644 +--- a/shell/leftsidebarwidget.cpp ++++ b/shell/leftsidebarwidget.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "leftsidebarwidget.h" + #include <QDebug> + #include <QGSettings> +diff --git a/shell/mainwindow.cpp b/shell/mainwindow.cpp +index b9d761c..71c80b1 100644 +--- a/shell/mainwindow.cpp ++++ b/shell/mainwindow.cpp +@@ -111,9 +111,9 @@ MainWindow::~MainWindow() + ui = nullptr; + } + +-void MainWindow::preInit() { ++void MainWindow::preInit() ++{ + m_searchWidget = new SearchWidget(this); +- m_searchWidget->setContextMenuPolicy(Qt::NoContextMenu); + connect(m_searchWidget, &SearchWidget::notifyModuleSearch, this, &MainWindow::switchPage); + m_searchWidget->setFixedWidth(240); + m_ModuleMap = UkccCommon::getModuleHideStatus(); +diff --git a/shell/mstackwidget.cpp b/shell/mstackwidget.cpp +index 4209d24..543d999 100644 +--- a/shell/mstackwidget.cpp ++++ b/shell/mstackwidget.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "mstackwidget.h" + #include <QPainter> + #include <QPainterPath> +diff --git a/shell/pinyin.cpp b/shell/pinyin.cpp +index 16f3a3e..daecdb6 100644 +--- a/shell/pinyin.cpp ++++ b/shell/pinyin.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "pinyin.h" + + #include <QFile> +diff --git a/shell/prescene.cpp b/shell/prescene.cpp +index 7428a89..c227c03 100644 +--- a/shell/prescene.cpp ++++ b/shell/prescene.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "prescene.h" + + #include <QPainter> +diff --git a/shell/searchwidget.cpp b/shell/searchwidget.cpp +index 8437822..b361730 100644 +--- a/shell/searchwidget.cpp ++++ b/shell/searchwidget.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "searchwidget.h" + #include "pinyin.h" + #include "homepagewidget.h" +diff --git a/shell/titlewidget.cpp b/shell/titlewidget.cpp +index 462c410..0ebaf5a 100644 +--- a/shell/titlewidget.cpp ++++ b/shell/titlewidget.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "titlewidget.h" + #include <QPainter> + #include <QDebug> +diff --git a/shell/type.cpp b/shell/type.cpp +index a60bf1a..9a4f05a 100644 +--- a/shell/type.cpp ++++ b/shell/type.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "type.h" + + const QDBusArgument &operator<<(QDBusArgument &argument, const QStringPair &string) +diff --git a/shell/ukccsearchserver.cpp b/shell/ukccsearchserver.cpp +index 71c617a..fb098a8 100644 +--- a/shell/ukccsearchserver.cpp ++++ b/shell/ukccsearchserver.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "ukccsearchserver.h" + #include "interface.h" + +diff --git a/shell/utils/modulefactory.cpp b/shell/utils/modulefactory.cpp +index 833dc6b..9298c30 100644 +--- a/shell/utils/modulefactory.cpp ++++ b/shell/utils/modulefactory.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include "modulefactory.h" + #include <QDir> + #include <QSettings> +diff --git a/tastenbrett/application.cpp b/tastenbrett/application.cpp +deleted file mode 100644 +index 2a075b2..0000000 +--- a/tastenbrett/application.cpp ++++ /dev/null +@@ -1,36 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#include "application.h" +- +-#include <QKeyEvent> +- +-bool Application::notify(QObject *receiver, QEvent *event) +-{ +- if (event->type() == QEvent::KeyPress || event->type() == QEvent::KeyRelease) { +- emit keyEvent(dynamic_cast<QKeyEvent *>(event)); +- } +- return QGuiApplication::notify(receiver,event); +-} +- +-Application *Application::instance() +-{ +- return qobject_cast<Application *>(qGuiApp); +-} +diff --git a/tastenbrett/application.h b/tastenbrett/application.h +deleted file mode 100644 +index 762b74e..0000000 +--- a/tastenbrett/application.h ++++ /dev/null +@@ -1,44 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#ifndef APPLICATION_H +-#define APPLICATION_H +- +-#include <QGuiApplication> +-#include <QVariant> +- +-class QKeyEvent; +- +-// Simple QGuiApp overlay to gobble up all key events for input-detection. +-class Application final : public QGuiApplication +-{ +- Q_OBJECT +-public: +- using QGuiApplication::QGuiApplication; +- +- bool notify(QObject *receiver, QEvent *event) override; +- +- static Application *instance(); +- +-Q_SIGNALS: +- void keyEvent(QKeyEvent *event); +-}; +- +-#endif // APPLICATION_H +diff --git a/tastenbrett/config-workspace.h b/tastenbrett/config-workspace.h +deleted file mode 100644 +index 7c893d0..0000000 +--- a/tastenbrett/config-workspace.h ++++ /dev/null +@@ -1,166 +0,0 @@ +-/* config-workspace.h. Generated by cmake from config-workspace.h.cmake */ +- +-/* #undef HAVE_QIMAGEBLITZ */ +- +-/* Define if you have DPMS support */ +-#define HAVE_DPMS 1 +- +-/* Define if you have the DPMSCapable prototype in <X11/extensions/dpms.h> */ +-/* #undef HAVE_DPMSCAPABLE_PROTO */ +- +-/* Define if you have the DPMSInfo prototype in <X11/extensions/dpms.h> */ +-/* #undef HAVE_DPMSINFO_PROTO */ +- +-/* Defines if your system has the libfontconfig library */ +-#define HAVE_FONTCONFIG 1 +- +-/* Defines if your system has the freetype library */ +-#define HAVE_FREETYPE 1 +- +-/* Define if you have gethostname */ +-/* #undef HAVE_GETHOSTNAME */ +- +-/* Define if you have the gethostname prototype */ +-/* #undef HAVE_GETHOSTNAME_PROTO */ +- +-/* Define to 1 if you have the `getpeereid' function. */ +-/* #undef HAVE_GETPEEREID */ +- +-/* Defines if you have Solaris' libkstat */ +-/* #undef HAVE_KSTAT */ +- +-/* Define if you have long long as datatype */ +-/* #undef HAVE_LONG_LONG */ +- +-/* Define to 1 if you have the `nice' function. */ +-/* #undef HAVE_NICE */ +- +-/* Define to 1 if you have the <sasl.h> header file. */ +-/* #undef HAVE_SASL_H */ +- +-/* Define to 1 if you have the <sasl/sasl.h> header file. */ +-/* #undef HAVE_SASL_SASL_H */ +- +-/* Define to 1 if you have the `setpriority' function. */ +-#define HAVE_SETPRIORITY 1 +- +-/* Define to 1 if you have the `sigaction' function. */ +-/* #undef HAVE_SIGACTION */ +- +-/* Define to 1 if you have the `sigset' function. */ +-/* #undef HAVE_SIGSET */ +- +-/* Define to 1 if you have statvfs */ +-#define HAVE_STATVFS 1 +- +-/* Define to 1 if you have the <string.h> header file. */ +-/* #undef HAVE_STRING_H */ +- +-/* Define if you have the struct ucred */ +-/* #undef HAVE_STRUCT_UCRED */ +- +-/* Define to 1 if you have the <sys/loadavg.h> header file. */ +-/* #undef HAVE_SYS_LOADAVG_H */ +- +-/* Define to 1 if you have the <sys/mount.h> header file. */ +-#define HAVE_SYS_MOUNT_H 1 +- +-/* Define to 1 if you have the <sys/param.h> header file. */ +-#define HAVE_SYS_PARAM_H 1 +- +-/* Define to 1 if you have the <sys/statfs.h> header file. */ +-#define HAVE_SYS_STATFS_H 1 +- +-/* Define to 1 if you have the <sys/statvfs.h> header file. */ +-#define HAVE_SYS_STATVFS_H 1 +- +-/* Define to 1 if you have statfs(). */ +-#define HAVE_STATFS 1 +- +-/* Define to 1 if you have the <sys/select.h> header file. */ +-/* #undef HAVE_SYS_SELECT_H */ +- +-/* Define to 1 if you have the <sys/socket.h> header file. */ +-/* #undef HAVE_SYS_SOCKET_H */ +- +-/* Define to 1 if you have the <sys/time.h> header file. */ +-#define HAVE_SYS_TIME_H 1 +- +-/* Define to 1 if you have the <sys/types.h> header file. */ +-/* #undef HAVE_SYS_TYPES_H */ +- +-/* Define to 1 if you have the <sys/vfs.h> header file. */ +-#define HAVE_SYS_VFS_H 1 +- +-/* Define to 1 if you have the <sys/wait.h> header file. */ +-/* #undef HAVE_SYS_WAIT_H */ +- +-/* Define to 1 if you have the <unistd.h> header file. */ +-#define HAVE_UNISTD_H 1 +- +-/* Define to 1 if you have the <stdint.h> header file. */ +-#define HAVE_STDINT_H 1 +- +-/* Define to 1 if you have the <malloc.h> header file. */ +-#define HAVE_MALLOC_H 1 +- +-/* Define if you have unsetenv */ +-/* #undef HAVE_UNSETENV */ +- +-/* Define if you have the unsetenv prototype */ +-/* #undef HAVE_UNSETENV_PROTO */ +- +-/* Define if you have usleep */ +-/* #undef HAVE_USLEEP */ +- +-/* Define if you have the usleep prototype */ +-/* #undef HAVE_USLEEP_PROTO */ +- +-/* Define to 1 if you have the `vsnprintf' function. */ +-/* #undef HAVE_VSNPRINTF */ +- +-/* Define to 1 if you have the Wayland libraries. */ +-/* #undef WAYLAND_FOUND */ +- +-/* KDE's default home directory */ +-/* #undef KDE_DEFAULT_HOME */ +- +-/* KDE's binaries directory */ +-#define KDE_BINDIR "bin" +- +-/* KDE's configuration directory */ +-#define KDE_CONFDIR "/etc/xdg" +- +-/* KDE's static data directory */ +-#define KDE_DATADIR "share" +- +-/* Define where your java executable is */ +-#undef PATH_JAVA +- +-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ +-/* #undef TIME_WITH_SYS_TIME */ +- +-/* xkb resources directory */ +-#define XKBDIR "/usr/share/X11/xkb" +- +-/* KWin binary name */ +-#define KWIN_BIN "kwin_x11" +- +-/* Number of bits in a file offset, on hosts where this is settable. */ +-#define _FILE_OFFSET_BITS 64 +- +-/* Define 1 if the Breeze window decoration was found */ +-#define HAVE_BREEZE_DECO 1 +- +-#ifdef HAVE_BREEZE_DECO +-#define BREEZE_KDECORATION_PLUGIN_ID "org.kde.breeze" +-#endif +- +-/* +- * On HP-UX, the declaration of vsnprintf() is needed every time ! +- */ +- +-/* type to use in place of socklen_t if not defined */ +-#define kde_socklen_t socklen_t +- +-#define WORKSPACE_VERSION_STRING "5.18.3" +diff --git a/tastenbrett/doodad.cpp b/tastenbrett/doodad.cpp +deleted file mode 100644 +index 1d12d4f..0000000 +--- a/tastenbrett/doodad.cpp ++++ /dev/null +@@ -1,93 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#include "doodad.h" +- +-#include <QKeyEvent> +-#include <QX11Info> +- +-#include "application.h" +-#include "shape.h" +- +-Doodad *Doodad::factorize(XkbDoodadPtr doodad, XkbDescPtr xkb, QObject *parent) +-{ +- switch (doodad->any.type) { +- case XkbOutlineDoodad: +- case XkbSolidDoodad: +- return new ShapeDoodad(doodad, xkb, parent); +- case XkbTextDoodad: +- return new TextDoodad(doodad, xkb, parent); +- case XkbIndicatorDoodad: +- return new IndicatorDoodad(doodad, xkb, parent); +- case XkbLogoDoodad: +- return new LogoDoodad(doodad, xkb, parent); +- } +- +- Q_UNREACHABLE(); +- return nullptr; +-} +- +-Doodad::Doodad(XkbDoodadPtr doodad_, XkbDescPtr xkb_, QObject *parent) +- : XkbObject(xkb_, parent) +- , doodad(doodad_) +-{ +-} +- +-ShapeDoodad::ShapeDoodad(XkbDoodadPtr doodad_, XkbDescPtr xkb_, QObject *parent) +- : Doodad(doodad_, xkb_, parent) +- , shape(new Shape(xkb->geom->shapes + doodad_->shape.shape_ndx, xkb, this)) +- , outlineOnly(doodad->any.type == XkbOutlineDoodad) +-{ +-} +- +-TextDoodad::TextDoodad(XkbDoodadPtr doodad_, XkbDescPtr xkb_, QObject *parent) +- : Doodad(doodad_, xkb_, parent) +-{ +-} +- +-IndicatorDoodad::IndicatorDoodad(XkbDoodadPtr doodad_, XkbDescPtr xkb_, QObject *parent) +- : Doodad(doodad_, xkb_, parent) +- , shape(new Shape(xkb->geom->shapes + doodad_->indicator.shape_ndx, xkb, this)) +-{ +- connect(Application::instance(), &Application::keyEvent, +- this, &IndicatorDoodad::refreshState); +- refreshState(); +-} +- +-void IndicatorDoodad::refreshState() +-{ +- int onInt = False; +- if (!XkbGetNamedIndicator(QX11Info::display(), +- doodad->indicator.name, +- nullptr, +- &onInt, +- nullptr, +- nullptr)) { +- on = false; +- } else { +- on = onInt == True ? true : false; +- } +- emit onChanged(); +-} +- +-LogoDoodad::LogoDoodad(XkbDoodadPtr doodad_, XkbDescPtr xkb_, QObject *parent) +- : ShapeDoodad(doodad_, xkb_, parent) +-{ +-} +diff --git a/tastenbrett/doodad.h b/tastenbrett/doodad.h +deleted file mode 100644 +index be45e2b..0000000 +--- a/tastenbrett/doodad.h ++++ /dev/null +@@ -1,157 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#ifndef DOODAD_H +-#define DOODAD_H +- +-#include <QColor> +-#include <QVariant> +- +-#include "xkbobject.h" +- +-class Shape; +- +-class Doodad : public XkbObject +-{ +- Q_OBJECT +- +-#define D_P(type, name) \ +-private: \ +- Q_PROPERTY(type name READ auto_prop_##name CONSTANT) \ +-public: \ +- type auto_prop_##name () const { return doodad->any. name ; } +- +- D_P(unsigned char, priority) +- +- static Doodad *factorize(XkbDoodadPtr doodad, XkbDescPtr xkb, QObject *parent); +- +- XkbDoodadPtr doodad = nullptr; +- +-protected: +- Doodad(XkbDoodadPtr doodad_, XkbDescPtr xkb_, QObject *parent = nullptr); +-}; +- +-class ShapeDoodad : public Doodad +-{ +- Q_OBJECT +- +-#define SD_P(type, name) \ +-private: \ +- Q_PROPERTY(type name READ auto_prop_##name CONSTANT) \ +-public: \ +- type auto_prop_##name () const { return doodad->shape. name ; } +- +- SD_P(short, top) +- SD_P(short, left) +- SD_P(short, angle) +- +- Q_PROPERTY(Shape *shape MEMBER shape CONSTANT) +- Q_PROPERTY(QColor color MEMBER color CONSTANT) +- // Whether this shape is an outline only. If it is not it's solid/filled. +- Q_PROPERTY(bool outlineOnly MEMBER outlineOnly CONSTANT) +- +-public: +- ShapeDoodad(XkbDoodadPtr doodad_, XkbDescPtr xkb_, QObject *parent = nullptr); +- +- Shape *shape = nullptr; +- QColor color; +- bool outlineOnly = false; +-}; +- +-class TextDoodad : public Doodad +-{ +- Q_OBJECT +- +-#define TD_P(type, name) \ +-private: \ +- Q_PROPERTY(type name READ auto_prop_##name CONSTANT) \ +-public: \ +- type auto_prop_##name () const { return doodad->text. name ; } +- +- TD_P(short, top) +- TD_P(short, left) +- TD_P(short, angle) +- TD_P(short, width) +- TD_P(short, height) +- TD_P(QString, text) +- TD_P(QString, font) +-public: +- TextDoodad(XkbDoodadPtr doodad_, XkbDescPtr xkb_, QObject *parent = nullptr); +- +- Shape *shape = nullptr; +-}; +- +-// NB: This is technically kind of like a shape doodad, but in reality +-// only top/left/angle are actually equal across doodad.indicator. and doodad.shape. +-// As such there is no benefit in modelling the classes like there is inheritance +-// because there really isn't. The actual shape definition is abstracted by +-// Shape objects in either case. +-// On the GUI side this can still be rendered like a shape, since it has a Shape*, +-// it's just not specifically a shape doodad. +-class IndicatorDoodad : public Doodad +-{ +- Q_OBJECT +- +-#define ID_P(type, name) \ +-private: \ +- Q_PROPERTY(type name READ auto_prop_##name CONSTANT) \ +-public: \ +- type auto_prop_##name () const { return doodad->indicator. name ; } +- +- ID_P(short, top) +- ID_P(short, left) +- ID_P(short, angle) +- +- Q_PROPERTY(Shape *shape MEMBER shape CONSTANT) +- Q_PROPERTY(bool on MEMBER on NOTIFY onChanged) +-public: +- IndicatorDoodad(XkbDoodadPtr doodad_, XkbDescPtr xkb_, QObject *parent = nullptr); +- +- Shape *shape = nullptr; +- bool on = false; +- +-signals: +- void onChanged(); +- +-private slots: +- void refreshState(); +-}; +- +-class LogoDoodad : public ShapeDoodad +-{ +- Q_OBJECT +- +-#define LD_P(type, name) \ +-private: \ +- Q_PROPERTY(type name READ auto_prop_##name CONSTANT) \ +-public: \ +- type auto_prop_##name () const { return doodad->logo. name ; } +- +- LD_P(short, top) +- LD_P(short, left) +- LD_P(short, angle) +- LD_P(QString, logo_name) +-public: +- LogoDoodad(XkbDoodadPtr doodad_, XkbDescPtr xkb_, QObject *parent = nullptr); +- +- Shape *shape = nullptr; +-}; +- +-#endif // DOODAD_H +diff --git a/tastenbrett/geometry.cpp b/tastenbrett/geometry.cpp +deleted file mode 100644 +index 2224471..0000000 +--- a/tastenbrett/geometry.cpp ++++ /dev/null +@@ -1,45 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#include "geometry.h" +- +-#include <QDebug> +- +-#include "doodad.h" +-#include "section.h" +- +-Geometry::Geometry(XkbGeometryPtr geom_, XkbDescPtr xkb_, QObject *parent) +- : XkbObject(xkb_, parent) +- , geom(geom_) +- , widthMM(geom->width_mm) +- , heightMM(geom->height_mm) +-{ +- for (int i = 0; i < geom->num_doodads; ++i) { +- Doodad *o = Doodad::factorize(geom->doodads + i, xkb, this); +- if (!o) { +- continue; +- } +- doodads.push_back(o); +- } +- +- for (int i = 0; i < geom->num_sections; ++i) { +- sections.push_back(new Section(geom->sections + i, xkb, this)); +- } +-} +diff --git a/tastenbrett/geometry.h b/tastenbrett/geometry.h +deleted file mode 100644 +index e9e0848..0000000 +--- a/tastenbrett/geometry.h ++++ /dev/null +@@ -1,47 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#ifndef GEOMETRY_H +-#define GEOMETRY_H +- +-#include <QVariant> +- +-#include "xkbobject.h" +- +-class Geometry : public XkbObject +-{ +- Q_OBJECT +- Q_PROPERTY(QList<QObject *> doodads MEMBER doodads CONSTANT) +- Q_PROPERTY(QList<QObject *> sections MEMBER sections CONSTANT) +- Q_PROPERTY(qreal widthMM MEMBER widthMM CONSTANT) +- Q_PROPERTY(qreal heightMM MEMBER heightMM CONSTANT) +-public: +- Geometry(XkbGeometryPtr geom_, XkbDescPtr xkb_, QObject *parent = nullptr); +- +- XkbGeometryPtr geom = nullptr; +- +- QList<QObject *> doodads; +- QList<QObject *> sections; +- +- qreal widthMM = -1; +- qreal heightMM = -1; +-}; +- +-#endif // GEOMETRY_H +diff --git a/tastenbrett/key.cpp b/tastenbrett/key.cpp +deleted file mode 100644 +index 9bb53b7..0000000 +--- a/tastenbrett/key.cpp ++++ /dev/null +@@ -1,264 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#include "key.h" +- +-#include <QDebug> +-#include <QKeyEvent> +-#include <QMetaEnum> +- +-#include <X11/keysym.h> +-#include <xkbcommon/xkbcommon.h> +- +-#include "application.h" +-#include "shape.h" +- +-static QString xkbKeysymToName(xkb_keysym_t keysym) +-{ +- QVarLengthArray<char, 32> chars(32); +- Q_ASSERT(chars.size() >= 0); // ensure cast to size_t +- +- const int size = xkb_keysym_get_name(keysym, chars.data(), static_cast<size_t>(chars.size())); +- if (Q_UNLIKELY(size > chars.size())) { +- chars.resize(size); +- xkb_keysym_get_name(keysym, chars.data(), static_cast<size_t>(chars.size())); +- } +- +- return QString::fromUtf8(chars.constData(), size); +-} +- +-static QString xkbKeysymToUtf8(xkb_keysym_t keysym) +-{ +- QVarLengthArray<char, 32> chars(32); +- Q_ASSERT(chars.size() >= 0); // ensure cast to size_t +- +- const int size = xkb_keysym_to_utf8(keysym, chars.data(), static_cast<size_t>(chars.size())); +- if (Q_UNLIKELY(size > chars.size())) { +- chars.resize(size); +- xkb_keysym_to_utf8(keysym, chars.data(), static_cast<size_t>(chars.size())); +- } +- +- return QString::fromUtf8(chars.constData(), size); +-} +- +-static QString keySymToString(KeySym keysym) { +- // Strangely enough xkbcommons's UTF map is incomplete with regards to +- // dead keys. Extend it a bit. +- static QHash<unsigned long, char> deadMap { +- { XK_dead_grave, 0x0060 }, +- { XK_dead_acute, 0x00b4 }, +- { XK_dead_circumflex, 0x02c6 }, +- { XK_dead_tilde, 0x02dc }, +- { XK_dead_macron, 0x00af }, +- { XK_dead_breve, 0x02D8 }, +- { XK_dead_abovedot, 0x02D9 }, +- { XK_dead_diaeresis, 0x00A8 }, +- { XK_dead_abovering, 0x02DA }, +- { XK_dead_doubleacute, 0x02DD }, +- { XK_dead_caron, 0x02C7 }, +- { XK_dead_cedilla, 0x00B8 }, +- { XK_dead_ogonek, 0x02DB }, +- { XK_dead_iota, 0x0269 }, +- { XK_dead_voiced_sound, 0x309B }, +- { XK_dead_semivoiced_sound, 0x309A }, +- { XK_dead_belowdot, 0x0323 }, +- { XK_dead_hook, 0x0309 }, +- { XK_dead_horn, 0x031b }, +- { XK_dead_stroke, 0x0335 }, +- { XK_dead_abovecomma, 0x0312 }, +- { XK_dead_abovereversedcomma, 0x0314 }, +- { XK_dead_doublegrave, 0x030f }, +- { XK_dead_belowring, 0x0325 }, +- { XK_dead_belowmacron, 0x0331 }, +- { XK_dead_belowcircumflex, 0x032D }, +- { XK_dead_belowtilde, 0x0330 }, +- { XK_dead_belowbreve, 0x032e }, +- { XK_dead_belowdiaeresis, 0x0324 }, +- { XK_dead_invertedbreve, 0x0311 }, +- { XK_dead_belowcomma, 0x0326 }, +- { XK_dead_currency, 0x00A4 }, +- { XK_dead_a, 0x0061 }, +- { XK_dead_A, 0x0041 }, +- { XK_dead_e, 0x0065 }, +- { XK_dead_E, 0x0045 }, +- { XK_dead_i, 0x0069 }, +- { XK_dead_I, 0x0049 }, +- { XK_dead_o, 0x006f }, +- { XK_dead_O, 0x004f }, +- { XK_dead_u, 0x0075 }, +- { XK_dead_U, 0x0055 }, +- { XK_dead_small_schwa, 0x0259 }, +- { XK_dead_capital_schwa, 0x018F }, +- }; +- +- // XKB has fairly OK unicode maps, unfortunately it is +- // overzaelous and will for example return "U+001B" for +- // Esc which is a non-printable control character and +- // also not present in most fonts. As such it is +- // worthless to use and we'll discard unicode strings that +- // contain non-printable characters (ignore null). +- // This will lead to one of the stringy name fallbacks to handle +- // these cases and produce for example 'Escape' +- +- if (keysym == 0 /* NoSymbol */ || keysym == XK_VoidSymbol) { +- return QString(); +- } +- +- QString str; +- +- // Smartly xlib uses ulong and xkbcommon uses uint32 for syms, +- // so we'd best make sure that we can even cast the symbol before +- // tryint to do xkb mappings. Otherwise skip to fallbacks right away. +- const xkb_keysym_t xkbKeysym = static_cast<xkb_keysym_t>(keysym) ; +- if (static_cast<KeySym>(xkbKeysym) == keysym) { +- str = xkbKeysymToUtf8(xkbKeysym); +- +- for (const auto &c : str) { +- if (!c.isPrint() && !c.isNull()) { +- str = ""; +- break; +- } +- } +- +- if (str.isEmpty()) { +- str = xkbKeysymToName(xkbKeysym); +- } +- } +- +- if (str.isEmpty()) { +- str = XKeysymToString(keysym); +- // X11 keys can be of the form "Control_L". +- // Split them so they are easier on the eyes. +- str = str.replace('_', ' '); +- } +- +- if (deadMap.contains(keysym)) { +- str = QChar(deadMap[keysym]); +- } +- +- return str.replace('_', ' '); +-} +- +-KeyCap::KeyCap(const QString symbols[], QObject *parent) +- : QObject(parent) +- , topLeft(symbols[Level::TopLeft]) +- , topRight(symbols[Level::TopRight]) +- , bottomLeft(symbols[Level::BottomLeft]) +- , bottomRight(symbols[Level::BottomRight]) +-{ +- // To remove string of '\u0000' +- if (2 == topLeft.length()) { +- topLeft = topLeft.left(topLeft.length() - 1); +- } +- if (2 == bottomLeft.length()) { +- bottomLeft = bottomLeft.left(bottomLeft.length() - 1); +- } +-} +- +-Key::Key(XkbKeyPtr key_, XkbDescPtr xkb_, QObject *parent) +- : XkbObject(xkb_, parent) +- , key(key_) +- , shape(new Shape(xkb->geom->shapes + key->shape_ndx, xkb, this)) +- , name(key_->name.name, XkbKeyNameLength) +- , nativeScanCode(nativeScanCodeFromName(name)) +- , cap(resolveCap()) +- , pressed(false) +-{ +- qRegisterMetaType<Shape *>(); +- +- connect(Application::instance(), &Application::keyEvent, +- this, [this](QKeyEvent *event) +- { +- Q_ASSERT(event); +- if (event->nativeScanCode() == nativeScanCode) { +- pressed = event->type() == QKeyEvent::KeyPress; +- emit pressedChanged(); +- } +- }); +-} +- +-uint Key::nativeScanCodeFromName(const QByteArray &needle) +-{ +- for (uint keycode = xkb->min_key_code; keycode <= xkb->max_key_code; ++keycode) { +- XkbKeyNameRec key = xkb->names->keys[keycode]; +- const QByteArray name(key.name, XkbKeyNameLength); +- if (name == needle) { +- return keycode; +- } +- } +- +- for (int i = 0; i < xkb->names->num_key_aliases; ++i) { +- XkbKeyAliasRec alias = xkb->names->key_aliases[i]; +- const QByteArray name(alias.alias, XkbKeyNameLength); +- if (name == needle) { +- return nativeScanCodeFromName(alias.real); +- } +- } +- +- return INVALID_KEYCODE; +-} +- +-KeyCap *Key::resolveCap() +-{ +- // Documentation TLDR +- // - Levels are accessed by a modifier switching the keyboard to different symbols +- // such as hitting Shift and getting access to Shift+1=! +- // - Groups are an additional system which considers the entire keyboard switched +- // to a different symbol set. Such as the entire keyboard being Latin or Cyrillic. +- // Within each group there may be N Levels. The keyboard therefor has N Groups with +- // each having M levels. +- // For the purposes of key cap resolution we'll only look at the first group and the +- // first 4 levels within that group (top-left, top-right, bottom-left, bottom-right). +- +- const quint32 keycode = nativeScanCode; +- QString symbols[KeyCap::levelCount]; +- +- if (keycode == INVALID_KEYCODE) { +- return new KeyCap(symbols, this); +- } +- +- const int group = 0; +- // We iterate over the enum directly because it also represents +- // preference. TopLeft is the preferred location for unique mapping +- // such as 'F1' that can appear in all levels but we only want it shown +- // once in the TopLeft position. +- const auto levelEnum = QMetaEnum::fromType<KeyCap::Level>(); +- QVector<QString> seen; +- for (int i = 0; i < levelEnum.keyCount(); ++i) { +- int level = levelEnum.value(i); +- if (group >= XkbKeyNumGroups(xkb, keycode)) { +- continue; // group doesn't exist, shouldn't happen because we use group0 +- } +- if (level >= XkbKeyGroupWidth(xkb, keycode, group)) { +- continue; // level within group doesn't exist, can totally happen! +- } +- +- KeySym keysym = XkbKeySymEntry(xkb, keycode, level, group); +- const auto str = keySymToString(keysym); +- if (seen.contains(str)) { +- // Don't duplicate. e.g. 'F1' can appear in all levels +- continue; +- } +- seen << str; +- symbols[level] = str; +- } +- +- return new KeyCap(symbols, this); +-} +diff --git a/tastenbrett/key.h b/tastenbrett/key.h +deleted file mode 100644 +index 1b4b7d9..0000000 +--- a/tastenbrett/key.h ++++ /dev/null +@@ -1,97 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#ifndef KEY_H +-#define KEY_H +- +-#include <QVariant> +- +- +-#include "xkbobject.h" +- +-class Shape; +- +-// This is a fairly opinionated model of a key cap. We assume there won't +-// be any more than 4 levels. +-// This isn't necessarily the case since (e.g.) the NEO layout has 6 levels. +-// Since that is super niche and poses some complication as for how to +-// exactly render the levels we'll simply ignore this use case for now. +-// In the end the keyboard model display only needs to act as simple indicator +-// anyway. +-class KeyCap : public QObject +-{ +- Q_OBJECT +- Q_PROPERTY(QString topLeft MEMBER topLeft CONSTANT) +- Q_PROPERTY(QString topRight MEMBER topRight CONSTANT) +- Q_PROPERTY(QString bottomLeft MEMBER bottomLeft CONSTANT) +- Q_PROPERTY(QString bottomRight MEMBER bottomRight CONSTANT) +-public: +- enum Level +- { +- TopLeft = 1, +- TopRight = 3, +- BottomLeft = 0, +- BottomRight = 2 +- }; +- Q_ENUM(Level) +- constexpr static int levelCount = 4; +- +- KeyCap(const QString symbols[KeyCap::levelCount], QObject *parent); +- +- QString topLeft; +- QString topRight; +- QString bottomLeft; +- QString bottomRight; +-}; +- +-class Key : public XkbObject +-{ +- Q_OBJECT +-#define K_P(type, name) \ +-private: \ +- Q_PROPERTY(type name READ auto_prop_##name CONSTANT) \ +-public: \ +- type auto_prop_##name () const { return key-> name ; } +- +- K_P(short, gap) +- +- Q_PROPERTY(Shape *shape MEMBER shape CONSTANT) +- Q_PROPERTY(KeyCap *cap MEMBER cap CONSTANT) +- Q_PROPERTY(bool pressed MEMBER pressed NOTIFY pressedChanged) +- +- constexpr static uint INVALID_KEYCODE = static_cast<uint>(-1); +- +-public: +- Key(XkbKeyPtr key_, XkbDescPtr xkb_, QObject *parent = nullptr); +- uint nativeScanCodeFromName(const QByteArray &needle); +- KeyCap *resolveCap(); +- +- XkbKeyPtr key = nullptr; +- Shape *shape = nullptr; +- QByteArray name; // Internal name in the geometry. +- quint32 nativeScanCode = INVALID_KEYCODE; +- KeyCap *cap = nullptr; +- bool pressed = false; +- +-signals: +- void pressedChanged(); +-}; +- +-#endif // KEY_H +diff --git a/tastenbrett/main.cpp b/tastenbrett/main.cpp +deleted file mode 100644 +index b9b80e7..0000000 +--- a/tastenbrett/main.cpp ++++ /dev/null +@@ -1,151 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#include <QCommandLineParser> +-#include <QDebug> +-#include <QQmlApplicationEngine> +-#include <QQmlContext> +-#include <QX11Info> +- +-#include "application.h" +-#include "config-workspace.h" +-#include "doodad.h" +-#include "geometry.h" +- +-// kind-of copy from xkb_rules.cpp (less complicated) +-static QString getRulesName() +-{ +- XkbRF_VarDefsRec vd; +- char *tmp = nullptr; +- +- if (XkbRF_GetNamesProp(QX11Info::display(), &tmp, &vd) && tmp != nullptr) { +- const QString name(tmp); +- XFree(tmp); +- return name; +- } +- +- return QStringLiteral("evdev"); // default to evdev +-} +- +-static QString findXkbRulesFile() +-{ +- const QString rulesName = getRulesName(); +- return QStringLiteral("%1/rules/%2").arg(XKBDIR, rulesName); +-} +- +-int main(int argc, char *argv[]) +-{ +- setenv("QT_QPA_PLATFORM", "xcb", 1); +- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); +- Application app(argc, argv); +- Q_ASSERT(app.platformName() == QStringLiteral("xcb")); +- +- QCommandLineParser parser; +- parser.addHelpOption(); +- parser.addVersionOption(); +- QCommandLineOption modelOption(QStringList { "m", "model" }, {}, QStringLiteral("MODEL")); +- parser.addOption(modelOption); +- QCommandLineOption layoutOption(QStringList { "l", "layout" }, {}, QStringLiteral("LAYOUT")); +- parser.addOption(layoutOption); +- QCommandLineOption variantOption(QStringList { "a", "variant" }, {}, QStringLiteral("VARIANT")); +- parser.addOption(variantOption); +- QCommandLineOption optionsOption(QStringList { "o", "options" }, {}, QStringLiteral("OPTIONS")); +- parser.addOption(optionsOption); +- parser.process(app); +- +- XkbRF_VarDefsRec varDefs; +- memset(&varDefs, 0, sizeof(XkbRF_VarDefsRec)); +- +- // Models worth testing for obvious mistakes: +- // pc104, tm2020 (fancy), kinesis (fancy) +- QString model = parser.value(modelOption); +- const QString layout = parser.value(layoutOption); +- const QString variant = parser.value(variantOption); +- const QString options = parser.value(optionsOption); +- +- // Hold these so so we can pass data into xkb getter. +- QByteArray modelArray = model.toUtf8(); +- QByteArray layoutArray = layout.toUtf8(); +- QByteArray variantArray = variant.toUtf8(); +- QByteArray optionsArray = options.toUtf8(); +- +- varDefs.model = modelArray.data(); +- varDefs.layout = layoutArray.data(); +- varDefs.variant = variantArray.data(); +- varDefs.options = optionsArray.data(); +- +- XkbRF_RulesPtr rules = XkbRF_Load(findXkbRulesFile().toUtf8().data(), // needs to be non-const! +- qgetenv("LOCALE").data(), +- True, +- True); +- Q_ASSERT(rules); +- QSharedPointer<XkbRF_RulesRec> rulesCleanup(rules, [](XkbRF_RulesPtr obj) { +- XkbRF_Free(obj, True); +- }); +- +- XkbComponentNamesRec componentNames; +- memset(&componentNames, 0, sizeof(XkbComponentNamesRec)); +- +- XkbRF_GetComponents(rules, &varDefs, &componentNames); +- +- XkbDescPtr xkb = XkbGetKeyboardByName(QX11Info::display(), +- XkbUseCoreKbd, +- &componentNames, +- 0, +- XkbGBN_GeometryMask | +- XkbGBN_KeyNamesMask | +- XkbGBN_OtherNamesMask | +- XkbGBN_ClientSymbolsMask | +- XkbGBN_IndicatorMapMask, +- false); +- Q_ASSERT(xkb); +- QSharedPointer<XkbDescRec> xkbCleanup(xkb, [](XkbDescPtr obj) { +- XkbFreeKeyboard(obj, 0, True); +- }); +- +- Geometry geometry(xkb->geom, xkb); +- +- // Register the doodads so we can perform easy type checks with them +- // and determine how to render the individual object. +- const char uri[] = "org.kde.tastenbrett.private"; +- qmlRegisterUncreatableType<TextDoodad>(uri, 1, 0, "TextDoodad", QString()); +- qmlRegisterUncreatableType<LogoDoodad>(uri, 1, 0, "LogoDoodad", QString()); +- qmlRegisterUncreatableType<ShapeDoodad>(uri, 1, 0, "ShapeDoodad", QString()); +- qmlRegisterUncreatableType<IndicatorDoodad>(uri, 1, 0, "IndicatorDoodad", QString()); +- +- // The way this is currently written we need the engine after +- // we have a geometry, lest geometry is dtor'd before the engine +- // causing exhaustive error spam on shutdown. +- // Also, the above stuff is blocking, but optimizing it is hardly +- // worth the effort. The Xkb calls altogether take ~8ms (I am not +- // certain putting xkb into a qfuture is thread-safe or even +- // faster). Constructing our QObjects takes 1ms. +- QQmlApplicationEngine engine; +- const QUrl url(QStringLiteral("qrc:/qml/main.qml")); +- QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, +- &app, [url](QObject *obj, const QUrl &objUrl) { +- if (!obj && url == objUrl) +- QCoreApplication::exit(-1); +- }, Qt::QueuedConnection); +- engine.rootContext()->setContextProperty("geometry", &geometry); +- engine.load(url); +- +- return app.exec(); +-} +diff --git a/tastenbrett/outline.cpp b/tastenbrett/outline.cpp +deleted file mode 100644 +index 0668f98..0000000 +--- a/tastenbrett/outline.cpp ++++ /dev/null +@@ -1,34 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#include "outline.h" +- +-#include <QPoint> +-#include <QVariant> +- +-Outline::Outline(XkbOutlinePtr outline_, XkbDescPtr xkb_, QObject *parent) +- : XkbObject(xkb_, parent) +- , outline(outline_) +-{ +- for (int i = 0; i < outline->num_points; ++i) { +- const auto p = outline->points + i; +- points.push_back(QPoint(p->x, p->y)); +- } +-} +diff --git a/tastenbrett/outline.h b/tastenbrett/outline.h +deleted file mode 100644 +index c370883..0000000 +--- a/tastenbrett/outline.h ++++ /dev/null +@@ -1,48 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#ifndef OUTLINE_H +-#define OUTLINE_H +- +-#include <QVariant> +- +-#include "xkbobject.h" +- +-class Outline : public XkbObject +-{ +- Q_OBJECT +-#define P(type, name) \ +-private: \ +- Q_PROPERTY(type name READ auto_prop_##name CONSTANT) \ +-public: \ +- type auto_prop_##name () const { return outline-> name ; } +- +- P(unsigned short, corner_radius) +- +- Q_PROPERTY(QVariantList points MEMBER points CONSTANT) +- +-public: +- Outline(XkbOutlinePtr outline_, XkbDescPtr xkb_, QObject *parent = nullptr); +- +- XkbOutlinePtr outline = nullptr; +- QVariantList points; +-}; +- +-#endif // OUTLINE_H +diff --git a/tastenbrett/qml.qrc b/tastenbrett/qml.qrc +deleted file mode 100644 +index 08af716..0000000 +--- a/tastenbrett/qml.qrc ++++ /dev/null +@@ -1,12 +0,0 @@ +-<RCC> +- <qresource prefix="/"> +- <file>qml/IndicatorDoodad.qml</file> +- <file>qml/Key.qml</file> +- <file>qml/KeyCap.qml</file> +- <file>qml/KeyCapLabel.qml</file> +- <file>qml/main.qml</file> +- <file>qml/ShapeCanvas.qml</file> +- <file>qml/ShapeDoodad.qml</file> +- <file>qml/TextDoodad.qml</file> +- </qresource> +-</RCC> +diff --git a/tastenbrett/qml/IndicatorDoodad.qml b/tastenbrett/qml/IndicatorDoodad.qml +deleted file mode 100644 +index 305f8fc..0000000 +--- a/tastenbrett/qml/IndicatorDoodad.qml ++++ /dev/null +@@ -1,26 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-import QtQuick 2.12 +- +-ShapeDoodad { +- lineWidth: 0 // indicators can be tiny. don't draw the stroke, it may overlap the fill +- fillStyle: doodad.on ? activePalette.highlight : disabledPalette.light +-} +diff --git a/tastenbrett/qml/Key.qml b/tastenbrett/qml/Key.qml +deleted file mode 100644 +index bbe9e36..0000000 +--- a/tastenbrett/qml/Key.qml ++++ /dev/null +@@ -1,85 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-import QtQuick 2.12 +-import QtQuick.Controls 2.5 +- +-ShapeCanvas { +- id: root +- +- property QtObject key +- property variant keyColor: key.pressed ? activePalette.highlight : activePalette.button +- property variant labelColor: key.pressed ? activePalette.highlightedText : activePalette.buttonText +- +- shape: key ? key.shape : null +- strokeSyle: activePalette.shadow +- fillStyle: keyColor +- +- onKeyColorChanged: requestPaint() +- +- KeyCap { +- key: parent.key +- +- anchors.fill: parent +- anchors.margins: 22 // arbitrary spacing to key outlines +- } +- +- Component.onCompleted: { +- if (!parent || !parent.row) { +- // There's implicit layout logic below when used inside a row. +- // Key may also be used standalone, so skip the layout bits. +- return; +- } +- +- if (parent.row.orientation === Qt.Horizontal) { +- x = 0 +- +- for (var i in parent.children) { +- // find the furthest sibling -> it is our nearst one +- var sibling = parent.children[i] +- if (sibling === this) { +- continue +- } +- x = Math.max(x, sibling.x + sibling.width) +- } +- if (x > 0) { +- x += key.gap // found a sibling, gap us from it +- } +- +- y = shape.bounds.y +- } else { +- y = 0 +- +- for (var i in parent.children) { +- // find the furthest sibling -> it is our nearst one +- var sibling = parent.children[i] +- if (sibling === this) { +- continue +- } +- y = Math.max(y, sibling.y + sibling.height) +- } +- if (y > 0) { +- y += key.gap // found a sibling, gap us from it +- } +- +- x = shape.bounds.x +- } +- } +-} +diff --git a/tastenbrett/qml/KeyCap.qml b/tastenbrett/qml/KeyCap.qml +deleted file mode 100644 +index 1c282a8..0000000 +--- a/tastenbrett/qml/KeyCap.qml ++++ /dev/null +@@ -1,63 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-import QtQuick 2.12 +- +-Item { +- property QtObject key +- +- // NB: we scale hight only by a portion of the available space if +- // some of the levels aren't there. Visually it looks weird when some +- // labels are full center, so let's still bias them towards an edge, but +- // increase the height ever so slightly +- +- KeyCapLabel { +- id: topLeft +- width: topRight.text == "" ? parent.width : parent.width / 2.0 +- height: (bottomLeft.text == "" && bottomRight.text == "") ? parent.height / 1.7 : parent.height /2.0 +- anchors.top: parent.top +- anchors.left: parent.left +- text: key.cap.topLeft +- } +- KeyCapLabel { +- id: topRight +- width: parent.width /2.0 +- height: parent.height /2.0 +- anchors.top: parent.top +- anchors.right: parent.right +- text: key.cap.topRight +- } +- KeyCapLabel { +- id: bottomLeft +- width: bottomRight.text == "" ? parent.width : parent.width / 2.0 +- height: (topLeft.text == "" && topRight.text == "") ? parent.height / 1.7 : parent.height /2.0 +- anchors.bottom: parent.bottom +- anchors.left: parent.left +- text: key.cap.bottomLeft +- } +- KeyCapLabel { +- id: bottomRight +- width: parent.width /2.0 +- height: parent.height /2.0 +- anchors.bottom: parent.bottom +- anchors.right: parent.right +- text: key.cap.bottomRight +- } +-} +diff --git a/tastenbrett/qml/KeyCapLabel.qml b/tastenbrett/qml/KeyCapLabel.qml +deleted file mode 100644 +index b70339e..0000000 +--- a/tastenbrett/qml/KeyCapLabel.qml ++++ /dev/null +@@ -1,31 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-import QtQuick 2.12 +-import QtQuick.Controls 2.5 +- +-Label { +- elide: Text.ElideRight +- color: labelColor // from parent scope +- +- fontSizeMode: Text.Fit +- minimumPixelSize: 6 +- font.pixelSize: parent.height +-} +diff --git a/tastenbrett/qml/ShapeCanvas.qml b/tastenbrett/qml/ShapeCanvas.qml +deleted file mode 100644 +index b18ba08..0000000 +--- a/tastenbrett/qml/ShapeCanvas.qml ++++ /dev/null +@@ -1,110 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-import QtQuick 2.12 +-import QtQuick.Controls 2.5 +- +-Canvas { +- property QtObject shape +- property variant strokeSyle: "yellow" +- property variant fillStyle: "steelblue" +- // Only draw one outline. Outlines are tricky because xkb has no +- // concept of displaying text on top of the shapes. IOW: it +- // only thinks about blank keys. This means we have no layout +- // constraints for our text and as a result we'd have to figure out +- // where to put text so it doesn't conflict with any of the drawn +- // paths and is inside most/all of them. It's not worth the work... +- property int maxOutline: 1 +- // use a round number, we divide this by two to balance spacing +- property real lineWidth: 4.0 +- // scoot away from 0,0 to translation,translation +- property real translation: lineWidth / 2.0 +- // reduce the scale to account for the scoot of translation +- property real scale: Math.min((width - lineWidth) / width, (height - lineWidth) / height) +- +- id: canvas +- width: shape.bounds.width +- height: shape.bounds.height +- onStrokeSyleChanged: requestPaint() +- onFillStyleChanged: requestPaint() +- +- onPaint: { +- var ctx = getContext("2d") +- ctx.reset() +- ctx.lineWidth = lineWidth +- ctx.strokeStyle = strokeSyle +- ctx.fillStyle = fillStyle +- // Transform the context a bunch. The way strokes work is that +- // they extend to the left and right of the path, so with a +- // lineWidth of 8 we'll need the entire scene scooted so +- // 0,0 becomes 4,4. Since that also would screw up our absolute +- // coordinates towards the right (e.g. our width bounds as reported +- // by XKB) we also need to then adjust the scale so the entire +- // coordinate system so the scene leaves sufficient space at all +- // borders. +- // i.e. we move the scene so the top and right strokes are fully +- // visible and then shrink it so the left and bottom are fully visible. +- ctx.translate(translation, translation) +- ctx.scale(scale, scale) +- +- ctx.beginPath() +- +- for (var i in shape.outlines) { +- if (maxOutline && i >= maxOutline) { +- break; +- } +- +- var outline = shape.outlines[i] +- +- if (outline.points.length === 1) { // rect from 0,0 to point +- var point = outline.points[0] +- +- ctx.roundedRect(0, 0, +- point.x, point.y, +- outline.corner_radius, outline.corner_radius) +- } else if (outline.points.length === 2) { // rect from p1 to p2 +- var topLeftPoint = outline.points[0] +- var bottomRightPoint = outline.points[1] +- +- ctx.roundedRect(topLeftPoint.x, topLeftPoint.y, +- bottomRightPoint.x, bottomRightPoint.y, +- outline.corner_radius, outline.corner_radius) +- } else { // polygon point to point draw (used for doodads and non-rect keys such as Enter) +- for (var j in outline.points) { +- var anyPoint = outline.points[j] +- if (j < 1) { // move to first point +- ctx.moveTo(anyPoint.x, anyPoint.y) +- } else { // from there we draw point to point +- ctx.lineTo(anyPoint.x, anyPoint.y) +- } +- +- // TODO: should probably draw short of target and then arcTo over the target so we get a round corner? +- // Currently shapes are not rounded. +- } +- } +- } +- +- ctx.closePath() +- if (fillStyle) { +- ctx.fill() +- } +- ctx.stroke() +- } +-} +diff --git a/tastenbrett/qml/ShapeDoodad.qml b/tastenbrett/qml/ShapeDoodad.qml +deleted file mode 100644 +index a6bcd58..0000000 +--- a/tastenbrett/qml/ShapeDoodad.qml ++++ /dev/null +@@ -1,39 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-import QtQuick 2.12 +-import QtQuick.Controls 2.5 +- +-ShapeCanvas { +- property QtObject doodad +- +- shape: doodad.shape +- +- x: doodad.left +- y: doodad.top +- z: doodad.priority +- // Unlike sections we'll rotate doodads in whatever way desired. +- // They do not contain anything that could be up-side-down +- // "accidentally". +- rotation: doodad.angle +- +- strokeSyle: disabledPalette.shadow +- fillStyle: doodad.outlineOnly ? null : disabledPalette.button +-} +diff --git a/tastenbrett/qml/TextDoodad.qml b/tastenbrett/qml/TextDoodad.qml +deleted file mode 100644 +index 7ceffff..0000000 +--- a/tastenbrett/qml/TextDoodad.qml ++++ /dev/null +@@ -1,41 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-import QtQuick 2.12 +-import QtQuick.Controls 2.5 +- +-Label { +- property QtObject doodad +- +- x: doodad.left +- y: doodad.top +- z: doodad.priority +- // random note: the width is much larger than desired on pc geoms because +- // the geom only defines left anchors and has a forced \n inside +- width: doodad.width +- height: doodad.height +- rotation: doodad.angle +- text: doodad.text +- color: disabledPalette.buttonText +- +- fontSizeMode: Text.Fit +- minimumPixelSize: 6 +- font.pixelSize: height +-} +diff --git a/tastenbrett/qml/main.qml b/tastenbrett/qml/main.qml +deleted file mode 100644 +index 6f70d97..0000000 +--- a/tastenbrett/qml/main.qml ++++ /dev/null +@@ -1,207 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-import QtQuick 2.12 +-import QtQuick.Window 2.12 +-import QtQuick.Controls 2.5 +- +-import org.kde.tastenbrett.private 1.0 as XKB +- +-Window { +- id: window +- visible: false +- width: 1024 +- height: 768 +- +- SystemPalette { id: activePalette; colorGroup: SystemPalette.Active } +- SystemPalette { id: disabledPalette; colorGroup: SystemPalette.Disabled } +- +- function createDoodad(doodad, parent, properties) { +- var component = null +- if (doodad instanceof XKB.LogoDoodad) { +- component = doodadLogoComponent +- } else if (doodad instanceof XKB.IndicatorDoodad) { +- component = doodadIndicatorComponent +- } else if (doodad instanceof XKB.TextDoodad) { +- component = doodadTextComponent +- } else if (doodad instanceof XKB.ShapeDoodad) { +- component = doodadShapeComponent +- } +- if (component) { +- return component.createObject(parent, properties) +- } +- console.error("Unknown doodad type!", doodad) +- return null +- } +- +- Rectangle { +- anchors.fill: parent +- color: activePalette.window +- } +- +- Item { +- id: kbd +- width: window.width +- height: window.height +- +- // XKB geometries have a consistent coordinate system within a geometry +- // all children follow that system instead of QML. To easily convert +- // everything wholesale we'll employ a scale factor. +- property real childWidth: childrenRect.x + childrenRect.width +- property real childHeight: childrenRect.y + childrenRect.height +- // We preserve the ratio and as a result will need to scall either +- // with height or width, whichever has less space. +- scale: Math.min(width / childWidth, height / childHeight) +- transformOrigin: Item.TopLeft +- } +- +- Component { +- id: keyComponent +- +- // Interactable Key +- Key { +- id: root +- +- MouseArea { +- id: hoverArea +- anchors.fill: parent +- hoverEnabled: true +- } +- +-// ToolTip { +-// visible: hoverArea.containsMouse +- +-// contentItem: Item { +-// scale: kbd.scale * 2 // make keys easily redable at 2.5 times the regular size +- +-// Key { +-// id: keyItem +-// key: root.key +-// } +-// } +- +-// background: null +-// } +- } +- } +- +- Component { +- id: doodadShapeComponent +- ShapeDoodad {} +- } +- +- Component { +- id: doodadIndicatorComponent +- IndicatorDoodad {} +- } +- +- Component { +- id: doodadTextComponent +- TextDoodad {} +- } +- +- Component { +- id: doodadLogoComponent +- ShapeDoodad { +- KeyCapLabel { +- anchors.centerIn: parent +- color: disabledPalette.buttonText +- text: doodad.logo_name +- anchors.margins: 22 // arbitrary spacing to key outlines +- } +- } +- } +- +- Component { +- id: rowComponent +- +- Item { +- property QtObject row: null +- x: row.left +- y: row.top +- width: childrenRect.width+4 +- height: childrenRect.height+4 +- +- Component.onCompleted: { +- for (var i in row.keys) { +- var key = row.keys[i] +- keyComponent.createObject(this, { key: key }); +- } +- } +- } +- } +- +- Component { +- id: sectionComponent +- +- Item { +- property QtObject section +- x: section.left +- y: section.top +- z: section.priority +- // Dimension definitions can be a bit wonky for sections but overally should not +- // cause problems even when they are (so long as we don't actually render the +- // sections themself) +- width: section.width +- height: section.height +- +- // Fix rotation to mod90, we cannot spin around as that'd put the text upside down ;) +- // Unclear if spinning around like that is in fact desired for anyting, if so I guess +- // we need to counter rotate text or something. +- rotation: section.angle != 0 ? section.angle % 90 : section.angle +- transformOrigin: Item.TopLeft +- +- Component.onCompleted: { +- for (var i in section.rows) { +- var row = section.rows[i] +- rowComponent.createObject(this, { row: row }); +- } +- +- for (var i in section.doodads) { +- var doodad = section.doodads[i] +- createDoodad(doodad, kbd, { doodad: doodad }) +- } +- +- } +- } +- } +- +- Component.onCompleted: { +- // Based on the geometry aspect we scale either width or height to scale so +- // the default size is fitting. NB: geom dimensions are mm! +- if (geometry.widthMM >= geometry.heightMM) { +- height = width * geometry.heightMM / geometry.widthMM +- } else { +- width = height * geometry.widthMM / geometry.heightMM +- } +- +- for (var i in geometry.sections) { +- var section = geometry.sections[i] +- sectionComponent.createObject(kbd, { section: section }); +- } +- +- for (var i in geometry.doodads) { +- var doodad = geometry.doodads[i] +- createDoodad(doodad, kbd, { doodad: doodad }) +- } +- +- visible = true +- } +-} +diff --git a/tastenbrett/row.cpp b/tastenbrett/row.cpp +deleted file mode 100644 +index 9e7c5c1..0000000 +--- a/tastenbrett/row.cpp ++++ /dev/null +@@ -1,35 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#include "row.h" +- +-#include "key.h" +- +-Row::Row(XkbRowPtr row_, XkbDescPtr xkb_, QObject *parent) +- : XkbObject(xkb_, parent) +- , row(row_) +- , orientation(row->vertical ? Qt::Vertical : Qt::Horizontal) +- , bounds(QRect(row->bounds.x1, row->bounds.y1, +- row->bounds.x2, row->bounds.y2)) +-{ +- for (int i = 0; i < row->num_keys; ++i) { +- keys.push_back(new Key(row->keys + i, xkb, this)); +- } +-} +diff --git a/tastenbrett/row.h b/tastenbrett/row.h +deleted file mode 100644 +index bf1d36c..0000000 +--- a/tastenbrett/row.h ++++ /dev/null +@@ -1,54 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#ifndef ROW_H +-#define ROW_H +- +-#include <QRect> +-#include <QVariant> +- +-#include "xkbobject.h" +- +-class Row : public XkbObject +-{ +- Q_OBJECT +- +-#define R_P(type, name) \ +-private: \ +- Q_PROPERTY(type name READ auto_prop_##name CONSTANT) \ +-public: \ +- type auto_prop_##name () const { return row-> name ; } +- +-R_P(short, top) +-R_P(short, left) +- +-Q_PROPERTY(Qt::Orientation orientation MEMBER orientation CONSTANT) +-Q_PROPERTY(QList<QObject *> keys MEMBER keys CONSTANT) +-Q_PROPERTY(QRect bounds MEMBER bounds CONSTANT) +-public: +- Row(XkbRowPtr row_, XkbDescPtr xkb_, QObject *parent = nullptr); +- +- XkbRowPtr row = nullptr; +- Qt::Orientation orientation = Qt::Horizontal; +- QList<QObject *> keys; +- QRect bounds; +-}; +- +-#endif // ROW_H +diff --git a/tastenbrett/section.cpp b/tastenbrett/section.cpp +deleted file mode 100644 +index ee00fd5..0000000 +--- a/tastenbrett/section.cpp ++++ /dev/null +@@ -1,52 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#include "section.h" +- +-#include <QDebug> +- +-#include "doodad.h" +-#include "row.h" +- +-Section::Section(XkbSectionPtr section_, XkbDescPtr xkb_, QObject *parent) +- : XkbObject(xkb_, parent) +- , section(section_) +-{ +- for (int i = 0; i < section->num_doodads; ++i) { +- Doodad *o = Doodad::factorize(section->doodads + i, xkb, this); +- if (!o) { +- continue; +- } +- doodads.push_back(o); +- } +- +- for (int i = 0; i < section->num_rows; ++i) { +- rows.push_back(new Row(section->rows + i, xkb, this)); +- } +- +- // Sections also contain overlays, that contain overlay rows, that contain +- // overlay keys, that are comprised of an "under" name (internal name +- // of our Key object) and an "over" name (the overlay to be used instead). +- // The intention I presume is to label keys this way. Alas, this seems +- // useless to us because that'd ignore key mapping. Our dynamic key cap +- // resolution should be yielding more useful cap data than these overlays. +- // Because of this we do not actually set our caps to the overlays and ignore +- // them entirely. +-} +diff --git a/tastenbrett/section.h b/tastenbrett/section.h +deleted file mode 100644 +index 037cdfe..0000000 +--- a/tastenbrett/section.h ++++ /dev/null +@@ -1,55 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#ifndef SECTION_H +-#define SECTION_H +- +-#include <QVariant> +- +-#include "xkbobject.h" +- +-class Section : public XkbObject +-{ +- Q_OBJECT +- +-#define S_P(type, name) \ +-private: \ +- Q_PROPERTY(type name READ auto_prop_##name CONSTANT) \ +-public: \ +- type auto_prop_##name () const { return section-> name ; } +- +- S_P(unsigned char, priority) +- S_P(short, top) +- S_P(short, left) +- S_P(unsigned short, width) +- S_P(unsigned short, height) +- S_P(short, angle) +- +- Q_PROPERTY(QList<QObject *> rows MEMBER rows CONSTANT) +- Q_PROPERTY(QList<QObject *> doodads MEMBER doodads CONSTANT) +-public: +- Section(XkbSectionPtr section_, XkbDescPtr xkb_, QObject *parent = nullptr); +- +- XkbSectionPtr section = nullptr; +- QList<QObject *> rows; +- QList<QObject *> doodads; +-}; +- +-#endif // SECTION_H +diff --git a/tastenbrett/shape.cpp b/tastenbrett/shape.cpp +deleted file mode 100644 +index 4d38069..0000000 +--- a/tastenbrett/shape.cpp ++++ /dev/null +@@ -1,46 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#include "shape.h" +- +-#include "outline.h" +- +-Shape::Shape(XkbShapePtr shape_, XkbDescPtr xkb_, QObject *parent) +- : XkbObject(xkb_, parent) +- , shape(shape_) +- , bounds(QRect(shape->bounds.x1, shape->bounds.y1, +- shape->bounds.x2, shape->bounds.y2)) +-{ +- // Awkward hack. We only ever render one outline because +- // otherwise we wouldn't know where to stick labels so they +- // don't overlap with any of the outlines. +- // Also when primary is not set the first outline is the primary +- // outline as per documentation, so effectively we unify behavior +- // here by always ensuring the primary outline is the first outline +- // and that will be the one that is rendered. +- if (shape->primary) { +- outlines.push_back(new Outline(shape->primary, xkb, this)); +- return; +- } +- +- for (int i = 0; i < shape->num_outlines; ++i) { +- outlines.push_back(new Outline(shape->outlines + i, xkb, this)); +- } +-} +diff --git a/tastenbrett/shape.h b/tastenbrett/shape.h +deleted file mode 100644 +index b40c704..0000000 +--- a/tastenbrett/shape.h ++++ /dev/null +@@ -1,43 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#ifndef SHAPE_H +-#define SHAPE_H +- +-#include <QRect> +-#include <QVariant> +- +-#include "xkbobject.h" +- +-class Shape : public XkbObject +-{ +- Q_OBJECT +- +- Q_PROPERTY(QList<QObject *> outlines MEMBER outlines CONSTANT) +- Q_PROPERTY(QRect bounds MEMBER bounds CONSTANT) +-public: +- Shape(XkbShapePtr shape_, XkbDescPtr xkb_, QObject *parent = nullptr); +- +- XkbShapePtr shape = nullptr; +- QList<QObject *> outlines; +- QRect bounds; +-}; +- +-#endif // SHAPE_H +diff --git a/tastenbrett/tastenbrett.pro b/tastenbrett/tastenbrett.pro +deleted file mode 100644 +index bc6a4c7..0000000 +--- a/tastenbrett/tastenbrett.pro ++++ /dev/null +@@ -1,55 +0,0 @@ +-QT += core gui +- +-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets x11extras quickwidgets quick +- +- +- +-LIBS += -L$$[QT_INSTALL_LIBS] -lgsettings-qt -lX11 -lxkbcommon -lxkbfile +-CONFIG += c++11 +- +- +-# The following define makes your compiler emit warnings if you use +-# any Qt feature that has been marked deprecated (the exact warnings +-# depend on your compiler). Please consult the documentation of the +-# deprecated API in order to know how to port your code away from it. +-DEFINES += QT_DEPRECATED_WARNINGS +- +-# You can also make your code fail to compile if it uses deprecated APIs. +-# In order to do so, uncomment the following line. +-# You can also select to disable deprecated APIs only up to a certain version of Qt. +-#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +- +-SOURCES += \ +- application.cpp \ +- doodad.cpp \ +- geometry.cpp \ +- key.cpp \ +- main.cpp \ +- outline.cpp \ +- row.cpp \ +- section.cpp \ +- shape.cpp \ +- xkbobject.cpp +- +-HEADERS += \ +- application.h \ +- config-workspace.h \ +- doodad.h \ +- geometry.h \ +- key.h \ +- outline.h \ +- row.h \ +- section.h \ +- shape.h \ +- xkbobject.h +- +-FORMS += +- +-target.source += $$TARGET +-target.path = /usr/bin +- +-INSTALLS += target +- +-RESOURCES += \ +- qml.qrc +- +diff --git a/tastenbrett/xkbobject.cpp b/tastenbrett/xkbobject.cpp +deleted file mode 100644 +index ab7d2b3..0000000 +--- a/tastenbrett/xkbobject.cpp ++++ /dev/null +@@ -1,28 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#include "xkbobject.h" +- +-XkbObject::XkbObject(XkbDescPtr xkb_, QObject *parent) +- : QObject(parent) +- , xkb(xkb_) +-{ +- Q_ASSERT(xkb); +-} +diff --git a/tastenbrett/xkbobject.h b/tastenbrett/xkbobject.h +deleted file mode 100644 +index 44c634a..0000000 +--- a/tastenbrett/xkbobject.h ++++ /dev/null +@@ -1,53 +0,0 @@ +-/* +- Copyright 2019 Harald Sitter <sitter@kde.org> +- +- This program is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as +- published by the Free Software Foundation; either version 2 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 14 of version 3 of the license. +- +- This program 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 General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see <http://www.gnu.org/licenses/>. +-*/ +- +-#ifndef XKBOBJECT_H +-#define XKBOBJECT_H +- +-#include <QObject> +-#include <QVariant> +- +-#include <X11/XKBlib.h> +-#include <X11/extensions/XKBgeom.h> +-#include <X11/extensions/XKBrules.h> +-#include <X11/extensions/XKBstr.h> +- +-// undef generic x stuff. should use kwindowsystem's fixx11h really +-#undef Status +-#undef None +-#undef Bool +-#undef CursorShape +-#undef KeyPress +-#undef KeyRelease +-#undef FocusIn +-#undef FocusOut +-#undef FontChange +-#undef Expose +-#undef Unsorted +- +-class XkbObject : public QObject +-{ +-protected: +- XkbObject(XkbDescPtr xkb_, QObject *parent = nullptr); +- +- XkbDescPtr xkb = nullptr; +-}; +- +-#endif // XKBOBJECT_H +diff --git a/tests/unit_test_keyboard/main.cpp b/tests/unit_test_keyboard/main.cpp +index 9250f9b..e1eac38 100644 +--- a/tests/unit_test_keyboard/main.cpp ++++ b/tests/unit_test_keyboard/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <gtest/gtest.h> + + int main(int argc, char **argv) +diff --git a/tests/unit_test_mouse/main.cpp b/tests/unit_test_mouse/main.cpp +index a39743a..b470b55 100644 +--- a/tests/unit_test_mouse/main.cpp ++++ b/tests/unit_test_mouse/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <gtest/gtest.h> + + int main(int argc, char **argv) +diff --git a/tests/unit_test_vino/main.cpp b/tests/unit_test_vino/main.cpp +index 9250f9b..e1eac38 100644 +--- a/tests/unit_test_vino/main.cpp ++++ b/tests/unit_test_vino/main.cpp +@@ -1,3 +1,22 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * ++ * Copyright (C) 2024 KylinSoft Co., Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program 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 General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ */ + #include <gtest/gtest.h> + + int main(int argc, char **argv) diff -Nru ukui-control-center-4.10.0.0/debian/patches/0148-fix-userinfo-changeusergroup.patch ukui-control-center-4.10.0.0/debian/patches/0148-fix-userinfo-changeusergroup.patch --- ukui-control-center-4.10.0.0/debian/patches/0148-fix-userinfo-changeusergroup.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-control-center-4.10.0.0/debian/patches/0148-fix-userinfo-changeusergroup.patch 2025-03-12 19:30:45.000000000 +0800 @@ -0,0 +1,31 @@ +From: hesisheng <hesisheng@kylinos.cn> +Date: Wed, 19 Mar 2025 15:24:36 +0800 +Subject: fix(userinfo): changeusergroup +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: 8bit + +Description: ui + +Log:【次要】【控制面板】维吾尔语环境下,账户信息用户组界面存在布局不正确的地方 +Bug: https://e.gitee.com/openkylin-enterprise/issues/table?issue=IAIMSJ +--- + plugins/account/userinfo/changeusergroup.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/plugins/account/userinfo/changeusergroup.cpp b/plugins/account/userinfo/changeusergroup.cpp +index 841bab0..7f6012b 100644 +--- a/plugins/account/userinfo/changeusergroup.cpp ++++ b/plugins/account/userinfo/changeusergroup.cpp +@@ -152,6 +152,11 @@ void changeUserGroup::initUI() + mUserGroupIdFrame = new QFrame(this); + mUserGroupIdFrame->setFixedSize(314, 40); + mUserGroupIdLabel = new QLabel(tr("GID:"), this); ++ QString language = QLocale::system().name(); ++ // 维吾尔 哈萨克斯 柯尔克孜 语言控件翻转 ++ if (language == "ug_CN" || language == "kk_KZ" || language == "ky_KG") { ++ mUserGroupIdLabel->setAlignment(Qt::AlignRight); ++ } + mUserGroupIdLabel->setFixedSize(80, 40); + mUserGroupIdLineEdit = new QLineEdit(this); + mUserGroupIdLineEdit->setFixedSize(180, 40); diff -Nru ukui-control-center-4.10.0.0/debian/patches/series ukui-control-center-4.10.0.0/debian/patches/series --- ukui-control-center-4.10.0.0/debian/patches/series 2025-02-27 10:16:00.000000000 +0800 +++ ukui-control-center-4.10.0.0/debian/patches/series 2025-03-12 19:30:45.000000000 +0800 @@ -138,3 +138,11 @@ 0138-172-fix-mainwindow-second-widget.patch 0139-chore-OpenKylin-openkylin.patch 0140-175-fix-mainwindow.patch +0141-chore-changelog-update-changelog.patch +0142-177-fix-debug-add-debug.patch +0143-181-fix-ukui-control-center-delete-protocol.patch +0144-182-fix-ukui-control-center-fix-display-drag.patch +0145-186.patch +0146-187-fix-theme.patch +0147-184-fix-mainwindow-ContextMenu.patch +0148-fix-userinfo-changeusergroup.patch diff -Nru ukui-control-center-4.10.0.0/debian/source/include-binaries ukui-control-center-4.10.0.0/debian/source/include-binaries --- ukui-control-center-4.10.0.0/debian/source/include-binaries 2025-02-27 10:16:00.000000000 +0800 +++ ukui-control-center-4.10.0.0/debian/source/include-binaries 2025-03-12 19:30:45.000000000 +0800 @@ -24,3 +24,5 @@ debian/patches/0106-122-md.patch debian/patches/0116-chore-md.patch debian/patches/0120-140-fix-panel-bug-278913.patch +debian/patches/0141-chore-changelog-update-changelog.patch +debian/patches/0142-177-fix-debug-add-debug.patch diff -Nru ukui-control-center-4.10.0.0/debian/ukui-control-center-coverage.xml ukui-control-center-4.10.0.0/debian/ukui-control-center-coverage.xml --- ukui-control-center-4.10.0.0/debian/ukui-control-center-coverage.xml 1970-01-01 08:00:00.000000000 +0800 +++ ukui-control-center-4.10.0.0/debian/ukui-control-center-coverage.xml 2025-03-12 19:30:45.000000000 +0800 @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='utf-8'?> +<coverage version="1"><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h"><lineToCover lineNumber="236" covered="false" /><lineToCover lineNumber="239" covered="false" /><lineToCover lineNumber="240" covered="false" /></file><file path="/usr/include/c++/9/bits/atomic_base.h"><lineToCover lineNumber="326" covered="false" /><lineToCover lineNumber="327" covered="false" /><lineToCover lineNumber="419" covered="false" /></file><file path="/usr/include/c++/9/bits/move.h"><lineToCover lineNumber="99" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="182" covered="false" /><lineToCover lineNumber="193" covered="false" /><lineToCover lineNumber="194" covered="false" /><lineToCover lineNumber="195" covered="false" /><lineToCover lineNumber="196" covered="false" /></file><file path="tests/unit_test_autoboot/moc_autostartinterface.cpp"><lineToCover lineNumber="112" covered="false" /><lineToCover lineNumber="114" covered="false" /><lineToCover lineNumber="117" covered="false" /><lineToCover lineNumber="118" covered="false" /><lineToCover lineNumber="119" covered="false" /><lineToCover lineNumber="120" covered="false" /><lineToCover lineNumber="121" covered="false" /><lineToCover lineNumber="122" covered="false" /><lineToCover lineNumber="123" covered="false" /><lineToCover lineNumber="124" covered="false" /><lineToCover lineNumber="125" covered="false" /><lineToCover lineNumber="126" covered="false" /><lineToCover lineNumber="127" covered="false" /><lineToCover lineNumber="128" covered="false" /><lineToCover lineNumber="129" covered="false" /><lineToCover lineNumber="130" covered="false" /><lineToCover lineNumber="131" covered="false" /><lineToCover lineNumber="132" covered="false" /><lineToCover lineNumber="135" covered="false" /><lineToCover lineNumber="136" covered="false" /><lineToCover lineNumber="139" covered="false" /><lineToCover lineNumber="140" covered="false" /><lineToCover lineNumber="141" covered="false" /><lineToCover lineNumber="146" covered="false" /><lineToCover lineNumber="149" covered="false" /><lineToCover lineNumber="150" covered="false" /><lineToCover lineNumber="151" covered="false" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="171" covered="false" /><lineToCover lineNumber="173" covered="false" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="178" covered="false" /><lineToCover lineNumber="179" covered="false" /><lineToCover lineNumber="181" covered="false" /><lineToCover lineNumber="184" covered="false" /><lineToCover lineNumber="186" covered="false" /><lineToCover lineNumber="187" covered="false" /><lineToCover lineNumber="189" covered="false" /><lineToCover lineNumber="190" covered="false" /><lineToCover lineNumber="191" covered="false" /><lineToCover lineNumber="192" covered="false" /><lineToCover lineNumber="193" covered="false" /><lineToCover lineNumber="194" covered="false" /><lineToCover lineNumber="195" covered="false" /><lineToCover lineNumber="196" covered="false" /><lineToCover lineNumber="199" covered="false" /><lineToCover lineNumber="200" covered="false" /><lineToCover lineNumber="201" covered="false" /><lineToCover lineNumber="202" covered="false" /><lineToCover lineNumber="203" covered="false" /><lineToCover lineNumber="204" covered="false" /><lineToCover lineNumber="205" covered="false" /><lineToCover lineNumber="206" covered="false" /><lineToCover lineNumber="207" covered="false" /><lineToCover lineNumber="208" covered="false" /><lineToCover lineNumber="209" covered="false" /><lineToCover lineNumber="210" covered="false" /><lineToCover lineNumber="211" covered="false" /><lineToCover lineNumber="212" covered="false" /><lineToCover lineNumber="219" covered="false" /><lineToCover lineNumber="221" covered="false" /><lineToCover lineNumber="222" covered="false" /><lineToCover lineNumber="223" covered="false" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h"><lineToCover lineNumber="103" covered="false" /><lineToCover lineNumber="125" covered="false" /><lineToCover lineNumber="127" covered="false" /><lineToCover lineNumber="128" covered="false" /><lineToCover lineNumber="129" covered="false" /><lineToCover lineNumber="130" covered="false" /><lineToCover lineNumber="246" covered="false" /><lineToCover lineNumber="247" covered="false" /><lineToCover lineNumber="248" covered="false" /><lineToCover lineNumber="249" covered="false" /><lineToCover lineNumber="251" covered="false" /><lineToCover lineNumber="252" covered="false" /><lineToCover lineNumber="339" covered="false" /></file><file path="registeredSession/plugins/autoboot/autostartinterface.h" /><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h" /><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h"><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="126" covered="true" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="223" covered="true" /><lineToCover lineNumber="225" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h"><lineToCover lineNumber="103" covered="false" /><lineToCover lineNumber="115" covered="false" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h"><lineToCover lineNumber="597" covered="false" /><lineToCover lineNumber="912" covered="true" /><lineToCover lineNumber="916" covered="true" /><lineToCover lineNumber="917" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h"><lineToCover lineNumber="699" covered="false" /><lineToCover lineNumber="700" covered="false" /><lineToCover lineNumber="701" covered="false" /><lineToCover lineNumber="1135" covered="false" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h"><lineToCover lineNumber="225" covered="false" /><lineToCover lineNumber="227" covered="false" /><lineToCover lineNumber="269" covered="false" /><lineToCover lineNumber="271" covered="false" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h"><lineToCover lineNumber="65" covered="false" /><lineToCover lineNumber="66" covered="false" /><lineToCover lineNumber="68" covered="false" /><lineToCover lineNumber="71" covered="false" /><lineToCover lineNumber="73" covered="false" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h"><lineToCover lineNumber="170" covered="true" /><lineToCover lineNumber="827" covered="true" /><lineToCover lineNumber="829" covered="true" /><lineToCover lineNumber="830" covered="true" /><lineToCover lineNumber="831" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h"><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="476" covered="true" /></file><file path="registeredSession/universalinterface.cpp"><lineToCover lineNumber="6" covered="false" /><lineToCover lineNumber="8" covered="false" /><lineToCover lineNumber="9" covered="false" /><lineToCover lineNumber="11" covered="false" /><lineToCover lineNumber="14" covered="false" /><lineToCover lineNumber="16" covered="false" /><lineToCover lineNumber="17" covered="false" /><lineToCover lineNumber="18" covered="false" /><lineToCover lineNumber="21" covered="false" /><lineToCover lineNumber="22" covered="false" /><lineToCover lineNumber="23" covered="false" /><lineToCover lineNumber="26" covered="false" /><lineToCover lineNumber="27" covered="false" /><lineToCover lineNumber="28" covered="false" /><lineToCover lineNumber="31" covered="false" /><lineToCover lineNumber="32" covered="false" /><lineToCover lineNumber="33" covered="false" /><lineToCover lineNumber="36" covered="false" /><lineToCover lineNumber="37" covered="false" /><lineToCover lineNumber="38" covered="false" /><lineToCover lineNumber="41" covered="false" /><lineToCover lineNumber="42" covered="false" /><lineToCover lineNumber="43" covered="false" /><lineToCover lineNumber="46" covered="false" /><lineToCover lineNumber="47" covered="false" /><lineToCover lineNumber="48" covered="false" /><lineToCover lineNumber="51" covered="false" /><lineToCover lineNumber="52" covered="false" /><lineToCover lineNumber="53" covered="false" /><lineToCover lineNumber="56" covered="false" /><lineToCover lineNumber="57" covered="false" /><lineToCover lineNumber="58" covered="false" /><lineToCover lineNumber="61" covered="false" /><lineToCover lineNumber="62" covered="false" /><lineToCover lineNumber="63" covered="false" /><lineToCover lineNumber="66" covered="false" /><lineToCover lineNumber="67" covered="false" /><lineToCover lineNumber="68" covered="false" /><lineToCover lineNumber="71" covered="false" /><lineToCover lineNumber="72" covered="false" /><lineToCover lineNumber="73" covered="false" /><lineToCover lineNumber="76" covered="false" /><lineToCover lineNumber="77" covered="false" /><lineToCover lineNumber="78" covered="false" /><lineToCover lineNumber="81" covered="false" /><lineToCover lineNumber="82" covered="false" /><lineToCover lineNumber="83" covered="false" /><lineToCover lineNumber="86" covered="false" /><lineToCover lineNumber="87" covered="false" /><lineToCover lineNumber="88" covered="false" /><lineToCover lineNumber="91" covered="false" /><lineToCover lineNumber="92" covered="false" /><lineToCover lineNumber="93" covered="false" /><lineToCover lineNumber="96" covered="false" /><lineToCover lineNumber="98" covered="false" /><lineToCover lineNumber="101" covered="false" /><lineToCover lineNumber="102" covered="false" /><lineToCover lineNumber="105" covered="false" /><lineToCover lineNumber="106" covered="false" /><lineToCover lineNumber="109" covered="false" /><lineToCover lineNumber="110" covered="false" /><lineToCover lineNumber="112" covered="false" /><lineToCover lineNumber="114" covered="false" /><lineToCover lineNumber="115" covered="false" /><lineToCover lineNumber="116" covered="false" /><lineToCover lineNumber="118" covered="false" /><lineToCover lineNumber="119" covered="false" /><lineToCover lineNumber="120" covered="false" /><lineToCover lineNumber="122" covered="false" /><lineToCover lineNumber="123" covered="false" /><lineToCover lineNumber="124" covered="false" /><lineToCover lineNumber="126" covered="false" /><lineToCover lineNumber="127" covered="false" /><lineToCover lineNumber="128" covered="false" /><lineToCover lineNumber="130" covered="false" /><lineToCover lineNumber="131" covered="false" /><lineToCover lineNumber="132" covered="false" /><lineToCover lineNumber="134" covered="false" /><lineToCover lineNumber="135" covered="false" /><lineToCover lineNumber="136" covered="false" /><lineToCover lineNumber="138" covered="false" /><lineToCover lineNumber="139" covered="false" /><lineToCover lineNumber="140" covered="false" /><lineToCover lineNumber="142" covered="false" /><lineToCover lineNumber="143" covered="false" /><lineToCover lineNumber="144" covered="false" /><lineToCover lineNumber="146" covered="false" /><lineToCover lineNumber="147" covered="false" /><lineToCover lineNumber="148" covered="false" /><lineToCover lineNumber="150" covered="false" /><lineToCover lineNumber="151" covered="false" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="154" covered="false" /><lineToCover lineNumber="155" covered="false" /><lineToCover lineNumber="156" covered="false" /><lineToCover lineNumber="158" covered="false" /><lineToCover lineNumber="159" covered="false" /><lineToCover lineNumber="160" covered="false" /><lineToCover lineNumber="162" covered="false" /><lineToCover lineNumber="163" covered="false" /><lineToCover lineNumber="164" covered="false" /><lineToCover lineNumber="166" covered="false" /><lineToCover lineNumber="167" covered="false" /><lineToCover lineNumber="168" covered="false" /><lineToCover lineNumber="170" covered="false" /><lineToCover lineNumber="171" covered="false" /><lineToCover lineNumber="172" covered="false" /><lineToCover lineNumber="174" covered="false" /><lineToCover lineNumber="175" covered="false" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="178" covered="false" /><lineToCover lineNumber="179" covered="false" /><lineToCover lineNumber="180" covered="false" /><lineToCover lineNumber="182" covered="false" /><lineToCover lineNumber="183" covered="false" /><lineToCover lineNumber="184" covered="false" /><lineToCover lineNumber="186" covered="false" /><lineToCover lineNumber="187" covered="false" /><lineToCover lineNumber="188" covered="false" /><lineToCover lineNumber="190" covered="false" /><lineToCover lineNumber="192" covered="false" /><lineToCover lineNumber="194" covered="false" /><lineToCover lineNumber="197" covered="false" /><lineToCover lineNumber="199" covered="false" /><lineToCover lineNumber="202" covered="false" /><lineToCover lineNumber="204" covered="false" /><lineToCover lineNumber="207" covered="false" /><lineToCover lineNumber="209" covered="false" /><lineToCover lineNumber="212" covered="false" /><lineToCover lineNumber="214" covered="false" /><lineToCover lineNumber="217" covered="false" /><lineToCover lineNumber="219" covered="false" /><lineToCover lineNumber="223" covered="false" /><lineToCover lineNumber="225" covered="false" /><lineToCover lineNumber="228" covered="false" /><lineToCover lineNumber="230" covered="false" /><lineToCover lineNumber="233" covered="false" /><lineToCover lineNumber="235" covered="false" /><lineToCover lineNumber="236" covered="false" /><lineToCover lineNumber="237" covered="false" /><lineToCover lineNumber="238" covered="false" /><lineToCover lineNumber="241" covered="false" /><lineToCover lineNumber="244" covered="false" /><lineToCover lineNumber="246" covered="false" /><lineToCover lineNumber="249" covered="false" /><lineToCover lineNumber="251" covered="false" /><lineToCover lineNumber="254" covered="false" /><lineToCover lineNumber="256" covered="false" /><lineToCover lineNumber="259" covered="false" /><lineToCover lineNumber="261" covered="false" /><lineToCover lineNumber="264" covered="false" /><lineToCover lineNumber="266" covered="false" /><lineToCover lineNumber="270" covered="false" /><lineToCover lineNumber="272" covered="false" /><lineToCover lineNumber="275" covered="false" /><lineToCover lineNumber="277" covered="false" /><lineToCover lineNumber="280" covered="false" /><lineToCover lineNumber="282" covered="false" /><lineToCover lineNumber="285" covered="false" /><lineToCover lineNumber="287" covered="false" /><lineToCover lineNumber="290" covered="false" /><lineToCover lineNumber="292" covered="false" /><lineToCover lineNumber="295" covered="false" /><lineToCover lineNumber="297" covered="false" /></file><file path="/usr/include/c++/9/iostream" /><file path="/usr/local/include/gtest/gtest.h"><lineToCover lineNumber="336" covered="false" /><lineToCover lineNumber="337" covered="false" /><lineToCover lineNumber="340" covered="false" /><lineToCover lineNumber="343" covered="false" /><lineToCover lineNumber="344" covered="false" /><lineToCover lineNumber="345" covered="false" /><lineToCover lineNumber="358" covered="false" /><lineToCover lineNumber="359" covered="false" /><lineToCover lineNumber="360" covered="false" /><lineToCover lineNumber="361" covered="false" /><lineToCover lineNumber="430" covered="false" /><lineToCover lineNumber="438" covered="false" /><lineToCover lineNumber="443" covered="false" /><lineToCover lineNumber="444" covered="false" /><lineToCover lineNumber="525" covered="false" /><lineToCover lineNumber="1525" covered="false" /><lineToCover lineNumber="1532" covered="false" /><lineToCover lineNumber="1544" covered="true" /><lineToCover lineNumber="1548" covered="true" /><lineToCover lineNumber="1549" covered="true" /><lineToCover lineNumber="1552" covered="false" /><lineToCover lineNumber="1564" covered="true" /><lineToCover lineNumber="1567" covered="true" /><lineToCover lineNumber="1598" covered="false" /><lineToCover lineNumber="1602" covered="false" /><lineToCover lineNumber="1603" covered="false" /><lineToCover lineNumber="1604" covered="false" /><lineToCover lineNumber="1635" covered="true" /></file><file path="tests/unit_test_autoboot/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h"><lineToCover lineNumber="125" covered="true" /><lineToCover lineNumber="153" covered="true" /><lineToCover lineNumber="155" covered="true" /></file><file path="/usr/include/c++/9/atomic"><lineToCover lineNumber="759" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h"><lineToCover lineNumber="181" covered="true" /><lineToCover lineNumber="182" covered="true" /><lineToCover lineNumber="199" covered="true" /><lineToCover lineNumber="200" covered="true" /><lineToCover lineNumber="201" covered="true" /><lineToCover lineNumber="202" covered="true" /><lineToCover lineNumber="203" covered="true" /><lineToCover lineNumber="204" covered="true" /><lineToCover lineNumber="205" covered="true" /><lineToCover lineNumber="206" covered="false" /><lineToCover lineNumber="208" covered="true" /><lineToCover lineNumber="233" covered="true" /><lineToCover lineNumber="234" covered="true" /><lineToCover lineNumber="304" covered="true" /><lineToCover lineNumber="305" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h"><lineToCover lineNumber="207" covered="true" /><lineToCover lineNumber="276" covered="true" /><lineToCover lineNumber="277" covered="true" /><lineToCover lineNumber="367" covered="true" /><lineToCover lineNumber="368" covered="true" /><lineToCover lineNumber="393" covered="true" /><lineToCover lineNumber="394" covered="true" /><lineToCover lineNumber="401" covered="true" /><lineToCover lineNumber="402" covered="true" /><lineToCover lineNumber="403" covered="true" /><lineToCover lineNumber="404" covered="true" /><lineToCover lineNumber="520" covered="true" /><lineToCover lineNumber="522" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h"><lineToCover lineNumber="60" covered="true" /><lineToCover lineNumber="162" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h"><lineToCover lineNumber="75" covered="false" /></file><file path="registeredSession/plugins/autoboot/autostartinterface.cpp"><lineToCover lineNumber="14" covered="true" /><lineToCover lineNumber="16" covered="true" /><lineToCover lineNumber="17" covered="true" /><lineToCover lineNumber="19" covered="true" /><lineToCover lineNumber="20" covered="true" /><lineToCover lineNumber="21" covered="false" /><lineToCover lineNumber="22" covered="false" /><lineToCover lineNumber="23" covered="true" /><lineToCover lineNumber="24" covered="true" /><lineToCover lineNumber="25" covered="false" /><lineToCover lineNumber="26" covered="false" /><lineToCover lineNumber="28" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="32" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="40" covered="true" /><lineToCover lineNumber="41" covered="true" /><lineToCover lineNumber="42" covered="true" /><lineToCover lineNumber="43" covered="true" /><lineToCover lineNumber="44" covered="true" /><lineToCover lineNumber="45" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="55" covered="true" /><lineToCover lineNumber="58" covered="true" /><lineToCover lineNumber="60" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="84" covered="false" /><lineToCover lineNumber="85" covered="false" /><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="90" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="99" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="102" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="105" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="107" covered="true" /><lineToCover lineNumber="108" covered="false" /><lineToCover lineNumber="109" covered="true" /><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="111" covered="false" /><lineToCover lineNumber="112" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="120" covered="true" /><lineToCover lineNumber="121" covered="true" /><lineToCover lineNumber="122" covered="true" /><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="126" covered="true" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="130" covered="false" /><lineToCover lineNumber="131" covered="false" /><lineToCover lineNumber="133" covered="true" /><lineToCover lineNumber="136" covered="true" /><lineToCover lineNumber="139" covered="true" /><lineToCover lineNumber="141" covered="true" /><lineToCover lineNumber="142" covered="true" /><lineToCover lineNumber="145" covered="true" /><lineToCover lineNumber="146" covered="true" /><lineToCover lineNumber="147" covered="false" /><lineToCover lineNumber="149" covered="true" /><lineToCover lineNumber="150" covered="true" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="156" covered="true" /><lineToCover lineNumber="157" covered="true" /><lineToCover lineNumber="162" covered="true" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="165" covered="true" /><lineToCover lineNumber="167" covered="true" /><lineToCover lineNumber="168" covered="true" /><lineToCover lineNumber="169" covered="true" /><lineToCover lineNumber="171" covered="false" /><lineToCover lineNumber="174" covered="true" /><lineToCover lineNumber="176" covered="true" /><lineToCover lineNumber="180" covered="true" /><lineToCover lineNumber="182" covered="true" /><lineToCover lineNumber="183" covered="true" /><lineToCover lineNumber="184" covered="true" /><lineToCover lineNumber="185" covered="true" /><lineToCover lineNumber="186" covered="true" /><lineToCover lineNumber="191" covered="true" /><lineToCover lineNumber="193" covered="true" /><lineToCover lineNumber="194" covered="true" /><lineToCover lineNumber="197" covered="true" /><lineToCover lineNumber="198" covered="true" /><lineToCover lineNumber="199" covered="true" /><lineToCover lineNumber="200" covered="true" /><lineToCover lineNumber="201" covered="true" /><lineToCover lineNumber="202" covered="true" /><lineToCover lineNumber="203" covered="true" /><lineToCover lineNumber="207" covered="true" /><lineToCover lineNumber="209" covered="true" /><lineToCover lineNumber="210" covered="true" /><lineToCover lineNumber="212" covered="true" /><lineToCover lineNumber="213" covered="true" /><lineToCover lineNumber="214" covered="true" /><lineToCover lineNumber="219" covered="true" /><lineToCover lineNumber="220" covered="false" /><lineToCover lineNumber="221" covered="false" /><lineToCover lineNumber="226" covered="true" /><lineToCover lineNumber="228" covered="true" /><lineToCover lineNumber="229" covered="true" /><lineToCover lineNumber="232" covered="false" /><lineToCover lineNumber="233" covered="false" /><lineToCover lineNumber="234" covered="false" /><lineToCover lineNumber="235" covered="false" /><lineToCover lineNumber="237" covered="false" /><lineToCover lineNumber="240" covered="false" /><lineToCover lineNumber="241" covered="false" /><lineToCover lineNumber="242" covered="false" /><lineToCover lineNumber="243" covered="false" /><lineToCover lineNumber="246" covered="false" /><lineToCover lineNumber="247" covered="false" /><lineToCover lineNumber="253" covered="true" /><lineToCover lineNumber="255" covered="true" /><lineToCover lineNumber="256" covered="true" /><lineToCover lineNumber="257" covered="true" /><lineToCover lineNumber="260" covered="true" /><lineToCover lineNumber="262" covered="true" /><lineToCover lineNumber="263" covered="true" /><lineToCover lineNumber="264" covered="true" /><lineToCover lineNumber="265" covered="true" /><lineToCover lineNumber="268" covered="false" /><lineToCover lineNumber="270" covered="false" /><lineToCover lineNumber="271" covered="false" /><lineToCover lineNumber="272" covered="false" /><lineToCover lineNumber="273" covered="false" /><lineToCover lineNumber="274" covered="false" /><lineToCover lineNumber="275" covered="false" /><lineToCover lineNumber="276" covered="false" /><lineToCover lineNumber="277" covered="false" /><lineToCover lineNumber="280" covered="false" /><lineToCover lineNumber="282" covered="false" /><lineToCover lineNumber="283" covered="false" /><lineToCover lineNumber="284" covered="false" /><lineToCover lineNumber="285" covered="false" /><lineToCover lineNumber="286" covered="false" /><lineToCover lineNumber="287" covered="false" /><lineToCover lineNumber="288" covered="false" /><lineToCover lineNumber="289" covered="false" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h"><lineToCover lineNumber="88" covered="false" /><lineToCover lineNumber="145" covered="false" /><lineToCover lineNumber="146" covered="false" /><lineToCover lineNumber="147" covered="false" /><lineToCover lineNumber="387" covered="true" /><lineToCover lineNumber="396" covered="true" /><lineToCover lineNumber="432" covered="true" /><lineToCover lineNumber="434" covered="true" /><lineToCover lineNumber="435" covered="true" /><lineToCover lineNumber="436" covered="true" /><lineToCover lineNumber="438" covered="false" /><lineToCover lineNumber="439" covered="false" /><lineToCover lineNumber="440" covered="false" /><lineToCover lineNumber="441" covered="true" /><lineToCover lineNumber="445" covered="true" /><lineToCover lineNumber="447" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h"><lineToCover lineNumber="150" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qdir.h"><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="114" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h"><lineToCover lineNumber="795" covered="true" /><lineToCover lineNumber="798" covered="true" /><lineToCover lineNumber="799" covered="true" /><lineToCover lineNumber="801" covered="true" /><lineToCover lineNumber="803" covered="true" /><lineToCover lineNumber="804" covered="true" /><lineToCover lineNumber="805" covered="false" /><lineToCover lineNumber="1466" covered="true" /><lineToCover lineNumber="1662" covered="true" /><lineToCover lineNumber="1674" covered="false" /><lineToCover lineNumber="1675" covered="false" /><lineToCover lineNumber="1728" covered="true" /><lineToCover lineNumber="1738" covered="true" /><lineToCover lineNumber="1739" covered="false" /><lineToCover lineNumber="1740" covered="false" /><lineToCover lineNumber="1742" covered="true" /><lineToCover lineNumber="1744" covered="true" /><lineToCover lineNumber="1745" covered="true" /><lineToCover lineNumber="1747" covered="true" /><lineToCover lineNumber="1765" covered="true" /><lineToCover lineNumber="1775" covered="true" /><lineToCover lineNumber="1777" covered="true" /><lineToCover lineNumber="1795" covered="true" /><lineToCover lineNumber="1798" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtDBus/qdbusmetatype.h"><lineToCover lineNumber="67" covered="false" /><lineToCover lineNumber="68" covered="false" /><lineToCover lineNumber="71" covered="false" /><lineToCover lineNumber="72" covered="false" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h"><lineToCover lineNumber="308" covered="true" /><lineToCover lineNumber="326" covered="true" /><lineToCover lineNumber="327" covered="false" /><lineToCover lineNumber="330" covered="true" /><lineToCover lineNumber="332" covered="true" /><lineToCover lineNumber="333" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h"><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="92" covered="true" /></file><file path="/usr/include/KF5/KConfigCore/kconfiggroup.h"><lineToCover lineNumber="728" covered="true" /><lineToCover lineNumber="731" covered="true" /><lineToCover lineNumber="757" covered="true" /><lineToCover lineNumber="760" covered="true" /><lineToCover lineNumber="761" covered="true" /></file><file path="/usr/include/c++/9/new" /><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h"><lineToCover lineNumber="120" covered="true" /><lineToCover lineNumber="133" covered="true" /></file><file path="/usr/include/c++/9/bits/char_traits.h"><lineToCover lineNumber="329" covered="true" /><lineToCover lineNumber="335" covered="true" /></file><file path="/usr/include/c++/9/initializer_list"><lineToCover lineNumber="79" covered="true" /></file><file path="/usr/include/c++/9/bits/stl_iterator_base_funcs.h"><lineToCover lineNumber="138" covered="true" /><lineToCover lineNumber="141" covered="true" /><lineToCover lineNumber="142" covered="true" /></file><file path="/usr/local/include/gtest/gtest-message.h"><lineToCover lineNumber="111" covered="false" /><lineToCover lineNumber="127" covered="false" /><lineToCover lineNumber="128" covered="false" /></file><file path="/usr/local/include/gtest/internal/gtest-internal.h"><lineToCover lineNumber="433" covered="true" /><lineToCover lineNumber="438" covered="true" /><lineToCover lineNumber="452" covered="true" /><lineToCover lineNumber="459" covered="true" /><lineToCover lineNumber="470" covered="true" /><lineToCover lineNumber="491" covered="true" /><lineToCover lineNumber="492" covered="true" /><lineToCover lineNumber="504" covered="true" /><lineToCover lineNumber="506" covered="true" /><lineToCover lineNumber="519" covered="true" /><lineToCover lineNumber="523" covered="true" /><lineToCover lineNumber="525" covered="true" /><lineToCover lineNumber="527" covered="true" /><lineToCover lineNumber="530" covered="false" /><lineToCover lineNumber="532" covered="true" /><lineToCover lineNumber="540" covered="true" /><lineToCover lineNumber="544" covered="true" /><lineToCover lineNumber="546" covered="true" /><lineToCover lineNumber="548" covered="true" /><lineToCover lineNumber="551" covered="false" /><lineToCover lineNumber="553" covered="true" /></file><file path="/usr/include/c++/9/ext/type_traits.h"><lineToCover lineNumber="152" covered="true" /><lineToCover lineNumber="153" covered="true" /></file><file path="/usr/local/include/gtest/internal/gtest-port.h" /><file path="/usr/include/c++/9/bits/stl_iterator.h"><lineToCover lineNumber="490" covered="true" /><lineToCover lineNumber="491" covered="true" /><lineToCover lineNumber="513" covered="true" /><lineToCover lineNumber="515" covered="true" /><lineToCover lineNumber="516" covered="true" /><lineToCover lineNumber="529" covered="true" /><lineToCover lineNumber="530" covered="true" /><lineToCover lineNumber="556" covered="true" /><lineToCover lineNumber="557" covered="true" /></file><file path="/usr/include/c++/9/bits/basic_string.tcc"><lineToCover lineNumber="206" covered="true" /><lineToCover lineNumber="211" covered="true" /><lineToCover lineNumber="212" covered="false" /><lineToCover lineNumber="215" covered="true" /><lineToCover lineNumber="217" covered="true" /><lineToCover lineNumber="219" covered="true" /><lineToCover lineNumber="220" covered="true" /><lineToCover lineNumber="225" covered="true" /><lineToCover lineNumber="232" covered="true" /><lineToCover lineNumber="233" covered="true" /></file><file path="/usr/include/c++/9/bits/basic_string.h"><lineToCover lineNumber="263" covered="true" /><lineToCover lineNumber="266" covered="true" /><lineToCover lineNumber="267" covered="true" /></file><file path="/usr/include/c++/9/bits/stl_algobase.h"><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="151" covered="true" /><lineToCover lineNumber="153" covered="true" /><lineToCover lineNumber="280" covered="true" /><lineToCover lineNumber="282" covered="true" /><lineToCover lineNumber="562" covered="true" /><lineToCover lineNumber="565" covered="true" /><lineToCover lineNumber="566" covered="true" /><lineToCover lineNumber="567" covered="true" /><lineToCover lineNumber="595" covered="true" /><lineToCover lineNumber="608" covered="true" /><lineToCover lineNumber="613" covered="true" /><lineToCover lineNumber="618" covered="true" /><lineToCover lineNumber="676" covered="true" /><lineToCover lineNumber="688" covered="true" /><lineToCover lineNumber="1020" covered="true" /><lineToCover lineNumber="1021" covered="true" /></file><file path="/usr/include/c++/9/bits/unique_ptr.h"><lineToCover lineNumber="153" covered="true" /><lineToCover lineNumber="154" covered="false" /><lineToCover lineNumber="286" covered="true" /><lineToCover lineNumber="290" covered="true" /><lineToCover lineNumber="291" covered="true" /><lineToCover lineNumber="292" covered="true" /><lineToCover lineNumber="293" covered="true" /><lineToCover lineNumber="294" covered="true" /><lineToCover lineNumber="344" covered="true" /><lineToCover lineNumber="347" covered="true" /><lineToCover lineNumber="352" covered="false" /><lineToCover lineNumber="355" covered="false" /><lineToCover lineNumber="360" covered="false" /><lineToCover lineNumber="361" covered="false" /><lineToCover lineNumber="395" covered="false" /><lineToCover lineNumber="400" covered="false" /><lineToCover lineNumber="401" covered="false" /><lineToCover lineNumber="402" covered="false" /><lineToCover lineNumber="403" covered="false" /></file><file path="/usr/include/c++/9/tuple"><lineToCover lineNumber="160" covered="true" /><lineToCover lineNumber="163" covered="false" /><lineToCover lineNumber="195" covered="true" /><lineToCover lineNumber="198" covered="false" /><lineToCover lineNumber="1309" covered="true" /><lineToCover lineNumber="1310" covered="true" /><lineToCover lineNumber="1314" covered="false" /><lineToCover lineNumber="1315" covered="false" /><lineToCover lineNumber="1320" covered="true" /><lineToCover lineNumber="1321" covered="true" /><lineToCover lineNumber="1326" covered="false" /><lineToCover lineNumber="1327" covered="false" /></file><file path="tests/unit_test_autoboot/unit_test_autoboot.cpp"><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="32" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="40" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="55" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="90" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="102" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="108" covered="true" /><lineToCover lineNumber="109" covered="true" /><lineToCover lineNumber="112" covered="true" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="120" covered="true" /><lineToCover lineNumber="121" covered="true" /></file><file path="/usr/include/c++/9/bits/cpp_type_traits.h"><lineToCover lineNumber="428" covered="true" /><lineToCover lineNumber="429" covered="true" /></file><file path="/usr/include/c++/9/bits/alloc_traits.h" /><file path="/usr/local/include/gtest/gtest-printers.h"><lineToCover lineNumber="331" covered="false" /><lineToCover lineNumber="332" covered="false" /><lineToCover lineNumber="457" covered="false" /><lineToCover lineNumber="458" covered="false" /><lineToCover lineNumber="459" covered="false" /><lineToCover lineNumber="1028" covered="false" /><lineToCover lineNumber="1029" covered="false" /><lineToCover lineNumber="1030" covered="false" /><lineToCover lineNumber="1031" covered="false" /></file><file path="/usr/include/c++/9/ext/alloc_traits.h" /><file path="tests/unit_test_about/unit_test_about.cpp"><lineToCover lineNumber="27" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="32" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="45" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="55" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="98" covered="false" /><lineToCover lineNumber="102" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="105" covered="true" /></file><file path="tests/unit_test_about/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /></file><file path="registeredSession/plugins/about/aboutinterface.h"><lineToCover lineNumber="20" covered="true" /></file><file path="tests/unit_test_about/moc_aboutinterface.cpp"><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="103" covered="false" /><lineToCover lineNumber="104" covered="false" /><lineToCover lineNumber="105" covered="false" /><lineToCover lineNumber="106" covered="false" /><lineToCover lineNumber="111" covered="true" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="116" covered="true" /><lineToCover lineNumber="117" covered="false" /><lineToCover lineNumber="118" covered="false" /><lineToCover lineNumber="119" covered="false" /><lineToCover lineNumber="120" covered="false" /><lineToCover lineNumber="121" covered="false" /><lineToCover lineNumber="122" covered="false" /><lineToCover lineNumber="123" covered="false" /><lineToCover lineNumber="124" covered="false" /><lineToCover lineNumber="131" covered="true" /><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="145" covered="true" /><lineToCover lineNumber="148" covered="false" /><lineToCover lineNumber="150" covered="false" /><lineToCover lineNumber="151" covered="false" /><lineToCover lineNumber="153" covered="false" /><lineToCover lineNumber="156" covered="true" /><lineToCover lineNumber="158" covered="true" /><lineToCover lineNumber="159" covered="true" /><lineToCover lineNumber="161" covered="true" /><lineToCover lineNumber="162" covered="false" /><lineToCover lineNumber="163" covered="false" /><lineToCover lineNumber="164" covered="false" /><lineToCover lineNumber="165" covered="true" /><lineToCover lineNumber="166" covered="false" /><lineToCover lineNumber="167" covered="false" /><lineToCover lineNumber="168" covered="false" /><lineToCover lineNumber="171" covered="true" /><lineToCover lineNumber="172" covered="true" /><lineToCover lineNumber="173" covered="true" /><lineToCover lineNumber="174" covered="true" /><lineToCover lineNumber="175" covered="false" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="177" covered="false" /><lineToCover lineNumber="178" covered="false" /><lineToCover lineNumber="179" covered="false" /><lineToCover lineNumber="180" covered="false" /><lineToCover lineNumber="181" covered="false" /><lineToCover lineNumber="182" covered="false" /><lineToCover lineNumber="183" covered="false" /><lineToCover lineNumber="184" covered="false" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h"><lineToCover lineNumber="185" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h"><lineToCover lineNumber="230" covered="false" /><lineToCover lineNumber="231" covered="false" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h"><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="454" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/bits/string_fortified.h" /><file path="/usr/include/x86_64-linux-gnu/bits/byteswap.h"><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="49" covered="false" /><lineToCover lineNumber="52" covered="false" /></file><file path="registeredSession/plugins/about/aboutinterface.cpp"><lineToCover lineNumber="28" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="32" covered="true" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="40" covered="true" /><lineToCover lineNumber="41" covered="true" /><lineToCover lineNumber="42" covered="true" /><lineToCover lineNumber="43" covered="true" /><lineToCover lineNumber="44" covered="true" /><lineToCover lineNumber="45" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="58" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="60" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="92" covered="false" /><lineToCover lineNumber="93" covered="false" /><lineToCover lineNumber="94" covered="false" /><lineToCover lineNumber="95" covered="false" /><lineToCover lineNumber="96" covered="false" /><lineToCover lineNumber="97" covered="false" /><lineToCover lineNumber="102" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="105" covered="true" /><lineToCover lineNumber="107" covered="true" /><lineToCover lineNumber="109" covered="true" /><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="112" covered="false" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="116" covered="true" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="119" covered="true" /><lineToCover lineNumber="121" covered="false" /><lineToCover lineNumber="123" covered="false" /><lineToCover lineNumber="126" covered="true" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="130" covered="true" /><lineToCover lineNumber="131" covered="true" /><lineToCover lineNumber="133" covered="true" /><lineToCover lineNumber="135" covered="true" /><lineToCover lineNumber="136" covered="true" /><lineToCover lineNumber="137" covered="true" /><lineToCover lineNumber="138" covered="true" /><lineToCover lineNumber="139" covered="true" /><lineToCover lineNumber="140" covered="true" /><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="145" covered="true" /><lineToCover lineNumber="146" covered="true" /><lineToCover lineNumber="147" covered="true" /><lineToCover lineNumber="150" covered="true" /><lineToCover lineNumber="151" covered="true" /><lineToCover lineNumber="152" covered="true" /><lineToCover lineNumber="153" covered="true" /><lineToCover lineNumber="154" covered="true" /><lineToCover lineNumber="155" covered="true" /><lineToCover lineNumber="157" covered="false" /><lineToCover lineNumber="158" covered="false" /><lineToCover lineNumber="161" covered="false" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="166" covered="true" /><lineToCover lineNumber="169" covered="true" /><lineToCover lineNumber="170" covered="true" /><lineToCover lineNumber="171" covered="true" /><lineToCover lineNumber="172" covered="true" /><lineToCover lineNumber="173" covered="false" /><lineToCover lineNumber="175" covered="true" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="179" covered="true" /><lineToCover lineNumber="180" covered="true" /><lineToCover lineNumber="184" covered="true" /><lineToCover lineNumber="185" covered="true" /><lineToCover lineNumber="186" covered="true" /><lineToCover lineNumber="188" covered="true" /><lineToCover lineNumber="189" covered="true" /><lineToCover lineNumber="190" covered="true" /><lineToCover lineNumber="191" covered="true" /><lineToCover lineNumber="192" covered="true" /><lineToCover lineNumber="195" covered="true" /><lineToCover lineNumber="198" covered="true" /><lineToCover lineNumber="201" covered="true" /><lineToCover lineNumber="202" covered="true" /><lineToCover lineNumber="203" covered="true" /><lineToCover lineNumber="204" covered="true" /><lineToCover lineNumber="206" covered="true" /><lineToCover lineNumber="208" covered="true" /><lineToCover lineNumber="209" covered="true" /><lineToCover lineNumber="210" covered="true" /><lineToCover lineNumber="211" covered="false" /><lineToCover lineNumber="213" covered="true" /><lineToCover lineNumber="214" covered="false" /><lineToCover lineNumber="217" covered="true" /><lineToCover lineNumber="218" covered="true" /><lineToCover lineNumber="221" covered="true" /><lineToCover lineNumber="222" covered="true" /><lineToCover lineNumber="223" covered="true" /><lineToCover lineNumber="225" covered="true" /><lineToCover lineNumber="226" covered="true" /><lineToCover lineNumber="227" covered="true" /><lineToCover lineNumber="228" covered="true" /><lineToCover lineNumber="229" covered="true" /><lineToCover lineNumber="233" covered="true" /><lineToCover lineNumber="237" covered="true" /><lineToCover lineNumber="238" covered="true" /><lineToCover lineNumber="239" covered="true" /><lineToCover lineNumber="240" covered="true" /><lineToCover lineNumber="243" covered="true" /><lineToCover lineNumber="245" covered="true" /><lineToCover lineNumber="246" covered="true" /><lineToCover lineNumber="247" covered="true" /><lineToCover lineNumber="248" covered="true" /><lineToCover lineNumber="249" covered="true" /><lineToCover lineNumber="251" covered="true" /><lineToCover lineNumber="253" covered="true" /><lineToCover lineNumber="256" covered="true" /><lineToCover lineNumber="258" covered="true" /><lineToCover lineNumber="259" covered="true" /><lineToCover lineNumber="260" covered="true" /><lineToCover lineNumber="261" covered="true" /><lineToCover lineNumber="264" covered="true" /><lineToCover lineNumber="266" covered="true" /><lineToCover lineNumber="267" covered="true" /><lineToCover lineNumber="268" covered="false" /><lineToCover lineNumber="270" covered="true" /><lineToCover lineNumber="271" covered="true" /><lineToCover lineNumber="273" covered="true" /><lineToCover lineNumber="274" covered="true" /><lineToCover lineNumber="275" covered="true" /><lineToCover lineNumber="279" covered="false" /><lineToCover lineNumber="280" covered="false" /><lineToCover lineNumber="281" covered="false" /><lineToCover lineNumber="283" covered="false" /><lineToCover lineNumber="284" covered="false" /><lineToCover lineNumber="285" covered="false" /><lineToCover lineNumber="286" covered="false" /><lineToCover lineNumber="287" covered="false" /><lineToCover lineNumber="288" covered="false" /><lineToCover lineNumber="289" covered="false" /><lineToCover lineNumber="290" covered="false" /><lineToCover lineNumber="291" covered="false" /><lineToCover lineNumber="292" covered="false" /><lineToCover lineNumber="296" covered="false" /><lineToCover lineNumber="297" covered="false" /><lineToCover lineNumber="300" covered="true" /><lineToCover lineNumber="303" covered="true" /><lineToCover lineNumber="304" covered="true" /><lineToCover lineNumber="305" covered="true" /><lineToCover lineNumber="306" covered="true" /><lineToCover lineNumber="307" covered="true" /><lineToCover lineNumber="308" covered="true" /><lineToCover lineNumber="309" covered="true" /><lineToCover lineNumber="310" covered="true" /><lineToCover lineNumber="312" covered="true" /><lineToCover lineNumber="313" covered="true" /><lineToCover lineNumber="314" covered="true" /><lineToCover lineNumber="315" covered="false" /><lineToCover lineNumber="319" covered="false" /><lineToCover lineNumber="322" covered="false" /><lineToCover lineNumber="324" covered="false" /><lineToCover lineNumber="325" covered="false" /><lineToCover lineNumber="326" covered="false" /><lineToCover lineNumber="327" covered="false" /><lineToCover lineNumber="330" covered="true" /><lineToCover lineNumber="332" covered="true" /><lineToCover lineNumber="333" covered="true" /><lineToCover lineNumber="334" covered="true" /><lineToCover lineNumber="335" covered="true" /><lineToCover lineNumber="336" covered="false" /><lineToCover lineNumber="337" covered="false" /><lineToCover lineNumber="339" covered="true" /><lineToCover lineNumber="340" covered="true" /><lineToCover lineNumber="341" covered="true" /><lineToCover lineNumber="342" covered="true" /><lineToCover lineNumber="343" covered="true" /><lineToCover lineNumber="345" covered="true" /><lineToCover lineNumber="346" covered="true" /><lineToCover lineNumber="348" covered="false" /><lineToCover lineNumber="349" covered="false" /><lineToCover lineNumber="353" covered="true" /><lineToCover lineNumber="355" covered="true" /><lineToCover lineNumber="359" covered="true" /><lineToCover lineNumber="360" covered="true" /><lineToCover lineNumber="362" covered="true" /><lineToCover lineNumber="363" covered="true" /><lineToCover lineNumber="364" covered="false" /><lineToCover lineNumber="365" covered="false" /><lineToCover lineNumber="369" covered="true" /><lineToCover lineNumber="370" covered="true" /><lineToCover lineNumber="371" covered="true" /><lineToCover lineNumber="372" covered="true" /><lineToCover lineNumber="373" covered="false" /><lineToCover lineNumber="374" covered="false" /><lineToCover lineNumber="381" covered="true" /><lineToCover lineNumber="386" covered="true" /><lineToCover lineNumber="387" covered="true" /><lineToCover lineNumber="393" covered="true" /><lineToCover lineNumber="394" covered="true" /><lineToCover lineNumber="395" covered="true" /><lineToCover lineNumber="396" covered="false" /><lineToCover lineNumber="397" covered="false" /><lineToCover lineNumber="401" covered="true" /><lineToCover lineNumber="402" covered="true" /><lineToCover lineNumber="404" covered="true" /><lineToCover lineNumber="406" covered="true" /><lineToCover lineNumber="407" covered="true" /><lineToCover lineNumber="408" covered="false" /><lineToCover lineNumber="409" covered="false" /><lineToCover lineNumber="414" covered="true" /><lineToCover lineNumber="415" covered="true" /><lineToCover lineNumber="416" covered="true" /><lineToCover lineNumber="417" covered="false" /><lineToCover lineNumber="418" covered="false" /><lineToCover lineNumber="423" covered="true" /><lineToCover lineNumber="424" covered="true" /><lineToCover lineNumber="425" covered="true" /><lineToCover lineNumber="426" covered="true" /><lineToCover lineNumber="427" covered="true" /><lineToCover lineNumber="430" covered="false" /><lineToCover lineNumber="432" covered="false" /><lineToCover lineNumber="434" covered="true" /><lineToCover lineNumber="437" covered="true" /><lineToCover lineNumber="439" covered="true" /><lineToCover lineNumber="442" covered="true" /><lineToCover lineNumber="444" covered="true" /><lineToCover lineNumber="449" covered="true" /><lineToCover lineNumber="450" covered="true" /><lineToCover lineNumber="454" covered="true" /><lineToCover lineNumber="455" covered="true" /><lineToCover lineNumber="457" covered="true" /><lineToCover lineNumber="459" covered="true" /><lineToCover lineNumber="461" covered="true" /><lineToCover lineNumber="462" covered="false" /><lineToCover lineNumber="464" covered="false" /><lineToCover lineNumber="467" covered="true" /><lineToCover lineNumber="468" covered="true" /><lineToCover lineNumber="469" covered="true" /><lineToCover lineNumber="470" covered="true" /><lineToCover lineNumber="471" covered="false" /><lineToCover lineNumber="473" covered="true" /><lineToCover lineNumber="474" covered="false" /><lineToCover lineNumber="476" covered="true" /><lineToCover lineNumber="480" covered="true" /><lineToCover lineNumber="481" covered="true" /><lineToCover lineNumber="483" covered="true" /></file><file path="/usr/include/c++/9/cmath"><lineToCover lineNumber="165" covered="true" /><lineToCover lineNumber="166" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/bits/socket2.h"><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="72" covered="false" /><lineToCover lineNumber="73" covered="false" /><lineToCover lineNumber="74" covered="false" /><lineToCover lineNumber="76" covered="true" /></file><file path="registeredSession/plugins/screenlock/screenlockinterface.cpp"><lineToCover lineNumber="7" covered="true" /><lineToCover lineNumber="10" covered="true" /><lineToCover lineNumber="11" covered="true" /><lineToCover lineNumber="12" covered="true" /><lineToCover lineNumber="13" covered="true" /><lineToCover lineNumber="14" covered="true" /><lineToCover lineNumber="16" covered="true" /><lineToCover lineNumber="19" covered="true" /><lineToCover lineNumber="21" covered="true" /><lineToCover lineNumber="23" covered="true" /><lineToCover lineNumber="25" covered="true" /><lineToCover lineNumber="26" covered="false" /><lineToCover lineNumber="27" covered="false" /><lineToCover lineNumber="28" covered="false" /><lineToCover lineNumber="29" covered="false" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="32" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="40" covered="false" /><lineToCover lineNumber="43" covered="true" /><lineToCover lineNumber="44" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="55" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="62" covered="false" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="81" covered="false" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="93" covered="true" /><lineToCover lineNumber="95" covered="false" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="105" covered="true" /><lineToCover lineNumber="107" covered="false" /><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="112" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="116" covered="false" /><lineToCover lineNumber="118" covered="false" /><lineToCover lineNumber="119" covered="false" /><lineToCover lineNumber="120" covered="false" /><lineToCover lineNumber="122" covered="false" /><lineToCover lineNumber="123" covered="false" /><lineToCover lineNumber="124" covered="false" /><lineToCover lineNumber="125" covered="false" /></file><file path="tests/unit_test_screenlock/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /></file><file path="tests/unit_test_screenlock/moc_screenlockinterface.cpp"><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="106" covered="false" /><lineToCover lineNumber="107" covered="false" /><lineToCover lineNumber="108" covered="false" /><lineToCover lineNumber="109" covered="false" /><lineToCover lineNumber="110" covered="false" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="114" covered="false" /><lineToCover lineNumber="117" covered="false" /><lineToCover lineNumber="118" covered="false" /><lineToCover lineNumber="119" covered="false" /><lineToCover lineNumber="124" covered="true" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="130" covered="false" /><lineToCover lineNumber="131" covered="false" /><lineToCover lineNumber="132" covered="false" /><lineToCover lineNumber="151" covered="true" /><lineToCover lineNumber="153" covered="true" /><lineToCover lineNumber="156" covered="false" /><lineToCover lineNumber="158" covered="false" /><lineToCover lineNumber="159" covered="false" /><lineToCover lineNumber="161" covered="false" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="166" covered="true" /><lineToCover lineNumber="167" covered="true" /><lineToCover lineNumber="169" covered="true" /><lineToCover lineNumber="170" covered="false" /><lineToCover lineNumber="171" covered="false" /><lineToCover lineNumber="172" covered="false" /><lineToCover lineNumber="173" covered="true" /><lineToCover lineNumber="174" covered="false" /><lineToCover lineNumber="175" covered="false" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="179" covered="true" /><lineToCover lineNumber="180" covered="true" /><lineToCover lineNumber="181" covered="true" /><lineToCover lineNumber="182" covered="true" /><lineToCover lineNumber="183" covered="false" /><lineToCover lineNumber="184" covered="false" /><lineToCover lineNumber="185" covered="false" /><lineToCover lineNumber="186" covered="false" /><lineToCover lineNumber="187" covered="false" /><lineToCover lineNumber="188" covered="false" /><lineToCover lineNumber="189" covered="false" /><lineToCover lineNumber="190" covered="false" /><lineToCover lineNumber="191" covered="false" /><lineToCover lineNumber="192" covered="false" /><lineToCover lineNumber="199" covered="true" /><lineToCover lineNumber="201" covered="true" /><lineToCover lineNumber="202" covered="true" /><lineToCover lineNumber="203" covered="true" /></file><file path="tests/unit_test_screenlock/unit_test_screenlock.cpp"><lineToCover lineNumber="28" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="55" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="58" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="60" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="72" covered="false" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="90" covered="true" /><lineToCover lineNumber="91" covered="true" /></file><file path="registeredSession/plugins/vino/vinointerface.cpp"><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /><lineToCover lineNumber="8" covered="true" /><lineToCover lineNumber="10" covered="true" /><lineToCover lineNumber="11" covered="true" /><lineToCover lineNumber="12" covered="true" /><lineToCover lineNumber="13" covered="true" /><lineToCover lineNumber="14" covered="true" /><lineToCover lineNumber="15" covered="true" /><lineToCover lineNumber="16" covered="true" /><lineToCover lineNumber="17" covered="true" /><lineToCover lineNumber="19" covered="true" /><lineToCover lineNumber="21" covered="true" /><lineToCover lineNumber="22" covered="true" /><lineToCover lineNumber="24" covered="true" /><lineToCover lineNumber="26" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="32" covered="false" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="41" covered="true" /><lineToCover lineNumber="42" covered="false" /><lineToCover lineNumber="44" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="52" covered="false" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="71" covered="false" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="81" covered="false" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="90" covered="true" /><lineToCover lineNumber="91" covered="false" /><lineToCover lineNumber="93" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="107" covered="true" /><lineToCover lineNumber="109" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="116" covered="false" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="122" covered="false" /><lineToCover lineNumber="124" covered="false" /><lineToCover lineNumber="125" covered="false" /><lineToCover lineNumber="127" covered="false" /></file><file path="tests/unit_test_vino/unit_test_vino.cpp"><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="40" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="77" covered="false" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="99" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="107" covered="true" /><lineToCover lineNumber="109" covered="true" /><lineToCover lineNumber="111" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="121" covered="true" /><lineToCover lineNumber="122" covered="true" /><lineToCover lineNumber="124" covered="true" /><lineToCover lineNumber="126" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="131" covered="true" /><lineToCover lineNumber="135" covered="true" /><lineToCover lineNumber="137" covered="true" /><lineToCover lineNumber="139" covered="true" /><lineToCover lineNumber="141" covered="true" /><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="146" covered="true" /><lineToCover lineNumber="149" covered="true" /><lineToCover lineNumber="150" covered="true" /><lineToCover lineNumber="152" covered="true" /><lineToCover lineNumber="154" covered="true" /><lineToCover lineNumber="156" covered="true" /><lineToCover lineNumber="159" covered="true" /><lineToCover lineNumber="162" covered="true" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="165" covered="true" /><lineToCover lineNumber="167" covered="true" /><lineToCover lineNumber="169" covered="true" /><lineToCover lineNumber="171" covered="true" /><lineToCover lineNumber="173" covered="true" /><lineToCover lineNumber="175" covered="false" /><lineToCover lineNumber="178" covered="true" /><lineToCover lineNumber="181" covered="true" /><lineToCover lineNumber="182" covered="true" /><lineToCover lineNumber="184" covered="true" /><lineToCover lineNumber="186" covered="true" /><lineToCover lineNumber="188" covered="true" /><lineToCover lineNumber="191" covered="false" /><lineToCover lineNumber="194" covered="true" /><lineToCover lineNumber="196" covered="true" /><lineToCover lineNumber="198" covered="true" /><lineToCover lineNumber="200" covered="true" /><lineToCover lineNumber="202" covered="false" /><lineToCover lineNumber="205" covered="true" /><lineToCover lineNumber="208" covered="true" /><lineToCover lineNumber="209" covered="true" /><lineToCover lineNumber="211" covered="true" /><lineToCover lineNumber="213" covered="true" /><lineToCover lineNumber="216" covered="true" /><lineToCover lineNumber="217" covered="true" /><lineToCover lineNumber="219" covered="true" /><lineToCover lineNumber="221" covered="true" /><lineToCover lineNumber="223" covered="true" /><lineToCover lineNumber="225" covered="true" /><lineToCover lineNumber="227" covered="true" /><lineToCover lineNumber="230" covered="true" /><lineToCover lineNumber="233" covered="true" /><lineToCover lineNumber="234" covered="true" /><lineToCover lineNumber="236" covered="true" /><lineToCover lineNumber="238" covered="true" /><lineToCover lineNumber="240" covered="true" /><lineToCover lineNumber="243" covered="true" /></file><file path="tests/unit_test_vino/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /></file><file path="tests/unit_test_vino/moc_vinointerface.cpp"><lineToCover lineNumber="98" covered="false" /><lineToCover lineNumber="100" covered="false" /><lineToCover lineNumber="103" covered="false" /><lineToCover lineNumber="104" covered="false" /><lineToCover lineNumber="105" covered="false" /><lineToCover lineNumber="106" covered="false" /><lineToCover lineNumber="111" covered="false" /><lineToCover lineNumber="114" covered="false" /><lineToCover lineNumber="115" covered="false" /><lineToCover lineNumber="116" covered="false" /><lineToCover lineNumber="117" covered="false" /><lineToCover lineNumber="118" covered="false" /><lineToCover lineNumber="119" covered="false" /><lineToCover lineNumber="120" covered="false" /><lineToCover lineNumber="121" covered="false" /><lineToCover lineNumber="122" covered="false" /><lineToCover lineNumber="123" covered="false" /><lineToCover lineNumber="130" covered="false" /><lineToCover lineNumber="142" covered="false" /><lineToCover lineNumber="144" covered="false" /><lineToCover lineNumber="147" covered="false" /><lineToCover lineNumber="149" covered="false" /><lineToCover lineNumber="150" covered="false" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="155" covered="false" /><lineToCover lineNumber="157" covered="false" /><lineToCover lineNumber="158" covered="false" /><lineToCover lineNumber="160" covered="false" /><lineToCover lineNumber="161" covered="false" /><lineToCover lineNumber="162" covered="false" /><lineToCover lineNumber="163" covered="false" /><lineToCover lineNumber="164" covered="false" /><lineToCover lineNumber="165" covered="false" /><lineToCover lineNumber="166" covered="false" /><lineToCover lineNumber="167" covered="false" /><lineToCover lineNumber="170" covered="false" /><lineToCover lineNumber="171" covered="false" /><lineToCover lineNumber="172" covered="false" /><lineToCover lineNumber="173" covered="false" /><lineToCover lineNumber="174" covered="false" /><lineToCover lineNumber="175" covered="false" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="177" covered="false" /><lineToCover lineNumber="178" covered="false" /><lineToCover lineNumber="179" covered="false" /><lineToCover lineNumber="180" covered="false" /><lineToCover lineNumber="181" covered="false" /><lineToCover lineNumber="182" covered="false" /><lineToCover lineNumber="183" covered="false" /></file><file path="registeredSession/plugins/vino/vinointerface.h" /><file path="registeredSession/plugins/screensaver/screensaverinterface.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="6" covered="true" /><lineToCover lineNumber="7" covered="true" /><lineToCover lineNumber="8" covered="true" /><lineToCover lineNumber="9" covered="false" /><lineToCover lineNumber="10" covered="false" /><lineToCover lineNumber="12" covered="false" /><lineToCover lineNumber="14" covered="true" /><lineToCover lineNumber="15" covered="false" /><lineToCover lineNumber="16" covered="false" /><lineToCover lineNumber="17" covered="false" /><lineToCover lineNumber="18" covered="false" /><lineToCover lineNumber="19" covered="false" /><lineToCover lineNumber="20" covered="false" /><lineToCover lineNumber="22" covered="false" /><lineToCover lineNumber="25" covered="false" /><lineToCover lineNumber="26" covered="true" /><lineToCover lineNumber="28" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="40" covered="true" /><lineToCover lineNumber="41" covered="true" /><lineToCover lineNumber="42" covered="true" /><lineToCover lineNumber="44" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="53" covered="false" /><lineToCover lineNumber="54" covered="false" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="90" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="99" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="105" covered="true" /><lineToCover lineNumber="108" covered="true" /><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="111" covered="true" /><lineToCover lineNumber="112" covered="true" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="116" covered="true" /><lineToCover lineNumber="119" covered="true" /><lineToCover lineNumber="121" covered="true" /><lineToCover lineNumber="122" covered="true" /><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="125" covered="true" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="130" covered="true" /><lineToCover lineNumber="132" covered="true" /><lineToCover lineNumber="133" covered="true" /><lineToCover lineNumber="134" covered="true" /><lineToCover lineNumber="136" covered="true" /><lineToCover lineNumber="138" covered="true" /><lineToCover lineNumber="141" covered="true" /><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="144" covered="true" /><lineToCover lineNumber="145" covered="true" /></file><file path="tests/unit_test_screensaver/unit_test_screensaver.cpp"><lineToCover lineNumber="27" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="32" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="45" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="58" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="105" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="107" covered="true" /><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="112" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="116" covered="true" /><lineToCover lineNumber="119" covered="true" /><lineToCover lineNumber="121" covered="true" /><lineToCover lineNumber="122" covered="true" /><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="124" covered="true" /><lineToCover lineNumber="125" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="130" covered="true" /><lineToCover lineNumber="131" covered="true" /><lineToCover lineNumber="132" covered="true" /><lineToCover lineNumber="133" covered="true" /><lineToCover lineNumber="134" covered="true" /></file><file path="tests/unit_test_screensaver/moc_screensaverinterface.cpp"><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="145" covered="true" /><lineToCover lineNumber="148" covered="false" /><lineToCover lineNumber="149" covered="false" /><lineToCover lineNumber="150" covered="false" /><lineToCover lineNumber="151" covered="false" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="153" covered="false" /><lineToCover lineNumber="154" covered="false" /><lineToCover lineNumber="155" covered="false" /><lineToCover lineNumber="156" covered="false" /><lineToCover lineNumber="157" covered="false" /><lineToCover lineNumber="158" covered="false" /><lineToCover lineNumber="159" covered="false" /><lineToCover lineNumber="162" covered="true" /><lineToCover lineNumber="163" covered="false" /><lineToCover lineNumber="166" covered="false" /><lineToCover lineNumber="167" covered="false" /><lineToCover lineNumber="168" covered="false" /><lineToCover lineNumber="173" covered="true" /><lineToCover lineNumber="176" covered="true" /><lineToCover lineNumber="177" covered="true" /><lineToCover lineNumber="178" covered="true" /><lineToCover lineNumber="179" covered="true" /><lineToCover lineNumber="180" covered="true" /><lineToCover lineNumber="181" covered="true" /><lineToCover lineNumber="182" covered="true" /><lineToCover lineNumber="183" covered="true" /><lineToCover lineNumber="184" covered="true" /><lineToCover lineNumber="185" covered="true" /><lineToCover lineNumber="186" covered="true" /><lineToCover lineNumber="187" covered="true" /><lineToCover lineNumber="206" covered="true" /><lineToCover lineNumber="208" covered="true" /><lineToCover lineNumber="211" covered="false" /><lineToCover lineNumber="213" covered="false" /><lineToCover lineNumber="214" covered="false" /><lineToCover lineNumber="216" covered="false" /><lineToCover lineNumber="219" covered="true" /><lineToCover lineNumber="221" covered="true" /><lineToCover lineNumber="222" covered="true" /><lineToCover lineNumber="224" covered="true" /><lineToCover lineNumber="225" covered="false" /><lineToCover lineNumber="226" covered="false" /><lineToCover lineNumber="227" covered="false" /><lineToCover lineNumber="228" covered="true" /><lineToCover lineNumber="229" covered="false" /><lineToCover lineNumber="230" covered="false" /><lineToCover lineNumber="231" covered="false" /><lineToCover lineNumber="234" covered="true" /><lineToCover lineNumber="235" covered="true" /><lineToCover lineNumber="236" covered="true" /><lineToCover lineNumber="237" covered="true" /><lineToCover lineNumber="238" covered="false" /><lineToCover lineNumber="239" covered="false" /><lineToCover lineNumber="240" covered="false" /><lineToCover lineNumber="241" covered="false" /><lineToCover lineNumber="242" covered="false" /><lineToCover lineNumber="243" covered="false" /><lineToCover lineNumber="244" covered="false" /><lineToCover lineNumber="245" covered="false" /><lineToCover lineNumber="246" covered="false" /><lineToCover lineNumber="247" covered="false" /><lineToCover lineNumber="254" covered="true" /><lineToCover lineNumber="256" covered="true" /><lineToCover lineNumber="257" covered="true" /><lineToCover lineNumber="258" covered="true" /></file><file path="tests/unit_test_screensaver/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtDBus/qdbusreply.h"><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="108" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="115" covered="true" /></file><file path="/usr/include/polkit-qt5-1/polkitqt1-subject.h" /><file path="/usr/include/x86_64-linux-gnu/qt5/QtDBus/qdbusmessage.h"><lineToCover lineNumber="72" covered="false" /><lineToCover lineNumber="77" covered="false" /></file><file path="registeredSession/plugins/datetime/datetimeinterface.cpp"><lineToCover lineNumber="6" covered="true" /><lineToCover lineNumber="8" covered="true" /><lineToCover lineNumber="11" covered="true" /><lineToCover lineNumber="14" covered="true" /><lineToCover lineNumber="20" covered="true" /><lineToCover lineNumber="22" covered="true" /><lineToCover lineNumber="25" covered="true" /><lineToCover lineNumber="27" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="32" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="41" covered="true" /><lineToCover lineNumber="43" covered="true" /><lineToCover lineNumber="44" covered="true" /><lineToCover lineNumber="45" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="55" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="59" covered="false" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="78" covered="false" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="96" covered="false" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="102" covered="true" /><lineToCover lineNumber="105" covered="false" /><lineToCover lineNumber="107" covered="false" /><lineToCover lineNumber="108" covered="false" /><lineToCover lineNumber="110" covered="false" /><lineToCover lineNumber="112" covered="false" /><lineToCover lineNumber="113" covered="false" /><lineToCover lineNumber="114" covered="false" /><lineToCover lineNumber="116" covered="false" /><lineToCover lineNumber="118" covered="false" /><lineToCover lineNumber="121" covered="false" /><lineToCover lineNumber="122" covered="false" /><lineToCover lineNumber="125" covered="true" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="130" covered="true" /><lineToCover lineNumber="131" covered="true" /><lineToCover lineNumber="132" covered="true" /><lineToCover lineNumber="133" covered="true" /><lineToCover lineNumber="134" covered="true" /><lineToCover lineNumber="135" covered="true" /><lineToCover lineNumber="136" covered="true" /><lineToCover lineNumber="137" covered="true" /><lineToCover lineNumber="140" covered="true" /><lineToCover lineNumber="142" covered="true" /><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="144" covered="true" /><lineToCover lineNumber="145" covered="true" /><lineToCover lineNumber="146" covered="true" /><lineToCover lineNumber="148" covered="false" /><lineToCover lineNumber="149" covered="false" /><lineToCover lineNumber="151" covered="true" /><lineToCover lineNumber="154" covered="false" /><lineToCover lineNumber="157" covered="false" /><lineToCover lineNumber="159" covered="false" /><lineToCover lineNumber="162" covered="false" /><lineToCover lineNumber="163" covered="false" /><lineToCover lineNumber="164" covered="false" /><lineToCover lineNumber="165" covered="false" /><lineToCover lineNumber="166" covered="false" /><lineToCover lineNumber="172" covered="true" /><lineToCover lineNumber="174" covered="true" /><lineToCover lineNumber="175" covered="true" /><lineToCover lineNumber="177" covered="false" /><lineToCover lineNumber="181" covered="true" /><lineToCover lineNumber="183" covered="true" /><lineToCover lineNumber="184" covered="true" /><lineToCover lineNumber="185" covered="true" /><lineToCover lineNumber="186" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtDBus/qdbuserror.h" /><file path="tests/unit_test_datetime/unit_test_datetime.cpp"><lineToCover lineNumber="27" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="32" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="45" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="107" covered="true" /><lineToCover lineNumber="108" covered="true" /><lineToCover lineNumber="110" covered="false" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="116" covered="true" /><lineToCover lineNumber="117" covered="true" /></file><file path="tests/unit_test_datetime/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /></file><file path="tests/unit_test_datetime/moc_datetimeinterface.cpp"><lineToCover lineNumber="119" covered="false" /><lineToCover lineNumber="121" covered="false" /><lineToCover lineNumber="124" covered="false" /><lineToCover lineNumber="125" covered="false" /><lineToCover lineNumber="126" covered="false" /><lineToCover lineNumber="127" covered="false" /><lineToCover lineNumber="128" covered="false" /><lineToCover lineNumber="129" covered="false" /><lineToCover lineNumber="130" covered="false" /><lineToCover lineNumber="131" covered="false" /><lineToCover lineNumber="132" covered="false" /><lineToCover lineNumber="133" covered="false" /><lineToCover lineNumber="134" covered="false" /><lineToCover lineNumber="135" covered="false" /><lineToCover lineNumber="136" covered="false" /><lineToCover lineNumber="137" covered="false" /><lineToCover lineNumber="138" covered="false" /><lineToCover lineNumber="141" covered="false" /><lineToCover lineNumber="142" covered="false" /><lineToCover lineNumber="145" covered="false" /><lineToCover lineNumber="146" covered="false" /><lineToCover lineNumber="147" covered="false" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="155" covered="false" /><lineToCover lineNumber="156" covered="false" /><lineToCover lineNumber="157" covered="false" /><lineToCover lineNumber="158" covered="false" /><lineToCover lineNumber="159" covered="false" /><lineToCover lineNumber="160" covered="false" /><lineToCover lineNumber="161" covered="false" /><lineToCover lineNumber="180" covered="true" /><lineToCover lineNumber="182" covered="true" /><lineToCover lineNumber="185" covered="false" /><lineToCover lineNumber="187" covered="false" /><lineToCover lineNumber="188" covered="false" /><lineToCover lineNumber="190" covered="false" /><lineToCover lineNumber="193" covered="false" /><lineToCover lineNumber="195" covered="false" /><lineToCover lineNumber="196" covered="false" /><lineToCover lineNumber="198" covered="false" /><lineToCover lineNumber="199" covered="false" /><lineToCover lineNumber="200" covered="false" /><lineToCover lineNumber="201" covered="false" /><lineToCover lineNumber="202" covered="false" /><lineToCover lineNumber="203" covered="false" /><lineToCover lineNumber="204" covered="false" /><lineToCover lineNumber="205" covered="false" /><lineToCover lineNumber="208" covered="false" /><lineToCover lineNumber="209" covered="false" /><lineToCover lineNumber="210" covered="false" /><lineToCover lineNumber="211" covered="false" /><lineToCover lineNumber="212" covered="false" /><lineToCover lineNumber="213" covered="false" /><lineToCover lineNumber="214" covered="false" /><lineToCover lineNumber="215" covered="false" /><lineToCover lineNumber="216" covered="false" /><lineToCover lineNumber="217" covered="false" /><lineToCover lineNumber="218" covered="false" /><lineToCover lineNumber="219" covered="false" /><lineToCover lineNumber="220" covered="false" /><lineToCover lineNumber="221" covered="false" /><lineToCover lineNumber="228" covered="true" /><lineToCover lineNumber="230" covered="true" /><lineToCover lineNumber="231" covered="true" /><lineToCover lineNumber="232" covered="true" /></file><file path="registeredSession/plugins/shortcut/type.h" /><file path="tests/unit_test_shortcut/moc_shortcutinterface.cpp"><lineToCover lineNumber="101" covered="false" /><lineToCover lineNumber="103" covered="false" /><lineToCover lineNumber="106" covered="false" /><lineToCover lineNumber="107" covered="false" /><lineToCover lineNumber="108" covered="false" /><lineToCover lineNumber="109" covered="false" /><lineToCover lineNumber="110" covered="false" /><lineToCover lineNumber="111" covered="false" /><lineToCover lineNumber="112" covered="false" /><lineToCover lineNumber="113" covered="false" /><lineToCover lineNumber="114" covered="false" /><lineToCover lineNumber="115" covered="false" /><lineToCover lineNumber="116" covered="false" /><lineToCover lineNumber="117" covered="false" /><lineToCover lineNumber="118" covered="false" /><lineToCover lineNumber="121" covered="false" /><lineToCover lineNumber="122" covered="false" /><lineToCover lineNumber="125" covered="false" /><lineToCover lineNumber="126" covered="false" /><lineToCover lineNumber="127" covered="false" /><lineToCover lineNumber="143" covered="false" /><lineToCover lineNumber="145" covered="false" /><lineToCover lineNumber="148" covered="false" /><lineToCover lineNumber="150" covered="false" /><lineToCover lineNumber="151" covered="false" /><lineToCover lineNumber="153" covered="false" /><lineToCover lineNumber="156" covered="false" /><lineToCover lineNumber="158" covered="false" /><lineToCover lineNumber="159" covered="false" /><lineToCover lineNumber="161" covered="false" /><lineToCover lineNumber="162" covered="false" /><lineToCover lineNumber="163" covered="false" /><lineToCover lineNumber="164" covered="false" /><lineToCover lineNumber="165" covered="false" /><lineToCover lineNumber="166" covered="false" /><lineToCover lineNumber="167" covered="false" /><lineToCover lineNumber="168" covered="false" /><lineToCover lineNumber="174" covered="false" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="177" covered="false" /><lineToCover lineNumber="178" covered="false" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtDBus/qdbusargument.h"><lineToCover lineNumber="258" covered="false" /><lineToCover lineNumber="260" covered="false" /><lineToCover lineNumber="261" covered="false" /><lineToCover lineNumber="262" covered="false" /><lineToCover lineNumber="263" covered="false" /><lineToCover lineNumber="264" covered="false" /><lineToCover lineNumber="265" covered="false" /><lineToCover lineNumber="266" covered="false" /><lineToCover lineNumber="267" covered="false" /><lineToCover lineNumber="271" covered="false" /><lineToCover lineNumber="273" covered="false" /><lineToCover lineNumber="274" covered="false" /><lineToCover lineNumber="275" covered="false" /><lineToCover lineNumber="276" covered="false" /><lineToCover lineNumber="277" covered="false" /><lineToCover lineNumber="278" covered="false" /><lineToCover lineNumber="280" covered="false" /><lineToCover lineNumber="282" covered="false" /></file><file path="registeredSession/plugins/shortcut/shortcutinterface.cpp"><lineToCover lineNumber="4" covered="true" /><lineToCover lineNumber="6" covered="true" /><lineToCover lineNumber="7" covered="true" /><lineToCover lineNumber="8" covered="true" /><lineToCover lineNumber="9" covered="true" /><lineToCover lineNumber="11" covered="true" /><lineToCover lineNumber="12" covered="true" /><lineToCover lineNumber="13" covered="true" /><lineToCover lineNumber="14" covered="true" /><lineToCover lineNumber="15" covered="true" /><lineToCover lineNumber="16" covered="true" /><lineToCover lineNumber="18" covered="false" /><lineToCover lineNumber="21" covered="false" /><lineToCover lineNumber="23" covered="true" /><lineToCover lineNumber="25" covered="true" /><lineToCover lineNumber="26" covered="true" /><lineToCover lineNumber="27" covered="true" /><lineToCover lineNumber="28" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="32" covered="true" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="40" covered="true" /><lineToCover lineNumber="41" covered="true" /><lineToCover lineNumber="42" covered="true" /><lineToCover lineNumber="43" covered="true" /><lineToCover lineNumber="44" covered="true" /><lineToCover lineNumber="45" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="55" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="58" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="82" covered="false" /><lineToCover lineNumber="83" covered="false" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="108" covered="true" /><lineToCover lineNumber="111" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="117" covered="true" /><lineToCover lineNumber="119" covered="true" /><lineToCover lineNumber="120" covered="true" /><lineToCover lineNumber="121" covered="true" /><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="125" covered="true" /><lineToCover lineNumber="126" covered="true" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="130" covered="true" /><lineToCover lineNumber="131" covered="true" /><lineToCover lineNumber="132" covered="true" /><lineToCover lineNumber="135" covered="true" /><lineToCover lineNumber="138" covered="true" /><lineToCover lineNumber="141" covered="true" /><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="144" covered="true" /><lineToCover lineNumber="145" covered="true" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="153" covered="false" /><lineToCover lineNumber="154" covered="false" /><lineToCover lineNumber="163" covered="true" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="165" covered="true" /><lineToCover lineNumber="166" covered="true" /><lineToCover lineNumber="168" covered="true" /><lineToCover lineNumber="170" covered="true" /><lineToCover lineNumber="171" covered="true" /><lineToCover lineNumber="172" covered="true" /><lineToCover lineNumber="173" covered="true" /><lineToCover lineNumber="174" covered="true" /><lineToCover lineNumber="175" covered="true" /><lineToCover lineNumber="176" covered="true" /><lineToCover lineNumber="179" covered="true" /><lineToCover lineNumber="180" covered="true" /><lineToCover lineNumber="183" covered="true" /><lineToCover lineNumber="184" covered="true" /><lineToCover lineNumber="185" covered="true" /><lineToCover lineNumber="187" covered="true" /><lineToCover lineNumber="188" covered="false" /><lineToCover lineNumber="190" covered="true" /><lineToCover lineNumber="191" covered="true" /><lineToCover lineNumber="192" covered="true" /><lineToCover lineNumber="193" covered="true" /><lineToCover lineNumber="194" covered="true" /><lineToCover lineNumber="195" covered="true" /><lineToCover lineNumber="196" covered="true" /><lineToCover lineNumber="197" covered="true" /><lineToCover lineNumber="198" covered="true" /><lineToCover lineNumber="199" covered="true" /><lineToCover lineNumber="201" covered="true" /><lineToCover lineNumber="202" covered="true" /></file><file path="registeredSession/plugins/shortcut/type.cpp"><lineToCover lineNumber="5" covered="false" /><lineToCover lineNumber="7" covered="false" /><lineToCover lineNumber="8" covered="false" /><lineToCover lineNumber="9" covered="false" /><lineToCover lineNumber="10" covered="false" /><lineToCover lineNumber="11" covered="false" /><lineToCover lineNumber="12" covered="false" /><lineToCover lineNumber="15" covered="false" /><lineToCover lineNumber="17" covered="false" /><lineToCover lineNumber="18" covered="false" /><lineToCover lineNumber="19" covered="false" /><lineToCover lineNumber="20" covered="false" /><lineToCover lineNumber="21" covered="false" /><lineToCover lineNumber="22" covered="false" /><lineToCover lineNumber="25" covered="false" /><lineToCover lineNumber="27" covered="false" /><lineToCover lineNumber="28" covered="false" /><lineToCover lineNumber="29" covered="false" /><lineToCover lineNumber="30" covered="false" /><lineToCover lineNumber="31" covered="false" /><lineToCover lineNumber="32" covered="false" /><lineToCover lineNumber="33" covered="false" /><lineToCover lineNumber="34" covered="false" /><lineToCover lineNumber="35" covered="false" /><lineToCover lineNumber="36" covered="false" /><lineToCover lineNumber="37" covered="false" /><lineToCover lineNumber="40" covered="false" /><lineToCover lineNumber="42" covered="false" /><lineToCover lineNumber="43" covered="false" /><lineToCover lineNumber="44" covered="false" /><lineToCover lineNumber="45" covered="false" /><lineToCover lineNumber="46" covered="false" /><lineToCover lineNumber="47" covered="false" /><lineToCover lineNumber="48" covered="false" /><lineToCover lineNumber="49" covered="false" /><lineToCover lineNumber="50" covered="false" /><lineToCover lineNumber="51" covered="false" /><lineToCover lineNumber="52" covered="false" /></file><file path="registeredSession/plugins/shortcut/getshortcutworker.cpp"><lineToCover lineNumber="23" covered="true" /><lineToCover lineNumber="24" covered="true" /><lineToCover lineNumber="27" covered="true" /><lineToCover lineNumber="29" covered="false" /><lineToCover lineNumber="32" covered="false" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="40" covered="true" /><lineToCover lineNumber="42" covered="false" /><lineToCover lineNumber="45" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="55" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="60" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="82" covered="false" /><lineToCover lineNumber="83" covered="false" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="90" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="102" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="105" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="107" covered="true" /><lineToCover lineNumber="109" covered="true" /><lineToCover lineNumber="112" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="119" covered="true" /><lineToCover lineNumber="120" covered="true" /><lineToCover lineNumber="121" covered="true" /><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="125" covered="true" /><lineToCover lineNumber="126" covered="true" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="132" covered="true" /><lineToCover lineNumber="133" covered="true" /></file><file path="tests/unit_test_shortcut/unit_test_shortcut.cpp"><lineToCover lineNumber="27" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="42" covered="true" /><lineToCover lineNumber="44" covered="true" /><lineToCover lineNumber="45" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="60" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="90" covered="true" /></file><file path="tests/unit_test_shortcut/moc_getshortcutworker.cpp"><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="85" covered="false" /><lineToCover lineNumber="86" covered="false" /><lineToCover lineNumber="87" covered="false" /><lineToCover lineNumber="88" covered="false" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="102" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="109" covered="true" /><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="111" covered="true" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="132" covered="false" /><lineToCover lineNumber="134" covered="false" /><lineToCover lineNumber="135" covered="false" /><lineToCover lineNumber="137" covered="false" /><lineToCover lineNumber="140" covered="false" /><lineToCover lineNumber="142" covered="false" /><lineToCover lineNumber="143" covered="false" /><lineToCover lineNumber="145" covered="false" /><lineToCover lineNumber="146" covered="false" /><lineToCover lineNumber="147" covered="false" /><lineToCover lineNumber="148" covered="false" /><lineToCover lineNumber="149" covered="false" /><lineToCover lineNumber="150" covered="false" /><lineToCover lineNumber="151" covered="false" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="158" covered="true" /><lineToCover lineNumber="160" covered="true" /><lineToCover lineNumber="161" covered="true" /><lineToCover lineNumber="162" covered="true" /><lineToCover lineNumber="165" covered="true" /><lineToCover lineNumber="167" covered="true" /><lineToCover lineNumber="168" covered="true" /><lineToCover lineNumber="169" covered="true" /><lineToCover lineNumber="172" covered="true" /><lineToCover lineNumber="174" covered="true" /><lineToCover lineNumber="175" covered="true" /></file><file path="tests/unit_test_shortcut/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /></file><file path="registeredSession/plugins/area/areainterface.cpp"><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /><lineToCover lineNumber="8" covered="true" /><lineToCover lineNumber="9" covered="true" /><lineToCover lineNumber="10" covered="true" /><lineToCover lineNumber="11" covered="true" /><lineToCover lineNumber="13" covered="true" /><lineToCover lineNumber="14" covered="true" /><lineToCover lineNumber="16" covered="true" /><lineToCover lineNumber="19" covered="true" /><lineToCover lineNumber="21" covered="true" /><lineToCover lineNumber="23" covered="true" /><lineToCover lineNumber="24" covered="false" /><lineToCover lineNumber="25" covered="false" /><lineToCover lineNumber="26" covered="false" /><lineToCover lineNumber="27" covered="false" /><lineToCover lineNumber="28" covered="false" /><lineToCover lineNumber="29" covered="false" /><lineToCover lineNumber="30" covered="false" /><lineToCover lineNumber="31" covered="false" /><lineToCover lineNumber="32" covered="false" /><lineToCover lineNumber="33" covered="false" /><lineToCover lineNumber="35" covered="false" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="38" covered="false" /><lineToCover lineNumber="39" covered="false" /><lineToCover lineNumber="41" covered="false" /><lineToCover lineNumber="42" covered="true" /><lineToCover lineNumber="43" covered="true" /><lineToCover lineNumber="44" covered="false" /><lineToCover lineNumber="45" covered="false" /><lineToCover lineNumber="47" covered="false" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="51" covered="false" /><lineToCover lineNumber="53" covered="false" /><lineToCover lineNumber="54" covered="false" /><lineToCover lineNumber="56" covered="false" /><lineToCover lineNumber="57" covered="false" /><lineToCover lineNumber="59" covered="false" /><lineToCover lineNumber="60" covered="false" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="69" covered="false" /><lineToCover lineNumber="70" covered="false" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="79" covered="false" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="88" covered="false" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="102" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="105" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="108" covered="true" /><lineToCover lineNumber="111" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="116" covered="true" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="121" covered="true" /><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="126" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="131" covered="false" /><lineToCover lineNumber="133" covered="false" /><lineToCover lineNumber="136" covered="true" /><lineToCover lineNumber="138" covered="true" /><lineToCover lineNumber="139" covered="true" /><lineToCover lineNumber="141" covered="true" /><lineToCover lineNumber="142" covered="false" /><lineToCover lineNumber="152" covered="true" /><lineToCover lineNumber="155" covered="true" /><lineToCover lineNumber="157" covered="true" /><lineToCover lineNumber="158" covered="true" /><lineToCover lineNumber="159" covered="false" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="166" covered="true" /><lineToCover lineNumber="169" covered="true" /><lineToCover lineNumber="171" covered="true" /><lineToCover lineNumber="174" covered="true" /><lineToCover lineNumber="176" covered="true" /><lineToCover lineNumber="179" covered="true" /><lineToCover lineNumber="181" covered="true" /><lineToCover lineNumber="184" covered="true" /><lineToCover lineNumber="186" covered="true" /><lineToCover lineNumber="189" covered="false" /><lineToCover lineNumber="191" covered="false" /><lineToCover lineNumber="194" covered="true" /><lineToCover lineNumber="196" covered="true" /><lineToCover lineNumber="199" covered="true" /><lineToCover lineNumber="201" covered="true" /><lineToCover lineNumber="202" covered="true" /><lineToCover lineNumber="203" covered="true" /><lineToCover lineNumber="205" covered="true" /><lineToCover lineNumber="208" covered="true" /><lineToCover lineNumber="210" covered="true" /><lineToCover lineNumber="211" covered="true" /><lineToCover lineNumber="213" covered="true" /><lineToCover lineNumber="215" covered="true" /><lineToCover lineNumber="217" covered="true" /><lineToCover lineNumber="218" covered="true" /><lineToCover lineNumber="220" covered="true" /><lineToCover lineNumber="222" covered="true" /><lineToCover lineNumber="224" covered="true" /><lineToCover lineNumber="225" covered="true" /><lineToCover lineNumber="227" covered="true" /><lineToCover lineNumber="229" covered="true" /><lineToCover lineNumber="231" covered="true" /><lineToCover lineNumber="232" covered="true" /><lineToCover lineNumber="234" covered="true" /><lineToCover lineNumber="236" covered="true" /><lineToCover lineNumber="239" covered="true" /><lineToCover lineNumber="240" covered="true" /><lineToCover lineNumber="242" covered="false" /><lineToCover lineNumber="246" covered="true" /><lineToCover lineNumber="247" covered="true" /><lineToCover lineNumber="249" covered="false" /><lineToCover lineNumber="252" covered="true" /><lineToCover lineNumber="254" covered="true" /><lineToCover lineNumber="256" covered="true" /><lineToCover lineNumber="257" covered="true" /><lineToCover lineNumber="258" covered="true" /><lineToCover lineNumber="260" covered="true" /></file><file path="tests/unit_test_area/unit_test_area.cpp"><lineToCover lineNumber="28" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="55" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="58" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="93" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="102" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="108" covered="true" /><lineToCover lineNumber="109" covered="true" /><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="111" covered="true" /><lineToCover lineNumber="112" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="117" covered="true" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="121" covered="true" /><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="124" covered="true" /><lineToCover lineNumber="125" covered="true" /><lineToCover lineNumber="126" covered="true" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="130" covered="true" /><lineToCover lineNumber="132" covered="true" /><lineToCover lineNumber="133" covered="true" /><lineToCover lineNumber="134" covered="true" /><lineToCover lineNumber="135" covered="true" /><lineToCover lineNumber="136" covered="true" /><lineToCover lineNumber="137" covered="true" /><lineToCover lineNumber="140" covered="true" /><lineToCover lineNumber="142" covered="true" /><lineToCover lineNumber="143" covered="true" /></file><file path="tests/unit_test_area/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /></file><file path="tests/unit_test_area/moc_areainterface.cpp"><lineToCover lineNumber="136" covered="false" /><lineToCover lineNumber="138" covered="false" /><lineToCover lineNumber="141" covered="false" /><lineToCover lineNumber="142" covered="false" /><lineToCover lineNumber="143" covered="false" /><lineToCover lineNumber="144" covered="false" /><lineToCover lineNumber="145" covered="false" /><lineToCover lineNumber="146" covered="false" /><lineToCover lineNumber="147" covered="false" /><lineToCover lineNumber="148" covered="false" /><lineToCover lineNumber="149" covered="false" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="153" covered="false" /><lineToCover lineNumber="156" covered="false" /><lineToCover lineNumber="157" covered="false" /><lineToCover lineNumber="158" covered="false" /><lineToCover lineNumber="163" covered="false" /><lineToCover lineNumber="166" covered="false" /><lineToCover lineNumber="167" covered="false" /><lineToCover lineNumber="168" covered="false" /><lineToCover lineNumber="169" covered="false" /><lineToCover lineNumber="170" covered="false" /><lineToCover lineNumber="171" covered="false" /><lineToCover lineNumber="172" covered="false" /><lineToCover lineNumber="173" covered="false" /><lineToCover lineNumber="174" covered="false" /><lineToCover lineNumber="175" covered="false" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="177" covered="false" /><lineToCover lineNumber="178" covered="false" /><lineToCover lineNumber="179" covered="false" /><lineToCover lineNumber="180" covered="false" /><lineToCover lineNumber="181" covered="false" /><lineToCover lineNumber="200" covered="false" /><lineToCover lineNumber="202" covered="false" /><lineToCover lineNumber="205" covered="false" /><lineToCover lineNumber="207" covered="false" /><lineToCover lineNumber="208" covered="false" /><lineToCover lineNumber="210" covered="false" /><lineToCover lineNumber="213" covered="false" /><lineToCover lineNumber="215" covered="false" /><lineToCover lineNumber="216" covered="false" /><lineToCover lineNumber="218" covered="false" /><lineToCover lineNumber="219" covered="false" /><lineToCover lineNumber="220" covered="false" /><lineToCover lineNumber="221" covered="false" /><lineToCover lineNumber="222" covered="false" /><lineToCover lineNumber="223" covered="false" /><lineToCover lineNumber="224" covered="false" /><lineToCover lineNumber="225" covered="false" /><lineToCover lineNumber="228" covered="false" /><lineToCover lineNumber="229" covered="false" /><lineToCover lineNumber="230" covered="false" /><lineToCover lineNumber="231" covered="false" /><lineToCover lineNumber="232" covered="false" /><lineToCover lineNumber="233" covered="false" /><lineToCover lineNumber="234" covered="false" /><lineToCover lineNumber="235" covered="false" /><lineToCover lineNumber="236" covered="false" /><lineToCover lineNumber="237" covered="false" /><lineToCover lineNumber="238" covered="false" /><lineToCover lineNumber="239" covered="false" /><lineToCover lineNumber="240" covered="false" /><lineToCover lineNumber="241" covered="false" /><lineToCover lineNumber="248" covered="true" /><lineToCover lineNumber="250" covered="true" /><lineToCover lineNumber="251" covered="true" /><lineToCover lineNumber="252" covered="true" /></file><file path="tests/unit_test_wallpaper/moc_wallpaperinterface.cpp"><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="109" covered="false" /><lineToCover lineNumber="110" covered="false" /><lineToCover lineNumber="111" covered="false" /><lineToCover lineNumber="112" covered="false" /><lineToCover lineNumber="113" covered="false" /><lineToCover lineNumber="116" covered="true" /><lineToCover lineNumber="117" covered="false" /><lineToCover lineNumber="120" covered="false" /><lineToCover lineNumber="121" covered="false" /><lineToCover lineNumber="122" covered="false" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="130" covered="true" /><lineToCover lineNumber="131" covered="true" /><lineToCover lineNumber="132" covered="false" /><lineToCover lineNumber="133" covered="false" /><lineToCover lineNumber="134" covered="false" /><lineToCover lineNumber="135" covered="true" /><lineToCover lineNumber="136" covered="true" /><lineToCover lineNumber="155" covered="true" /><lineToCover lineNumber="157" covered="true" /><lineToCover lineNumber="160" covered="false" /><lineToCover lineNumber="162" covered="false" /><lineToCover lineNumber="163" covered="false" /><lineToCover lineNumber="165" covered="false" /><lineToCover lineNumber="168" covered="true" /><lineToCover lineNumber="170" covered="true" /><lineToCover lineNumber="171" covered="true" /><lineToCover lineNumber="173" covered="true" /><lineToCover lineNumber="174" covered="false" /><lineToCover lineNumber="175" covered="false" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="177" covered="true" /><lineToCover lineNumber="178" covered="false" /><lineToCover lineNumber="179" covered="false" /><lineToCover lineNumber="180" covered="false" /><lineToCover lineNumber="183" covered="true" /><lineToCover lineNumber="184" covered="true" /><lineToCover lineNumber="185" covered="true" /><lineToCover lineNumber="186" covered="true" /><lineToCover lineNumber="187" covered="false" /><lineToCover lineNumber="188" covered="false" /><lineToCover lineNumber="189" covered="false" /><lineToCover lineNumber="190" covered="false" /><lineToCover lineNumber="191" covered="false" /><lineToCover lineNumber="192" covered="false" /><lineToCover lineNumber="193" covered="false" /><lineToCover lineNumber="194" covered="false" /><lineToCover lineNumber="195" covered="false" /><lineToCover lineNumber="196" covered="false" /><lineToCover lineNumber="203" covered="true" /><lineToCover lineNumber="205" covered="true" /><lineToCover lineNumber="206" covered="true" /><lineToCover lineNumber="207" covered="true" /></file><file path="tests/unit_test_wallpaper/moc_workerobject.cpp"><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="73" covered="false" /><lineToCover lineNumber="74" covered="false" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="99" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="104" covered="false" /><lineToCover lineNumber="106" covered="false" /><lineToCover lineNumber="107" covered="false" /><lineToCover lineNumber="109" covered="false" /><lineToCover lineNumber="112" covered="false" /><lineToCover lineNumber="114" covered="false" /><lineToCover lineNumber="115" covered="false" /><lineToCover lineNumber="117" covered="false" /><lineToCover lineNumber="118" covered="false" /><lineToCover lineNumber="119" covered="false" /><lineToCover lineNumber="120" covered="false" /><lineToCover lineNumber="121" covered="false" /><lineToCover lineNumber="122" covered="false" /><lineToCover lineNumber="123" covered="false" /><lineToCover lineNumber="124" covered="false" /><lineToCover lineNumber="130" covered="true" /><lineToCover lineNumber="132" covered="true" /><lineToCover lineNumber="133" covered="true" /><lineToCover lineNumber="134" covered="true" /></file><file path="registeredSession/plugins/wallpaper/workerobject.cpp"><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="42" covered="true" /><lineToCover lineNumber="40" covered="true" /><lineToCover lineNumber="41" covered="true" /><lineToCover lineNumber="44" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="60" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="66" covered="false" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="90" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="93" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="102" covered="false" /><lineToCover lineNumber="105" covered="false" /><lineToCover lineNumber="106" covered="false" /><lineToCover lineNumber="107" covered="false" /><lineToCover lineNumber="108" covered="false" /><lineToCover lineNumber="109" covered="false" /><lineToCover lineNumber="112" covered="false" /><lineToCover lineNumber="113" covered="false" /><lineToCover lineNumber="115" covered="false" /><lineToCover lineNumber="116" covered="false" /><lineToCover lineNumber="117" covered="false" /><lineToCover lineNumber="120" covered="false" /><lineToCover lineNumber="122" covered="false" /><lineToCover lineNumber="123" covered="false" /><lineToCover lineNumber="124" covered="false" /><lineToCover lineNumber="125" covered="false" /><lineToCover lineNumber="126" covered="false" /><lineToCover lineNumber="127" covered="false" /><lineToCover lineNumber="128" covered="false" /><lineToCover lineNumber="130" covered="false" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h"><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="101" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h"><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="435" covered="true" /><lineToCover lineNumber="437" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h"><lineToCover lineNumber="73" covered="true" /></file><file path="registeredSession/plugins/wallpaper/xmlhandle.cpp"><lineToCover lineNumber="24" covered="true" /><lineToCover lineNumber="26" covered="true" /><lineToCover lineNumber="27" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="41" covered="true" /><lineToCover lineNumber="43" covered="true" /><lineToCover lineNumber="44" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="58" covered="true" /><lineToCover lineNumber="60" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="70" covered="false" /><lineToCover lineNumber="71" covered="false" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="90" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="99" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="102" covered="true" /><lineToCover lineNumber="106" covered="false" /><lineToCover lineNumber="107" covered="false" /><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="111" covered="true" /><lineToCover lineNumber="112" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="124" covered="true" /><lineToCover lineNumber="126" covered="true" /><lineToCover lineNumber="127" covered="false" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="134" covered="true" /><lineToCover lineNumber="135" covered="true" /><lineToCover lineNumber="138" covered="true" /><lineToCover lineNumber="139" covered="true" /><lineToCover lineNumber="140" covered="true" /><lineToCover lineNumber="141" covered="true" /><lineToCover lineNumber="142" covered="true" /><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="144" covered="true" /><lineToCover lineNumber="145" covered="true" /><lineToCover lineNumber="147" covered="true" /><lineToCover lineNumber="148" covered="true" /><lineToCover lineNumber="149" covered="true" /><lineToCover lineNumber="150" covered="true" /><lineToCover lineNumber="153" covered="true" /><lineToCover lineNumber="154" covered="true" /><lineToCover lineNumber="155" covered="true" /><lineToCover lineNumber="156" covered="true" /><lineToCover lineNumber="158" covered="true" /><lineToCover lineNumber="161" covered="true" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="166" covered="true" /><lineToCover lineNumber="167" covered="true" /><lineToCover lineNumber="168" covered="true" /><lineToCover lineNumber="175" covered="true" /><lineToCover lineNumber="176" covered="true" /><lineToCover lineNumber="177" covered="true" /><lineToCover lineNumber="178" covered="true" /><lineToCover lineNumber="181" covered="true" /><lineToCover lineNumber="187" covered="true" /><lineToCover lineNumber="189" covered="true" /><lineToCover lineNumber="190" covered="true" /><lineToCover lineNumber="191" covered="true" /><lineToCover lineNumber="192" covered="false" /><lineToCover lineNumber="193" covered="false" /><lineToCover lineNumber="196" covered="true" /><lineToCover lineNumber="198" covered="true" /><lineToCover lineNumber="199" covered="true" /><lineToCover lineNumber="201" covered="true" /><lineToCover lineNumber="202" covered="true" /><lineToCover lineNumber="203" covered="true" /><lineToCover lineNumber="205" covered="true" /><lineToCover lineNumber="208" covered="true" /><lineToCover lineNumber="211" covered="true" /><lineToCover lineNumber="212" covered="true" /><lineToCover lineNumber="213" covered="true" /><lineToCover lineNumber="214" covered="true" /><lineToCover lineNumber="215" covered="true" /><lineToCover lineNumber="217" covered="true" /><lineToCover lineNumber="218" covered="true" /><lineToCover lineNumber="220" covered="true" /><lineToCover lineNumber="221" covered="true" /><lineToCover lineNumber="222" covered="false" /><lineToCover lineNumber="224" covered="true" /><lineToCover lineNumber="226" covered="true" /><lineToCover lineNumber="227" covered="false" /><lineToCover lineNumber="229" covered="true" /><lineToCover lineNumber="230" covered="true" /><lineToCover lineNumber="231" covered="true" /><lineToCover lineNumber="232" covered="false" /><lineToCover lineNumber="233" covered="true" /><lineToCover lineNumber="234" covered="true" /><lineToCover lineNumber="235" covered="true" /><lineToCover lineNumber="236" covered="true" /><lineToCover lineNumber="238" covered="true" /><lineToCover lineNumber="240" covered="true" /><lineToCover lineNumber="243" covered="true" /><lineToCover lineNumber="244" covered="true" /><lineToCover lineNumber="246" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qxmlstream.h"><lineToCover lineNumber="173" covered="true" /><lineToCover lineNumber="175" covered="true" /><lineToCover lineNumber="389" covered="true" /><lineToCover lineNumber="390" covered="true" /><lineToCover lineNumber="447" covered="true" /><lineToCover lineNumber="449" covered="true" /></file><file path="tests/unit_test_wallpaper/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /></file><file path="tests/unit_test_wallpaper/unit_test_wallpaper.cpp"><lineToCover lineNumber="28" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="46" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="49" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="53" covered="false" /><lineToCover lineNumber="55" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="66" covered="false" /><lineToCover lineNumber="67" covered="false" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="74" covered="false" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="87" covered="false" /><lineToCover lineNumber="88" covered="false" /><lineToCover lineNumber="90" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="93" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="95" covered="false" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="105" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="107" covered="true" /><lineToCover lineNumber="108" covered="true" /><lineToCover lineNumber="111" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="117" covered="true" /><lineToCover lineNumber="119" covered="true" /><lineToCover lineNumber="120" covered="true" /><lineToCover lineNumber="122" covered="true" /><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="125" covered="false" /><lineToCover lineNumber="126" covered="false" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="131" covered="true" /><lineToCover lineNumber="132" covered="true" /><lineToCover lineNumber="135" covered="true" /><lineToCover lineNumber="137" covered="true" /><lineToCover lineNumber="138" covered="true" /></file><file path="registeredSession/plugins/wallpaper/wallpaperinterface.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="6" covered="true" /><lineToCover lineNumber="7" covered="true" /><lineToCover lineNumber="8" covered="false" /><lineToCover lineNumber="9" covered="false" /><lineToCover lineNumber="10" covered="false" /><lineToCover lineNumber="11" covered="true" /><lineToCover lineNumber="12" covered="true" /><lineToCover lineNumber="13" covered="true" /><lineToCover lineNumber="14" covered="true" /><lineToCover lineNumber="15" covered="false" /><lineToCover lineNumber="17" covered="true" /><lineToCover lineNumber="20" covered="true" /><lineToCover lineNumber="21" covered="true" /><lineToCover lineNumber="23" covered="true" /><lineToCover lineNumber="24" covered="true" /><lineToCover lineNumber="25" covered="false" /><lineToCover lineNumber="27" covered="true" /><lineToCover lineNumber="28" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="30" covered="false" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="34" covered="false" /><lineToCover lineNumber="35" covered="false" /><lineToCover lineNumber="36" covered="false" /><lineToCover lineNumber="38" covered="false" /><lineToCover lineNumber="40" covered="false" /><lineToCover lineNumber="41" covered="false" /><lineToCover lineNumber="42" covered="false" /><lineToCover lineNumber="43" covered="false" /><lineToCover lineNumber="44" covered="false" /><lineToCover lineNumber="45" covered="false" /><lineToCover lineNumber="47" covered="false" /><lineToCover lineNumber="48" covered="false" /><lineToCover lineNumber="49" covered="false" /><lineToCover lineNumber="50" covered="false" /><lineToCover lineNumber="51" covered="false" /><lineToCover lineNumber="54" covered="false" /><lineToCover lineNumber="56" covered="false" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="58" covered="true" /><lineToCover lineNumber="60" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="75" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="90" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="93" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="99" covered="true" /><lineToCover lineNumber="100" covered="true" /><lineToCover lineNumber="101" covered="false" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="105" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="107" covered="true" /><lineToCover lineNumber="108" covered="true" /><lineToCover lineNumber="109" covered="true" /><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="112" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="116" covered="true" /><lineToCover lineNumber="117" covered="true" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="120" covered="true" /><lineToCover lineNumber="122" covered="true" /><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="124" covered="true" /><lineToCover lineNumber="125" covered="true" /><lineToCover lineNumber="127" covered="true" /><lineToCover lineNumber="129" covered="true" /><lineToCover lineNumber="130" covered="true" /><lineToCover lineNumber="131" covered="true" /><lineToCover lineNumber="133" covered="true" /></file><file path="tests/unit_test_keyboard/moc_keyboardinterface.cpp"><lineToCover lineNumber="141" covered="false" /><lineToCover lineNumber="143" covered="false" /><lineToCover lineNumber="146" covered="false" /><lineToCover lineNumber="147" covered="false" /><lineToCover lineNumber="148" covered="false" /><lineToCover lineNumber="149" covered="false" /><lineToCover lineNumber="150" covered="false" /><lineToCover lineNumber="151" covered="false" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="153" covered="false" /><lineToCover lineNumber="154" covered="false" /><lineToCover lineNumber="155" covered="false" /><lineToCover lineNumber="156" covered="false" /><lineToCover lineNumber="157" covered="false" /><lineToCover lineNumber="158" covered="false" /><lineToCover lineNumber="161" covered="false" /><lineToCover lineNumber="162" covered="false" /><lineToCover lineNumber="165" covered="false" /><lineToCover lineNumber="166" covered="false" /><lineToCover lineNumber="167" covered="false" /><lineToCover lineNumber="172" covered="false" /><lineToCover lineNumber="175" covered="false" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="177" covered="false" /><lineToCover lineNumber="178" covered="false" /><lineToCover lineNumber="179" covered="false" /><lineToCover lineNumber="180" covered="false" /><lineToCover lineNumber="181" covered="false" /><lineToCover lineNumber="182" covered="false" /><lineToCover lineNumber="183" covered="false" /><lineToCover lineNumber="184" covered="false" /><lineToCover lineNumber="185" covered="false" /><lineToCover lineNumber="186" covered="false" /><lineToCover lineNumber="205" covered="true" /><lineToCover lineNumber="207" covered="true" /><lineToCover lineNumber="210" covered="false" /><lineToCover lineNumber="212" covered="false" /><lineToCover lineNumber="213" covered="false" /><lineToCover lineNumber="215" covered="false" /><lineToCover lineNumber="218" covered="false" /><lineToCover lineNumber="220" covered="false" /><lineToCover lineNumber="221" covered="false" /><lineToCover lineNumber="223" covered="false" /><lineToCover lineNumber="224" covered="false" /><lineToCover lineNumber="225" covered="false" /><lineToCover lineNumber="226" covered="false" /><lineToCover lineNumber="227" covered="false" /><lineToCover lineNumber="228" covered="false" /><lineToCover lineNumber="229" covered="false" /><lineToCover lineNumber="230" covered="false" /><lineToCover lineNumber="233" covered="false" /><lineToCover lineNumber="234" covered="false" /><lineToCover lineNumber="235" covered="false" /><lineToCover lineNumber="236" covered="false" /><lineToCover lineNumber="237" covered="false" /><lineToCover lineNumber="238" covered="false" /><lineToCover lineNumber="239" covered="false" /><lineToCover lineNumber="240" covered="false" /><lineToCover lineNumber="241" covered="false" /><lineToCover lineNumber="242" covered="false" /><lineToCover lineNumber="243" covered="false" /><lineToCover lineNumber="244" covered="false" /><lineToCover lineNumber="245" covered="false" /><lineToCover lineNumber="246" covered="false" /><lineToCover lineNumber="253" covered="false" /><lineToCover lineNumber="255" covered="false" /><lineToCover lineNumber="256" covered="false" /><lineToCover lineNumber="257" covered="false" /></file><file path="tests/unit_test_keyboard/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /></file><file path="registeredSession/plugins/keyboard/keyboardinterface.cpp"><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /><lineToCover lineNumber="8" covered="true" /><lineToCover lineNumber="9" covered="true" /><lineToCover lineNumber="11" covered="true" /><lineToCover lineNumber="12" covered="true" /><lineToCover lineNumber="14" covered="true" /><lineToCover lineNumber="17" covered="true" /><lineToCover lineNumber="19" covered="true" /><lineToCover lineNumber="21" covered="true" /><lineToCover lineNumber="22" covered="false" /><lineToCover lineNumber="23" covered="false" /><lineToCover lineNumber="24" covered="false" /><lineToCover lineNumber="25" covered="false" /><lineToCover lineNumber="26" covered="false" /><lineToCover lineNumber="27" covered="false" /><lineToCover lineNumber="29" covered="false" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="32" covered="false" /><lineToCover lineNumber="33" covered="false" /><lineToCover lineNumber="35" covered="false" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="38" covered="false" /><lineToCover lineNumber="39" covered="false" /><lineToCover lineNumber="40" covered="false" /><lineToCover lineNumber="41" covered="false" /><lineToCover lineNumber="42" covered="false" /><lineToCover lineNumber="43" covered="false" /><lineToCover lineNumber="44" covered="false" /><lineToCover lineNumber="45" covered="false" /><lineToCover lineNumber="46" covered="false" /><lineToCover lineNumber="47" covered="false" /><lineToCover lineNumber="48" covered="false" /><lineToCover lineNumber="49" covered="false" /><lineToCover lineNumber="51" covered="false" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="97" covered="false" /><lineToCover lineNumber="99" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="105" covered="true" /><lineToCover lineNumber="106" covered="false" /><lineToCover lineNumber="108" covered="true" /><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="116" covered="false" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="120" covered="true" /><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="125" covered="true" /><lineToCover lineNumber="126" covered="false" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="130" covered="true" /><lineToCover lineNumber="133" covered="true" /><lineToCover lineNumber="135" covered="true" /><lineToCover lineNumber="136" covered="false" /><lineToCover lineNumber="138" covered="true" /><lineToCover lineNumber="140" covered="true" /><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="145" covered="true" /><lineToCover lineNumber="146" covered="false" /><lineToCover lineNumber="148" covered="true" /><lineToCover lineNumber="150" covered="true" /><lineToCover lineNumber="153" covered="true" /><lineToCover lineNumber="155" covered="true" /><lineToCover lineNumber="156" covered="true" /><lineToCover lineNumber="158" covered="true" /><lineToCover lineNumber="160" covered="true" /><lineToCover lineNumber="162" covered="true" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="165" covered="true" /><lineToCover lineNumber="167" covered="true" /><lineToCover lineNumber="169" covered="true" /><lineToCover lineNumber="171" covered="true" /><lineToCover lineNumber="173" covered="true" /><lineToCover lineNumber="174" covered="true" /><lineToCover lineNumber="176" covered="true" /><lineToCover lineNumber="178" covered="true" /><lineToCover lineNumber="180" covered="true" /><lineToCover lineNumber="182" covered="true" /><lineToCover lineNumber="183" covered="true" /><lineToCover lineNumber="185" covered="true" /><lineToCover lineNumber="187" covered="true" /><lineToCover lineNumber="189" covered="true" /><lineToCover lineNumber="191" covered="true" /><lineToCover lineNumber="192" covered="false" /><lineToCover lineNumber="194" covered="true" /><lineToCover lineNumber="196" covered="true" /><lineToCover lineNumber="198" covered="true" /><lineToCover lineNumber="200" covered="true" /><lineToCover lineNumber="201" covered="false" /><lineToCover lineNumber="203" covered="true" /><lineToCover lineNumber="205" covered="true" /><lineToCover lineNumber="207" covered="true" /><lineToCover lineNumber="209" covered="true" /><lineToCover lineNumber="210" covered="false" /><lineToCover lineNumber="212" covered="true" /><lineToCover lineNumber="214" covered="true" /><lineToCover lineNumber="216" covered="true" /><lineToCover lineNumber="218" covered="true" /><lineToCover lineNumber="219" covered="false" /><lineToCover lineNumber="221" covered="true" /><lineToCover lineNumber="223" covered="true" /><lineToCover lineNumber="225" covered="true" /><lineToCover lineNumber="227" covered="true" /><lineToCover lineNumber="228" covered="false" /><lineToCover lineNumber="230" covered="true" /><lineToCover lineNumber="232" covered="true" /><lineToCover lineNumber="234" covered="true" /><lineToCover lineNumber="236" covered="true" /><lineToCover lineNumber="237" covered="false" /><lineToCover lineNumber="239" covered="true" /><lineToCover lineNumber="241" covered="true" /><lineToCover lineNumber="243" covered="false" /><lineToCover lineNumber="245" covered="false" /><lineToCover lineNumber="246" covered="false" /><lineToCover lineNumber="247" covered="false" /><lineToCover lineNumber="252" covered="false" /></file><file path="tests/unit_test_keyboard/unit_test_keyboard.cpp"><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="40" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="77" covered="false" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="99" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="104" covered="false" /><lineToCover lineNumber="107" covered="true" /><lineToCover lineNumber="109" covered="true" /><lineToCover lineNumber="111" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="121" covered="true" /><lineToCover lineNumber="122" covered="true" /><lineToCover lineNumber="124" covered="true" /><lineToCover lineNumber="126" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="131" covered="false" /><lineToCover lineNumber="135" covered="true" /><lineToCover lineNumber="137" covered="true" /><lineToCover lineNumber="139" covered="true" /><lineToCover lineNumber="141" covered="true" /><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="146" covered="true" /><lineToCover lineNumber="149" covered="true" /><lineToCover lineNumber="150" covered="true" /><lineToCover lineNumber="152" covered="true" /><lineToCover lineNumber="154" covered="true" /><lineToCover lineNumber="156" covered="true" /><lineToCover lineNumber="159" covered="false" /><lineToCover lineNumber="162" covered="true" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="166" covered="true" /><lineToCover lineNumber="168" covered="true" /><lineToCover lineNumber="170" covered="false" /><lineToCover lineNumber="173" covered="true" /><lineToCover lineNumber="176" covered="true" /><lineToCover lineNumber="177" covered="true" /><lineToCover lineNumber="179" covered="true" /><lineToCover lineNumber="181" covered="true" /><lineToCover lineNumber="183" covered="true" /><lineToCover lineNumber="186" covered="false" /><lineToCover lineNumber="189" covered="true" /><lineToCover lineNumber="191" covered="true" /><lineToCover lineNumber="193" covered="true" /><lineToCover lineNumber="195" covered="true" /><lineToCover lineNumber="197" covered="false" /><lineToCover lineNumber="200" covered="true" /><lineToCover lineNumber="202" covered="true" /><lineToCover lineNumber="204" covered="true" /><lineToCover lineNumber="206" covered="true" /><lineToCover lineNumber="208" covered="false" /><lineToCover lineNumber="211" covered="true" /><lineToCover lineNumber="214" covered="true" /><lineToCover lineNumber="215" covered="true" /><lineToCover lineNumber="217" covered="true" /><lineToCover lineNumber="219" covered="true" /><lineToCover lineNumber="221" covered="true" /><lineToCover lineNumber="224" covered="false" /><lineToCover lineNumber="227" covered="true" /><lineToCover lineNumber="229" covered="true" /><lineToCover lineNumber="231" covered="true" /><lineToCover lineNumber="233" covered="true" /><lineToCover lineNumber="235" covered="false" /><lineToCover lineNumber="238" covered="true" /><lineToCover lineNumber="240" covered="true" /><lineToCover lineNumber="242" covered="true" /><lineToCover lineNumber="244" covered="true" /><lineToCover lineNumber="246" covered="false" /><lineToCover lineNumber="249" covered="true" /><lineToCover lineNumber="252" covered="true" /><lineToCover lineNumber="253" covered="true" /><lineToCover lineNumber="254" covered="true" /><lineToCover lineNumber="256" covered="true" /><lineToCover lineNumber="258" covered="true" /><lineToCover lineNumber="261" covered="false" /><lineToCover lineNumber="264" covered="true" /><lineToCover lineNumber="266" covered="true" /><lineToCover lineNumber="268" covered="true" /><lineToCover lineNumber="270" covered="true" /><lineToCover lineNumber="272" covered="false" /></file><file path="tests/unit_test_mouse/unit_test_mouse.cpp"><lineToCover lineNumber="28" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="33" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="44" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="67" covered="true" /><lineToCover lineNumber="70" covered="true" /><lineToCover lineNumber="73" covered="false" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="99" covered="true" /><lineToCover lineNumber="102" covered="true" /><lineToCover lineNumber="105" covered="false" /><lineToCover lineNumber="109" covered="true" /><lineToCover lineNumber="112" covered="true" /><lineToCover lineNumber="115" covered="true" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="120" covered="true" /><lineToCover lineNumber="121" covered="true" /><lineToCover lineNumber="122" covered="true" /><lineToCover lineNumber="125" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="131" covered="true" /><lineToCover lineNumber="132" covered="true" /><lineToCover lineNumber="133" covered="true" /><lineToCover lineNumber="136" covered="true" /><lineToCover lineNumber="139" covered="true" /><lineToCover lineNumber="142" covered="false" /><lineToCover lineNumber="145" covered="true" /><lineToCover lineNumber="148" covered="true" /><lineToCover lineNumber="151" covered="true" /><lineToCover lineNumber="154" covered="true" /><lineToCover lineNumber="157" covered="true" /><lineToCover lineNumber="160" covered="true" /><lineToCover lineNumber="163" covered="true" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="165" covered="true" /><lineToCover lineNumber="168" covered="true" /><lineToCover lineNumber="171" covered="true" /><lineToCover lineNumber="174" covered="false" /><lineToCover lineNumber="177" covered="true" /><lineToCover lineNumber="180" covered="true" /><lineToCover lineNumber="183" covered="true" /><lineToCover lineNumber="186" covered="true" /><lineToCover lineNumber="189" covered="true" /><lineToCover lineNumber="192" covered="true" /><lineToCover lineNumber="195" covered="true" /><lineToCover lineNumber="196" covered="true" /><lineToCover lineNumber="197" covered="true" /><lineToCover lineNumber="200" covered="true" /><lineToCover lineNumber="203" covered="true" /><lineToCover lineNumber="206" covered="false" /><lineToCover lineNumber="209" covered="true" /><lineToCover lineNumber="212" covered="true" /><lineToCover lineNumber="215" covered="true" /><lineToCover lineNumber="218" covered="true" /><lineToCover lineNumber="221" covered="true" /><lineToCover lineNumber="224" covered="true" /><lineToCover lineNumber="227" covered="true" /><lineToCover lineNumber="228" covered="true" /><lineToCover lineNumber="229" covered="true" /><lineToCover lineNumber="232" covered="true" /><lineToCover lineNumber="235" covered="true" /><lineToCover lineNumber="238" covered="false" /><lineToCover lineNumber="241" covered="true" /><lineToCover lineNumber="244" covered="true" /><lineToCover lineNumber="247" covered="true" /><lineToCover lineNumber="250" covered="true" /><lineToCover lineNumber="253" covered="true" /><lineToCover lineNumber="256" covered="true" /><lineToCover lineNumber="259" covered="true" /><lineToCover lineNumber="260" covered="true" /><lineToCover lineNumber="261" covered="true" /><lineToCover lineNumber="264" covered="true" /><lineToCover lineNumber="267" covered="true" /><lineToCover lineNumber="270" covered="false" /><lineToCover lineNumber="273" covered="true" /><lineToCover lineNumber="276" covered="true" /><lineToCover lineNumber="279" covered="true" /><lineToCover lineNumber="282" covered="true" /><lineToCover lineNumber="284" covered="true" /><lineToCover lineNumber="285" covered="true" /><lineToCover lineNumber="286" covered="true" /><lineToCover lineNumber="289" covered="true" /><lineToCover lineNumber="292" covered="true" /><lineToCover lineNumber="295" covered="true" /><lineToCover lineNumber="296" covered="true" /><lineToCover lineNumber="297" covered="true" /><lineToCover lineNumber="300" covered="true" /><lineToCover lineNumber="303" covered="true" /><lineToCover lineNumber="306" covered="false" /><lineToCover lineNumber="309" covered="true" /><lineToCover lineNumber="312" covered="true" /><lineToCover lineNumber="315" covered="true" /><lineToCover lineNumber="318" covered="true" /><lineToCover lineNumber="321" covered="true" /><lineToCover lineNumber="324" covered="true" /><lineToCover lineNumber="327" covered="true" /><lineToCover lineNumber="328" covered="true" /><lineToCover lineNumber="329" covered="true" /><lineToCover lineNumber="332" covered="true" /><lineToCover lineNumber="335" covered="true" /><lineToCover lineNumber="338" covered="false" /><lineToCover lineNumber="342" covered="true" /><lineToCover lineNumber="345" covered="true" /><lineToCover lineNumber="348" covered="true" /><lineToCover lineNumber="351" covered="true" /><lineToCover lineNumber="354" covered="true" /><lineToCover lineNumber="357" covered="true" /><lineToCover lineNumber="360" covered="true" /><lineToCover lineNumber="361" covered="true" /><lineToCover lineNumber="362" covered="true" /><lineToCover lineNumber="365" covered="true" /><lineToCover lineNumber="368" covered="true" /><lineToCover lineNumber="371" covered="false" /></file><file path="tests/unit_test_mouse/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="6" covered="true" /></file><file path="registeredSession/plugins/mouse/mouseinterface.cpp"><lineToCover lineNumber="4" covered="true" /><lineToCover lineNumber="6" covered="true" /><lineToCover lineNumber="7" covered="true" /><lineToCover lineNumber="8" covered="true" /><lineToCover lineNumber="10" covered="true" /><lineToCover lineNumber="11" covered="true" /><lineToCover lineNumber="13" covered="true" /><lineToCover lineNumber="16" covered="true" /><lineToCover lineNumber="18" covered="true" /><lineToCover lineNumber="20" covered="true" /><lineToCover lineNumber="21" covered="false" /><lineToCover lineNumber="22" covered="false" /><lineToCover lineNumber="23" covered="false" /><lineToCover lineNumber="24" covered="false" /><lineToCover lineNumber="25" covered="false" /><lineToCover lineNumber="26" covered="false" /><lineToCover lineNumber="27" covered="false" /><lineToCover lineNumber="28" covered="false" /><lineToCover lineNumber="29" covered="false" /><lineToCover lineNumber="30" covered="false" /><lineToCover lineNumber="31" covered="false" /><lineToCover lineNumber="32" covered="false" /><lineToCover lineNumber="33" covered="false" /><lineToCover lineNumber="34" covered="false" /><lineToCover lineNumber="35" covered="false" /><lineToCover lineNumber="36" covered="false" /><lineToCover lineNumber="38" covered="false" /><lineToCover lineNumber="40" covered="true" /><lineToCover lineNumber="41" covered="false" /><lineToCover lineNumber="42" covered="false" /><lineToCover lineNumber="43" covered="false" /><lineToCover lineNumber="44" covered="false" /><lineToCover lineNumber="46" covered="false" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="58" covered="true" /><lineToCover lineNumber="61" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="64" covered="true" /><lineToCover lineNumber="66" covered="true" /><lineToCover lineNumber="68" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="93" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="108" covered="true" /><lineToCover lineNumber="111" covered="true" /><lineToCover lineNumber="113" covered="true" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="116" covered="true" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="121" covered="true" /><lineToCover lineNumber="123" covered="true" /><lineToCover lineNumber="124" covered="true" /><lineToCover lineNumber="126" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="131" covered="true" /><lineToCover lineNumber="133" covered="true" /><lineToCover lineNumber="134" covered="true" /><lineToCover lineNumber="136" covered="true" /><lineToCover lineNumber="138" covered="true" /><lineToCover lineNumber="141" covered="true" /><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="144" covered="true" /><lineToCover lineNumber="146" covered="true" /><lineToCover lineNumber="148" covered="true" /><lineToCover lineNumber="152" covered="true" /><lineToCover lineNumber="154" covered="true" /><lineToCover lineNumber="155" covered="true" /><lineToCover lineNumber="157" covered="true" /><lineToCover lineNumber="159" covered="true" /><lineToCover lineNumber="161" covered="true" /><lineToCover lineNumber="163" covered="true" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="166" covered="true" /><lineToCover lineNumber="168" covered="true" /><lineToCover lineNumber="170" covered="true" /><lineToCover lineNumber="172" covered="true" /><lineToCover lineNumber="173" covered="true" /><lineToCover lineNumber="175" covered="true" /><lineToCover lineNumber="177" covered="true" /><lineToCover lineNumber="179" covered="true" /><lineToCover lineNumber="181" covered="true" /><lineToCover lineNumber="182" covered="true" /><lineToCover lineNumber="184" covered="true" /><lineToCover lineNumber="186" covered="true" /><lineToCover lineNumber="188" covered="true" /><lineToCover lineNumber="190" covered="true" /><lineToCover lineNumber="191" covered="true" /><lineToCover lineNumber="193" covered="true" /><lineToCover lineNumber="195" covered="true" /><lineToCover lineNumber="197" covered="true" /><lineToCover lineNumber="199" covered="true" /><lineToCover lineNumber="200" covered="true" /><lineToCover lineNumber="202" covered="true" /><lineToCover lineNumber="204" covered="true" /><lineToCover lineNumber="206" covered="true" /><lineToCover lineNumber="208" covered="true" /><lineToCover lineNumber="209" covered="true" /><lineToCover lineNumber="211" covered="true" /><lineToCover lineNumber="213" covered="true" /><lineToCover lineNumber="215" covered="true" /><lineToCover lineNumber="217" covered="true" /><lineToCover lineNumber="218" covered="true" /><lineToCover lineNumber="220" covered="true" /><lineToCover lineNumber="222" covered="true" /><lineToCover lineNumber="224" covered="true" /><lineToCover lineNumber="226" covered="true" /><lineToCover lineNumber="227" covered="true" /><lineToCover lineNumber="229" covered="true" /><lineToCover lineNumber="232" covered="true" /><lineToCover lineNumber="233" covered="true" /><lineToCover lineNumber="235" covered="true" /><lineToCover lineNumber="237" covered="true" /><lineToCover lineNumber="239" covered="true" /><lineToCover lineNumber="241" covered="true" /><lineToCover lineNumber="242" covered="true" /><lineToCover lineNumber="244" covered="true" /><lineToCover lineNumber="247" covered="true" /><lineToCover lineNumber="248" covered="false" /><lineToCover lineNumber="250" covered="true" /><lineToCover lineNumber="252" covered="true" /><lineToCover lineNumber="254" covered="false" /><lineToCover lineNumber="256" covered="false" /><lineToCover lineNumber="257" covered="false" /><lineToCover lineNumber="259" covered="false" /><lineToCover lineNumber="261" covered="false" /><lineToCover lineNumber="263" covered="true" /><lineToCover lineNumber="265" covered="true" /><lineToCover lineNumber="266" covered="true" /><lineToCover lineNumber="267" covered="true" /><lineToCover lineNumber="268" covered="true" /><lineToCover lineNumber="270" covered="true" /></file><file path="tests/unit_test_mouse/moc_mouseinterface.cpp"><lineToCover lineNumber="150" covered="false" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="155" covered="false" /><lineToCover lineNumber="156" covered="false" /><lineToCover lineNumber="157" covered="false" /><lineToCover lineNumber="158" covered="false" /><lineToCover lineNumber="159" covered="false" /><lineToCover lineNumber="160" covered="false" /><lineToCover lineNumber="161" covered="false" /><lineToCover lineNumber="162" covered="false" /><lineToCover lineNumber="163" covered="false" /><lineToCover lineNumber="164" covered="false" /><lineToCover lineNumber="165" covered="false" /><lineToCover lineNumber="166" covered="false" /><lineToCover lineNumber="167" covered="false" /><lineToCover lineNumber="168" covered="false" /><lineToCover lineNumber="171" covered="false" /><lineToCover lineNumber="172" covered="false" /><lineToCover lineNumber="175" covered="false" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="177" covered="false" /><lineToCover lineNumber="182" covered="false" /><lineToCover lineNumber="185" covered="false" /><lineToCover lineNumber="186" covered="false" /><lineToCover lineNumber="187" covered="false" /><lineToCover lineNumber="188" covered="false" /><lineToCover lineNumber="189" covered="false" /><lineToCover lineNumber="190" covered="false" /><lineToCover lineNumber="191" covered="false" /><lineToCover lineNumber="192" covered="false" /><lineToCover lineNumber="193" covered="false" /><lineToCover lineNumber="194" covered="false" /><lineToCover lineNumber="195" covered="false" /><lineToCover lineNumber="196" covered="false" /><lineToCover lineNumber="215" covered="false" /><lineToCover lineNumber="217" covered="false" /><lineToCover lineNumber="220" covered="false" /><lineToCover lineNumber="222" covered="false" /><lineToCover lineNumber="223" covered="false" /><lineToCover lineNumber="225" covered="false" /><lineToCover lineNumber="228" covered="false" /><lineToCover lineNumber="230" covered="false" /><lineToCover lineNumber="231" covered="false" /><lineToCover lineNumber="233" covered="false" /><lineToCover lineNumber="234" covered="false" /><lineToCover lineNumber="235" covered="false" /><lineToCover lineNumber="236" covered="false" /><lineToCover lineNumber="237" covered="false" /><lineToCover lineNumber="238" covered="false" /><lineToCover lineNumber="239" covered="false" /><lineToCover lineNumber="240" covered="false" /><lineToCover lineNumber="243" covered="false" /><lineToCover lineNumber="244" covered="false" /><lineToCover lineNumber="245" covered="false" /><lineToCover lineNumber="246" covered="false" /><lineToCover lineNumber="247" covered="false" /><lineToCover lineNumber="248" covered="false" /><lineToCover lineNumber="249" covered="false" /><lineToCover lineNumber="250" covered="false" /><lineToCover lineNumber="251" covered="false" /><lineToCover lineNumber="252" covered="false" /><lineToCover lineNumber="253" covered="false" /><lineToCover lineNumber="254" covered="false" /><lineToCover lineNumber="255" covered="false" /><lineToCover lineNumber="256" covered="false" /><lineToCover lineNumber="263" covered="false" /><lineToCover lineNumber="265" covered="false" /><lineToCover lineNumber="266" covered="false" /><lineToCover lineNumber="267" covered="false" /></file><file path="tests/unit_test_default/moc_defaultinterface.cpp"><lineToCover lineNumber="90" covered="false" /><lineToCover lineNumber="92" covered="false" /><lineToCover lineNumber="95" covered="false" /><lineToCover lineNumber="96" covered="false" /><lineToCover lineNumber="97" covered="false" /><lineToCover lineNumber="98" covered="false" /><lineToCover lineNumber="99" covered="false" /><lineToCover lineNumber="100" covered="false" /><lineToCover lineNumber="101" covered="false" /><lineToCover lineNumber="102" covered="false" /><lineToCover lineNumber="107" covered="false" /><lineToCover lineNumber="110" covered="false" /><lineToCover lineNumber="111" covered="false" /><lineToCover lineNumber="112" covered="false" /><lineToCover lineNumber="119" covered="false" /><lineToCover lineNumber="131" covered="false" /><lineToCover lineNumber="133" covered="false" /><lineToCover lineNumber="136" covered="false" /><lineToCover lineNumber="138" covered="false" /><lineToCover lineNumber="139" covered="false" /><lineToCover lineNumber="141" covered="false" /><lineToCover lineNumber="144" covered="false" /><lineToCover lineNumber="146" covered="false" /><lineToCover lineNumber="147" covered="false" /><lineToCover lineNumber="149" covered="false" /><lineToCover lineNumber="150" covered="false" /><lineToCover lineNumber="151" covered="false" /><lineToCover lineNumber="152" covered="false" /><lineToCover lineNumber="153" covered="false" /><lineToCover lineNumber="154" covered="false" /><lineToCover lineNumber="155" covered="false" /><lineToCover lineNumber="156" covered="false" /><lineToCover lineNumber="159" covered="false" /><lineToCover lineNumber="160" covered="false" /><lineToCover lineNumber="161" covered="false" /><lineToCover lineNumber="162" covered="false" /><lineToCover lineNumber="163" covered="false" /><lineToCover lineNumber="164" covered="false" /><lineToCover lineNumber="165" covered="false" /><lineToCover lineNumber="166" covered="false" /><lineToCover lineNumber="167" covered="false" /><lineToCover lineNumber="168" covered="false" /><lineToCover lineNumber="169" covered="false" /><lineToCover lineNumber="170" covered="false" /><lineToCover lineNumber="171" covered="false" /><lineToCover lineNumber="172" covered="false" /></file><file path="registeredSession/plugins/default/defaultinterface.h"><lineToCover lineNumber="22" covered="true" /></file><file path="registeredSession/plugins/default/defaultinterface.cpp"><lineToCover lineNumber="20" covered="true" /><lineToCover lineNumber="22" covered="true" /><lineToCover lineNumber="25" covered="true" /><lineToCover lineNumber="27" covered="true" /><lineToCover lineNumber="28" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="31" covered="true" /><lineToCover lineNumber="32" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="37" covered="true" /><lineToCover lineNumber="39" covered="true" /><lineToCover lineNumber="40" covered="true" /><lineToCover lineNumber="41" covered="true" /><lineToCover lineNumber="42" covered="true" /><lineToCover lineNumber="43" covered="true" /><lineToCover lineNumber="45" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="50" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="52" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="55" covered="true" /><lineToCover lineNumber="56" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="58" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="60" covered="true" /><lineToCover lineNumber="62" covered="true" /><lineToCover lineNumber="66" covered="false" /><lineToCover lineNumber="69" covered="true" /><lineToCover lineNumber="71" covered="true" /><lineToCover lineNumber="72" covered="true" /><lineToCover lineNumber="73" covered="true" /><lineToCover lineNumber="74" covered="true" /><lineToCover lineNumber="76" covered="true" /><lineToCover lineNumber="77" covered="true" /><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="79" covered="true" /><lineToCover lineNumber="80" covered="true" /><lineToCover lineNumber="81" covered="false" /><lineToCover lineNumber="82" covered="false" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="89" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="93" covered="true" /><lineToCover lineNumber="94" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="101" covered="true" /><lineToCover lineNumber="103" covered="true" /><lineToCover lineNumber="104" covered="true" /><lineToCover lineNumber="105" covered="true" /><lineToCover lineNumber="106" covered="true" /><lineToCover lineNumber="107" covered="true" /><lineToCover lineNumber="110" covered="true" /><lineToCover lineNumber="112" covered="true" /><lineToCover lineNumber="114" covered="true" /><lineToCover lineNumber="116" covered="true" /><lineToCover lineNumber="117" covered="true" /><lineToCover lineNumber="118" covered="true" /><lineToCover lineNumber="119" covered="true" /><lineToCover lineNumber="120" covered="true" /><lineToCover lineNumber="122" covered="true" /><lineToCover lineNumber="125" covered="true" /><lineToCover lineNumber="128" covered="true" /><lineToCover lineNumber="130" covered="true" /><lineToCover lineNumber="131" covered="false" /><lineToCover lineNumber="132" covered="false" /><lineToCover lineNumber="133" covered="true" /><lineToCover lineNumber="134" covered="false" /><lineToCover lineNumber="135" covered="false" /><lineToCover lineNumber="136" covered="true" /><lineToCover lineNumber="137" covered="false" /><lineToCover lineNumber="138" covered="false" /><lineToCover lineNumber="140" covered="true" /><lineToCover lineNumber="141" covered="true" /><lineToCover lineNumber="142" covered="true" /><lineToCover lineNumber="143" covered="true" /><lineToCover lineNumber="145" covered="true" /><lineToCover lineNumber="146" covered="true" /><lineToCover lineNumber="147" covered="true" /><lineToCover lineNumber="148" covered="true" /><lineToCover lineNumber="152" covered="true" /><lineToCover lineNumber="155" covered="true" /><lineToCover lineNumber="157" covered="true" /><lineToCover lineNumber="158" covered="true" /><lineToCover lineNumber="159" covered="true" /><lineToCover lineNumber="160" covered="true" /><lineToCover lineNumber="162" covered="true" /><lineToCover lineNumber="163" covered="true" /><lineToCover lineNumber="164" covered="true" /><lineToCover lineNumber="165" covered="true" /><lineToCover lineNumber="166" covered="true" /><lineToCover lineNumber="167" covered="true" /><lineToCover lineNumber="169" covered="true" /><lineToCover lineNumber="171" covered="false" /><lineToCover lineNumber="173" covered="false" /><lineToCover lineNumber="174" covered="false" /><lineToCover lineNumber="175" covered="false" /><lineToCover lineNumber="176" covered="false" /><lineToCover lineNumber="177" covered="false" /><lineToCover lineNumber="178" covered="false" /><lineToCover lineNumber="181" covered="false" /><lineToCover lineNumber="183" covered="false" /><lineToCover lineNumber="184" covered="false" /><lineToCover lineNumber="185" covered="false" /><lineToCover lineNumber="186" covered="false" /><lineToCover lineNumber="187" covered="false" /><lineToCover lineNumber="188" covered="false" /></file><file path="/usr/include/c++/9/bits/std_function.h"><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="92" covered="false" /><lineToCover lineNumber="93" covered="false" /><lineToCover lineNumber="97" covered="true" /><lineToCover lineNumber="98" covered="true" /><lineToCover lineNumber="151" covered="true" /><lineToCover lineNumber="159" covered="true" /><lineToCover lineNumber="196" covered="true" /><lineToCover lineNumber="199" covered="true" /><lineToCover lineNumber="202" covered="false" /><lineToCover lineNumber="203" covered="false" /><lineToCover lineNumber="204" covered="false" /><lineToCover lineNumber="206" covered="false" /><lineToCover lineNumber="207" covered="false" /><lineToCover lineNumber="208" covered="false" /><lineToCover lineNumber="210" covered="true" /><lineToCover lineNumber="211" covered="true" /><lineToCover lineNumber="212" covered="true" /><lineToCover lineNumber="214" covered="true" /><lineToCover lineNumber="215" covered="true" /><lineToCover lineNumber="216" covered="true" /><lineToCover lineNumber="218" covered="true" /><lineToCover lineNumber="222" covered="true" /><lineToCover lineNumber="223" covered="true" /><lineToCover lineNumber="255" covered="true" /><lineToCover lineNumber="257" covered="true" /><lineToCover lineNumber="258" covered="true" /><lineToCover lineNumber="259" covered="true" /><lineToCover lineNumber="260" covered="true" /><lineToCover lineNumber="261" covered="true" /><lineToCover lineNumber="283" covered="true" /><lineToCover lineNumber="285" covered="true" /><lineToCover lineNumber="286" covered="true" /><lineToCover lineNumber="667" covered="true" /><lineToCover lineNumber="669" covered="true" /><lineToCover lineNumber="673" covered="true" /><lineToCover lineNumber="675" covered="true" /><lineToCover lineNumber="676" covered="true" /><lineToCover lineNumber="677" covered="true" /><lineToCover lineNumber="679" covered="true" /></file><file path="/usr/include/x86_64-linux-gnu/qt5/QtCore/qmimetype.h"><lineToCover lineNumber="82" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="87" covered="true" /><lineToCover lineNumber="129" covered="true" /></file><file path="/usr/include/c++/9/bits/stl_heap.h"><lineToCover lineNumber="128" covered="false" /><lineToCover lineNumber="132" covered="false" /><lineToCover lineNumber="133" covered="false" /><lineToCover lineNumber="135" covered="false" /><lineToCover lineNumber="137" covered="false" /><lineToCover lineNumber="139" covered="false" /><lineToCover lineNumber="140" covered="false" /><lineToCover lineNumber="214" covered="false" /><lineToCover lineNumber="219" covered="false" /><lineToCover lineNumber="221" covered="false" /><lineToCover lineNumber="222" covered="false" /><lineToCover lineNumber="225" covered="false" /><lineToCover lineNumber="228" covered="false" /><lineToCover lineNumber="230" covered="false" /><lineToCover lineNumber="231" covered="false" /><lineToCover lineNumber="236" covered="false" /><lineToCover lineNumber="237" covered="false" /><lineToCover lineNumber="238" covered="false" /><lineToCover lineNumber="239" covered="false" /><lineToCover lineNumber="243" covered="false" /><lineToCover lineNumber="251" covered="false" /><lineToCover lineNumber="252" covered="false" /><lineToCover lineNumber="253" covered="false" /><lineToCover lineNumber="254" covered="false" /><lineToCover lineNumber="255" covered="false" /><lineToCover lineNumber="256" covered="false" /><lineToCover lineNumber="326" covered="false" /><lineToCover lineNumber="334" covered="false" /><lineToCover lineNumber="337" covered="false" /><lineToCover lineNumber="338" covered="false" /><lineToCover lineNumber="341" covered="false" /><lineToCover lineNumber="342" covered="false" /><lineToCover lineNumber="344" covered="false" /><lineToCover lineNumber="345" covered="false" /><lineToCover lineNumber="346" covered="false" /><lineToCover lineNumber="402" covered="false" /><lineToCover lineNumber="405" covered="false" /><lineToCover lineNumber="407" covered="false" /><lineToCover lineNumber="408" covered="false" /><lineToCover lineNumber="410" covered="false" /></file><file path="/usr/include/c++/9/bits/predefined_ops.h"><lineToCover lineNumber="135" covered="true" /><lineToCover lineNumber="136" covered="true" /><lineToCover lineNumber="137" covered="true" /><lineToCover lineNumber="149" covered="true" /><lineToCover lineNumber="150" covered="true" /><lineToCover lineNumber="169" covered="false" /><lineToCover lineNumber="170" covered="false" /><lineToCover lineNumber="171" covered="false" /><lineToCover lineNumber="207" covered="true" /><lineToCover lineNumber="208" covered="true" /><lineToCover lineNumber="209" covered="true" /><lineToCover lineNumber="225" covered="true" /><lineToCover lineNumber="226" covered="true" /></file><file path="/usr/include/c++/9/bits/stl_algo.h"><lineToCover lineNumber="78" covered="true" /><lineToCover lineNumber="81" covered="true" /><lineToCover lineNumber="83" covered="true" /><lineToCover lineNumber="84" covered="true" /><lineToCover lineNumber="85" covered="true" /><lineToCover lineNumber="86" covered="true" /><lineToCover lineNumber="88" covered="true" /><lineToCover lineNumber="90" covered="true" /><lineToCover lineNumber="91" covered="true" /><lineToCover lineNumber="92" covered="true" /><lineToCover lineNumber="93" covered="true" /><lineToCover lineNumber="95" covered="true" /><lineToCover lineNumber="96" covered="true" /><lineToCover lineNumber="1667" covered="false" /><lineToCover lineNumber="1671" covered="false" /><lineToCover lineNumber="1672" covered="false" /><lineToCover lineNumber="1673" covered="false" /><lineToCover lineNumber="1674" covered="false" /><lineToCover lineNumber="1675" covered="false" /><lineToCover lineNumber="1820" covered="true" /><lineToCover lineNumber="1824" covered="true" /><lineToCover lineNumber="1825" covered="true" /><lineToCover lineNumber="1826" covered="true" /><lineToCover lineNumber="1827" covered="true" /><lineToCover lineNumber="1829" covered="true" /><lineToCover lineNumber="1830" covered="true" /><lineToCover lineNumber="1831" covered="true" /><lineToCover lineNumber="1833" covered="true" /><lineToCover lineNumber="1834" covered="true" /><lineToCover lineNumber="1839" covered="true" /><lineToCover lineNumber="1842" covered="true" /><lineToCover lineNumber="1844" covered="true" /><lineToCover lineNumber="1846" covered="true" /><lineToCover lineNumber="1849" covered="true" /><lineToCover lineNumber="1850" covered="true" /><lineToCover lineNumber="1851" covered="true" /><lineToCover lineNumber="1854" covered="true" /><lineToCover lineNumber="1862" covered="true" /><lineToCover lineNumber="1865" covered="true" /><lineToCover lineNumber="1866" covered="true" /><lineToCover lineNumber="1868" covered="true" /><lineToCover lineNumber="1879" covered="true" /><lineToCover lineNumber="1882" covered="true" /><lineToCover lineNumber="1884" covered="true" /><lineToCover lineNumber="1885" covered="true" /><lineToCover lineNumber="1889" covered="false" /><lineToCover lineNumber="1890" covered="true" /><lineToCover lineNumber="1895" covered="true" /><lineToCover lineNumber="1901" covered="true" /><lineToCover lineNumber="1902" covered="true" /><lineToCover lineNumber="1903" covered="true" /><lineToCover lineNumber="1904" covered="true" /><lineToCover lineNumber="1905" covered="true" /><lineToCover lineNumber="1906" covered="true" /><lineToCover lineNumber="1907" covered="true" /><lineToCover lineNumber="1908" covered="true" /><lineToCover lineNumber="1909" covered="true" /><lineToCover lineNumber="1916" covered="true" /><lineToCover lineNumber="1919" covered="true" /><lineToCover lineNumber="1920" covered="true" /><lineToCover lineNumber="1922" covered="true" /><lineToCover lineNumber="1927" covered="false" /><lineToCover lineNumber="1932" covered="false" /><lineToCover lineNumber="1933" covered="false" /><lineToCover lineNumber="1934" covered="false" /><lineToCover lineNumber="1939" covered="true" /><lineToCover lineNumber="1943" covered="true" /><lineToCover lineNumber="1945" covered="true" /><lineToCover lineNumber="1947" covered="false" /><lineToCover lineNumber="1948" covered="false" /><lineToCover lineNumber="1950" covered="true" /><lineToCover lineNumber="1951" covered="true" /><lineToCover lineNumber="1953" covered="true" /><lineToCover lineNumber="1954" covered="true" /><lineToCover lineNumber="1962" covered="true" /><lineToCover lineNumber="1965" covered="true" /><lineToCover lineNumber="1967" covered="true" /><lineToCover lineNumber="1968" covered="true" /><lineToCover lineNumber="1970" covered="true" /><lineToCover lineNumber="1972" covered="true" /><lineToCover lineNumber="4887" covered="true" /><lineToCover lineNumber="4899" covered="true" /><lineToCover lineNumber="4900" covered="true" /></file><file path="tests/unit_test_default/main.cpp"><lineToCover lineNumber="3" covered="true" /><lineToCover lineNumber="5" covered="true" /><lineToCover lineNumber="7" covered="true" /></file><file path="tests/unit_test_default/unit_test_default.cpp"><lineToCover lineNumber="27" covered="true" /><lineToCover lineNumber="29" covered="true" /><lineToCover lineNumber="30" covered="true" /><lineToCover lineNumber="32" covered="true" /><lineToCover lineNumber="34" covered="true" /><lineToCover lineNumber="35" covered="true" /><lineToCover lineNumber="36" covered="true" /><lineToCover lineNumber="38" covered="true" /><lineToCover lineNumber="45" covered="true" /><lineToCover lineNumber="47" covered="true" /><lineToCover lineNumber="48" covered="true" /><lineToCover lineNumber="51" covered="true" /><lineToCover lineNumber="53" covered="true" /><lineToCover lineNumber="54" covered="true" /><lineToCover lineNumber="57" covered="true" /><lineToCover lineNumber="59" covered="true" /><lineToCover lineNumber="60" covered="true" /><lineToCover lineNumber="63" covered="true" /><lineToCover lineNumber="65" covered="true" /><lineToCover lineNumber="66" covered="true" /></file></coverage> \ No newline at end of file