diff --git a/0018-feat-greeter-plugin-Adjusting-the-Greeter-Control-Ce.patch b/0018-feat-greeter-plugin-Adjusting-the-Greeter-Control-Ce.patch new file mode 100644 index 0000000..c508870 --- /dev/null +++ b/0018-feat-greeter-plugin-Adjusting-the-Greeter-Control-Ce.patch @@ -0,0 +1,716 @@ +From bd524c337a59d070da621c5dbcd749d2b8354db7 Mon Sep 17 00:00:00 2001 +From: liuxinhao +Date: Mon, 22 Apr 2024 13:45:35 +0800 +Subject: [PATCH] feat(greeter plugin): Adjusting the Greeter Control Center + plugin to use a new version of the interface for keyword search +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 调整Greeter控制中心插件使用新版本接口并支持关键字搜索 + +Closes #35280 +--- + data/kiran-cpanel-greeter.desktop.in | 33 -------- + .../kiran-cpanel-greeter/CMakeLists.txt | 8 +- + ...cp-interface.cpp => greeter-interface.cpp} | 58 ++++++------- + .../kiran-cpanel-greeter/greeter-interface.h | 46 ++++++++++ + .../kiran-cpanel-greeter/greeter-subitem.cpp | 84 +++++++++++++++++++ + .../kiran-cpanel-greeter/greeter-subitem.h | 57 +++++++++++++ + .../kiran-cpanel-greeter/kcp-interface.h | 50 ----------- + .../kiran-cpanel-greeter/setting-window.cpp | 28 ++++++- + .../kiran-cpanel-greeter/setting-window.h | 3 + + translations/kiran-cpanel-greeter.zh_CN.ts | 68 +++++++-------- + 10 files changed, 277 insertions(+), 158 deletions(-) + delete mode 100644 data/kiran-cpanel-greeter.desktop.in + rename src/lightdm-greeter/kiran-cpanel-greeter/{kcp-interface.cpp => greeter-interface.cpp} (59%) + create mode 100644 src/lightdm-greeter/kiran-cpanel-greeter/greeter-interface.h + create mode 100644 src/lightdm-greeter/kiran-cpanel-greeter/greeter-subitem.cpp + create mode 100644 src/lightdm-greeter/kiran-cpanel-greeter/greeter-subitem.h + delete mode 100644 src/lightdm-greeter/kiran-cpanel-greeter/kcp-interface.h + +diff --git a/data/kiran-cpanel-greeter.desktop.in b/data/kiran-cpanel-greeter.desktop.in +deleted file mode 100644 +index db1065d..0000000 +--- a/data/kiran-cpanel-greeter.desktop.in ++++ /dev/null +@@ -1,33 +0,0 @@ +-#!/usr/bin/env xdg-open +-[Desktop Entry] +-Encoding=UTF-8 +-Name=Greeter Settings +-Name[zh_CN]=登录选项 +-Comment=kiran greeter settings +-Comment=Kiran登录界面选项 +-#通过启动器单独执行 +-Exec=kiran-cpanel-launcher --cpanel-plugin=kiran-cpanel-greeter +-Icon=kcp-greeter +-Terminal=false +-Type=Application +-Categories=Lightdm;Greeter;Core;Settings;System;X-Common-Features;X-Common-Features; +-X-KIRAN-NoDisplay=true +- +-[Kiran Control Panel Plugin] +-#插件排序 +-Weight=99 +-#插件分类 +-Category=login-settings +-#插件共享库位置,若以'/'开头则为绝对路径,也可支持通过共享库名去插件安装目录去查找 +-Library=libkiran-cpanel-greeter.so +-SubItems=Greeter +- +-[Greeter] +-#插件子项名 该值提供给控制中心形成子项列表 +-Name=Greeter Settings +-Name[zh_CN] = 登录选项 +-#插件Icon +-Icon=kcp-greeter +-#插件关键字 该值提供给控制中心形成搜索列表 +-Keywords[zh_CN]=登录选项 +-Keywords = Greeter +\ No newline at end of file +diff --git a/src/lightdm-greeter/kiran-cpanel-greeter/CMakeLists.txt b/src/lightdm-greeter/kiran-cpanel-greeter/CMakeLists.txt +index e556b36..16cde77 100644 +--- a/src/lightdm-greeter/kiran-cpanel-greeter/CMakeLists.txt ++++ b/src/lightdm-greeter/kiran-cpanel-greeter/CMakeLists.txt +@@ -10,8 +10,8 @@ pkg_get_variable(CPANEL_DESKTOP_DIR kiran-control-panel plugin_desktop_location) + file(GLOB CPANEL_GREETER_SRC "../common/*.cpp" "../common/*.h" "./*.cpp" "./*.h" "./*.ui") + set(CPANEL_GREETER_RESOURCE ${CMAKE_SOURCE_DIR}/resources/kcp-greeter-resources.qrc) + file(GLOB CPANEL_GREETER_TRANSLATION ${CMAKE_SOURCE_DIR}/translations/kiran-cpanel-greeter.*.ts) +-qt5_create_translation(GREETER_SETTINS_QM_FILES +- ${CMAKE_CURRENT_SOURCE_DIR} ++qt5_create_translation(GREETER_SETTINS_QM_FILES ++ ${CMAKE_CURRENT_SOURCE_DIR} + ${CPANEL_GREETER_TRANSLATION} + OPTIONS -I ${CMAKE_CURRENT_SOURCE_DIR} -I ${CMAKE_CURRENT_BINARY_DIR} ) + +@@ -45,10 +45,6 @@ target_link_libraries(${TARGET_NAME} + ${KIRAN_STYLE_HELPER_LIBRARIES}) + + # 安装 +-#安装插件desktop文件 +-configure_file(${CMAKE_SOURCE_DIR}/data/kiran-cpanel-greeter.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/kiran-cpanel-greeter.desktop @ONLY) +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kiran-cpanel-greeter.desktop DESTINATION ${CPANEL_DESKTOP_DIR}/) +- + #安装插件 + install(TARGETS ${TARGET_NAME} DESTINATION ${CPANEL_PLUGIN_DIR}/) + #翻译文件 +diff --git a/src/lightdm-greeter/kiran-cpanel-greeter/kcp-interface.cpp b/src/lightdm-greeter/kiran-cpanel-greeter/greeter-interface.cpp +similarity index 59% +rename from src/lightdm-greeter/kiran-cpanel-greeter/kcp-interface.cpp +rename to src/lightdm-greeter/kiran-cpanel-greeter/greeter-interface.cpp +index 3d5691c..0b346bc 100644 +--- a/src/lightdm-greeter/kiran-cpanel-greeter/kcp-interface.cpp ++++ b/src/lightdm-greeter/kiran-cpanel-greeter/greeter-interface.cpp +@@ -1,5 +1,5 @@ + /** +- * Copyright (c) 2020 ~ 2021 KylinSec Co., Ltd. ++ * Copyright (c) 2020 ~ 2024 KylinSec Co., Ltd. + * kiran-session-guard is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: +@@ -9,34 +9,35 @@ + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + * +- * Author: liuxinhao ++ * Author: liuxinhao + */ ++#include "greeter-interface.h" ++#include "greeter-subitem.h" + +-#include "kcp-interface.h" +-#include "setting-window.h" +- +-#include +-#include ++#include + #include +- +-#define KCP_SUBITEM_GREETER_ID "Greeter" ++#include ++#include + + namespace Kiran + { + namespace SessionGuard + { +-namespace Greeter +-{ +-KcpInterface::KcpInterface() ++GreeterInterface::GreeterInterface(QObject* parent) ++ :QObject() + { ++ + } + +-KcpInterface::~KcpInterface() ++GreeterInterface::~GreeterInterface() + { ++ + } + +-int KcpInterface::init() ++int GreeterInterface::init(KiranControlPanel::PanelInterface* interface) + { ++ m_panelInterface = interface; ++ + if (m_translator != nullptr) + { + QCoreApplication::removeTranslator(m_translator); +@@ -51,7 +52,7 @@ int KcpInterface::init() + "/usr/share/lightdm-kiran-greeter/translations", + ".qm")) + { +- KLOG_ERROR() << "load translator failed!"; ++ KLOG_ERROR() << "greeter plugin load translator failed!"; + m_translator->deleteLater(); + m_translator = nullptr; + } +@@ -60,32 +61,23 @@ int KcpInterface::init() + QCoreApplication::installTranslator(m_translator); + } + ++ m_subitem.reset(new GreeterSubItem(interface, this)); + return 0; + } + +-void KcpInterface::uninit() ++void GreeterInterface::uninit() + { +-} +-QWidget* KcpInterface::getSubItemWidget(QString subItemName) +-{ +- QWidget* widget = nullptr; +- if (subItemName == KCP_SUBITEM_GREETER_ID) ++ if (m_translator != nullptr) + { +- widget = new SettingWindow; ++ qApp->removeTranslator(m_translator); ++ m_translator->deleteLater(); ++ m_translator = nullptr; + } +- m_currentWidget = widget; +- return m_currentWidget; + } + +-bool KcpInterface::haveUnsavedOptions() ++QVector GreeterInterface::getSubItems() + { +- return false; ++ return {m_subitem}; ++} + } +- +-QStringList KcpInterface::visibleSubItems() +-{ +- return QStringList() << KCP_SUBITEM_GREETER_ID; + } +-} // namespace Greeter +-} // namespace SessionGuard +-} // namespace Kiran +\ No newline at end of file +diff --git a/src/lightdm-greeter/kiran-cpanel-greeter/greeter-interface.h b/src/lightdm-greeter/kiran-cpanel-greeter/greeter-interface.h +new file mode 100644 +index 0000000..6cea16a +--- /dev/null ++++ b/src/lightdm-greeter/kiran-cpanel-greeter/greeter-interface.h +@@ -0,0 +1,46 @@ ++/** ++ * Copyright (c) 2020 ~ 2024 KylinSec Co., Ltd. ++ * kiran-session-guard is licensed under Mulan PSL v2. ++ * You can use this software according to the terms and conditions of the Mulan PSL v2. ++ * You may obtain a copy of Mulan PSL v2 at: ++ * http://license.coscl.org.cn/MulanPSL2 ++ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, ++ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, ++ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. ++ * See the Mulan PSL v2 for more details. ++ * ++ * Author: liuxinhao ++ */ ++#pragma once ++#include ++#include ++#include ++ ++class QTranslator; ++namespace Kiran ++{ ++namespace SessionGuard ++{ ++class GreeterInterface: public QObject,public KiranControlPanel::PluginInterfaceV2 ++{ ++ Q_OBJECT ++ Q_PLUGIN_METADATA(IID KiranControlPanel_PluginInterfaceV2_iid) ++ Q_INTERFACES(KiranControlPanel::PluginInterfaceV2) ++public: ++ GreeterInterface(QObject* parent = nullptr); ++ ~GreeterInterface(); ++ ++ virtual int init(KiranControlPanel::PanelInterface* interface) override; ++ virtual void uninit() override; ++ ++ // 功能项数组,生存周期由插件维护 ++ // 功能项发生变更时,应调用init时传入KcpInterface接口,通知主面板相关信息变更,及时加载新的功能项信息 ++ virtual QVector getSubItems() override; ++ ++private: ++ KiranControlPanel::PanelInterface* m_panelInterface = nullptr; ++ QTranslator* m_translator = nullptr; ++ KiranControlPanel::SubItemPtr m_subitem; ++}; ++} ++} +\ No newline at end of file +diff --git a/src/lightdm-greeter/kiran-cpanel-greeter/greeter-subitem.cpp b/src/lightdm-greeter/kiran-cpanel-greeter/greeter-subitem.cpp +new file mode 100644 +index 0000000..8b323e2 +--- /dev/null ++++ b/src/lightdm-greeter/kiran-cpanel-greeter/greeter-subitem.cpp +@@ -0,0 +1,84 @@ ++/** ++ * Copyright (c) 2020 ~ 2024 KylinSec Co., Ltd. ++ * kiran-session-guard is licensed under Mulan PSL v2. ++ * You can use this software according to the terms and conditions of the Mulan PSL v2. ++ * You may obtain a copy of Mulan PSL v2 at: ++ * http://license.coscl.org.cn/MulanPSL2 ++ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, ++ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, ++ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. ++ * See the Mulan PSL v2 for more details. ++ * ++ * Author: liuxinhao ++ */ ++#include "greeter-subitem.h" ++#include "setting-window.h" ++ ++using namespace Kiran::SessionGuard::Greeter; ++ ++GreeterSubItem::GreeterSubItem(KiranControlPanel::PanelInterface* interface, QObject* parent) ++ : QObject(parent), ++ m_interface(interface) ++{ ++} ++ ++GreeterSubItem ::~GreeterSubItem() ++{ ++} ++ ++QString GreeterSubItem::getID() ++{ ++ return "Greeter"; ++} ++ ++QString GreeterSubItem::getName() ++{ ++ return tr("Greeter Settings"); ++} ++ ++QString GreeterSubItem::getCategory() ++{ ++ return "login-settings"; ++} ++ ++QString GreeterSubItem::getDesc() ++{ ++ return ""; ++} ++ ++QString GreeterSubItem::getIcon() ++{ ++ return "kcp-greeter"; ++} ++ ++int GreeterSubItem::getWeight() ++{ ++ return 999; ++} ++ ++QVector> GreeterSubItem::getSearchKeys() ++{ ++ auto res = SettingWindow::getSearchKeys(); ++ return res; ++} ++ ++QWidget* GreeterSubItem::createWidget() ++{ ++ m_subitemWidget = new SettingWindow(); ++ m_subitemWidget->installEventFilter(this); ++ return m_subitemWidget; ++} ++ ++bool GreeterSubItem::jumpToSearchEntry(const QString& key) ++{ ++ if (!m_subitemWidget) ++ return false; ++ ++ m_subitemWidget->jumpToSearchKey(key); ++ return true; ++} ++ ++bool GreeterSubItem::haveUnSavedOptions() ++{ ++ return false; ++} +\ No newline at end of file +diff --git a/src/lightdm-greeter/kiran-cpanel-greeter/greeter-subitem.h b/src/lightdm-greeter/kiran-cpanel-greeter/greeter-subitem.h +new file mode 100644 +index 0000000..474392c +--- /dev/null ++++ b/src/lightdm-greeter/kiran-cpanel-greeter/greeter-subitem.h +@@ -0,0 +1,57 @@ ++/** ++ * Copyright (c) 2020 ~ 2024 KylinSec Co., Ltd. ++ * kiran-session-guard is licensed under Mulan PSL v2. ++ * You can use this software according to the terms and conditions of the Mulan PSL v2. ++ * You may obtain a copy of Mulan PSL v2 at: ++ * http://license.coscl.org.cn/MulanPSL2 ++ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, ++ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, ++ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. ++ * See the Mulan PSL v2 for more details. ++ * ++ * Author: liuxinhao ++ */ ++#pragma once ++#include ++#include ++#include ++#include ++ ++namespace Kiran ++{ ++namespace SessionGuard ++{ ++namespace Greeter ++{ ++class SettingWindow; ++} ++} // namespace SessionGuard ++} // namespace Kiran ++ ++class GreeterSubItem : public QObject, ++ public KiranControlPanel::PluginSubitemInterface ++{ ++ Q_OBJECT ++public: ++ GreeterSubItem(KiranControlPanel::PanelInterface* interface, QObject* parent = nullptr); ++ ~GreeterSubItem(); ++ ++ QString getID() override; ++ QString getName() override; ++ QString getCategory() override; ++ QString getDesc() override; ++ QString getIcon() override; ++ int getWeight() override; ++ ++ // 获取自定义搜索关键词 ++ // QVector< 显示文本(已翻译),搜索跳转标识ID > ++ QVector> getSearchKeys() override; ++ ++ QWidget* createWidget() override; ++ bool jumpToSearchEntry(const QString& key) override; ++ bool haveUnSavedOptions() override; ++ ++private: ++ KiranControlPanel::PanelInterface* m_interface = nullptr; ++ Kiran::SessionGuard::Greeter::SettingWindow* m_subitemWidget = nullptr; ++}; +diff --git a/src/lightdm-greeter/kiran-cpanel-greeter/kcp-interface.h b/src/lightdm-greeter/kiran-cpanel-greeter/kcp-interface.h +deleted file mode 100644 +index 4759f99..0000000 +--- a/src/lightdm-greeter/kiran-cpanel-greeter/kcp-interface.h ++++ /dev/null +@@ -1,50 +0,0 @@ +-/** +- * Copyright (c) 2020 ~ 2021 KylinSec Co., Ltd. +- * kiran-session-guard is licensed under Mulan PSL v2. +- * You can use this software according to the terms and conditions of the Mulan PSL v2. +- * You may obtain a copy of Mulan PSL v2 at: +- * http://license.coscl.org.cn/MulanPSL2 +- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +- * See the Mulan PSL v2 for more details. +- * +- * Author: liuxinhao +- */ +-#pragma once +-#include +- +- +-QT_BEGIN_NAMESPACE +-class QTranslator; +-QT_END_NAMESPACE +- +-namespace Kiran +-{ +-namespace SessionGuard +-{ +-namespace Greeter +-{ +-class KcpInterface : public QObject, public KcpPluginInterface +-{ +- Q_OBJECT +- Q_PLUGIN_METADATA(IID KcpPluginInterface_iid) +- Q_INTERFACES(KcpPluginInterface) +-public: +- KcpInterface(); +- ~KcpInterface() override; +- +- int init() override; +- void uninit() override; +- +- QWidget* getSubItemWidget(QString subItemName) override; +- bool haveUnsavedOptions() override; +- QStringList visibleSubItems() override; +- +-private: +- QWidget* m_currentWidget = nullptr; +- QTranslator* m_translator = nullptr; +-}; +-} // namespace Greeter +-} // namespace SessionGuard +-} // namespace Kiran +\ No newline at end of file +diff --git a/src/lightdm-greeter/kiran-cpanel-greeter/setting-window.cpp b/src/lightdm-greeter/kiran-cpanel-greeter/setting-window.cpp +index 45c9fb9..3712051 100644 +--- a/src/lightdm-greeter/kiran-cpanel-greeter/setting-window.cpp ++++ b/src/lightdm-greeter/kiran-cpanel-greeter/setting-window.cpp +@@ -39,6 +39,9 @@ + + #define BACKGROUND_SAVE_LOCATION "/usr/share/lightdm-kiran-greeter/background" + ++#define ITEM_GENERAL_SETTINGS QT_TRANSLATE_NOOP("Kiran::SessionGuard::Greeter::SettingWindow","general settings") ++#define ITEM_AUTO_LOGIN_SETTINGS QT_TRANSLATE_NOOP("Kiran::SessionGuard::Greeter::SettingWindow","autologin") ++ + enum GreeterSettingsPageEnum + { + GreeterSettings_Appearance, +@@ -91,11 +94,11 @@ void SettingWindow::initUI() + layoutSideWidget->addWidget(m_sidebarWidget); + + QListWidgetItem *item; +- item = new QListWidgetItem(tr("general settings"), m_sidebarWidget); ++ item = new QListWidgetItem(tr(ITEM_GENERAL_SETTINGS), m_sidebarWidget); + item->setIcon(QIcon(":/kcp-greeter/images/appearance_setting.png")); + m_sidebarWidget->addItem(item); + +- item = new QListWidgetItem(tr("autologin"), m_sidebarWidget); ++ item = new QListWidgetItem(tr(ITEM_AUTO_LOGIN_SETTINGS), m_sidebarWidget); + item->setIcon(QIcon(":/kcp-greeter/images/user_login_setting.png")); + m_sidebarWidget->addItem(item); + +@@ -703,6 +706,27 @@ QSize SettingWindow::sizeHint() const + return {940, 653}; + } + ++QVector> SettingWindow::getSearchKeys() ++{ ++ QVector> searchEntries = { ++ {tr(ITEM_GENERAL_SETTINGS),tr(ITEM_GENERAL_SETTINGS)}, ++ {tr(ITEM_AUTO_LOGIN_SETTINGS),tr(ITEM_AUTO_LOGIN_SETTINGS)} ++ }; ++ ++ return searchEntries; ++} ++ ++void SettingWindow::jumpToSearchKey(const QString& subItem) ++{ ++ auto resList = m_sidebarWidget->findItems(subItem,Qt::MatchFixedString); ++ if( resList.isEmpty() ) ++ { ++ KLOG_ERROR() << "greeter plugin can't find SubItem:" << subItem; ++ return; ++ } ++ m_sidebarWidget->setCurrentItem(resList.at(0)); ++} ++ + void SettingWindow::onLoginOptionsChanged() + { + auto changedSwitch = qobject_cast(sender()); +diff --git a/src/lightdm-greeter/kiran-cpanel-greeter/setting-window.h b/src/lightdm-greeter/kiran-cpanel-greeter/setting-window.h +index 1c95a1c..4975275 100644 +--- a/src/lightdm-greeter/kiran-cpanel-greeter/setting-window.h ++++ b/src/lightdm-greeter/kiran-cpanel-greeter/setting-window.h +@@ -99,6 +99,9 @@ public: + + QSize sizeHint() const override; + ++ static QVector> getSearchKeys(); ++ void jumpToSearchKey(const QString& subItem); ++ + private: + void initUI(); + +diff --git a/translations/kiran-cpanel-greeter.zh_CN.ts b/translations/kiran-cpanel-greeter.zh_CN.ts +index 5468e6f..d76b4b5 100644 +--- a/translations/kiran-cpanel-greeter.zh_CN.ts ++++ b/translations/kiran-cpanel-greeter.zh_CN.ts +@@ -3,14 +3,6 @@ + + + GreeterSettingWindow +- +- autologin +- 自动登录 +- +- +- general settings +- 登录选项 +- + + auto login user(take effect after restart) + 自动登录用户(重启后生效) +@@ -86,113 +78,121 @@ Select discard to discard the modification and reload the new configuration保存成功 + + ++ ++ GreeterSubItem ++ ++ ++ Greeter Settings ++ 登录选项 ++ ++ + + Kiran::SessionGuard::Greeter::SettingWindow + +- ++ + general settings + 登录选项 + + +- ++ + autologin + 自动登录 + + +- ++ + auto login user(take effect after restart) + 自动登录用户(重启后生效) + + +- ++ + auto login delay(seconds)(take effect after restart) + 自动登录延时(秒)(重启后生效) + + +- +- ++ ++ + Save + 保存 + + +- +- ++ ++ + Reset + 重置 + + +- ++ + login background setting + 登录背景设置 + + +- ++ + Scale Mode + 缩放模式 + + +- ++ + auto + 自动 + + +- ++ + manual + 手动 + + +- ++ + disable + 禁用 + + +- ++ + Scale Factor + 缩放比例 + + +- ++ + Enable manual input user login + 允许手动输入用户名登录 + + +- ++ + Show User List + 显示用户列表 + + +- +- ++ ++ + Configuration changed + 配置已改变 + + +- +- ++ ++ + The external configuration file has changed + If you choose to save, all external changes will be overwritten + Select discard to discard the modification and reload the new configuration + 配置文件已被修改,如果继续保存所有额外的修改将会被覆盖,选择丢弃将丢弃所有的修改并重新加载新的配置文件 + + +- +- ++ ++ + Save failed, reload + 保存失败,已重新加载 + + +- +- ++ ++ + Saved successfully + 保存成功 + + +- ++ + Save failed: %1 + 保存失败: %1 + + +- ++ + Please ensure that one of the two options is turned on! + 请确保两个选项之一被打开! + +-- +2.33.0 + diff --git a/kiran-session-guard.spec b/kiran-session-guard.spec index 47b2a42..4d72986 100644 --- a/kiran-session-guard.spec +++ b/kiran-session-guard.spec @@ -7,7 +7,7 @@ Name: kiran-session-guard Version: 2.5.1 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Kiran desktop environment login and lock screen dialog Summary(zh_CN): Kiran桌面环境登录和解锁框 @@ -31,6 +31,7 @@ Patch0014: 0014-fix-virutalkeyboard-Add-detection-for-whether-to-ins.patch Patch0015: 0015-fix-cursor-incorrect-scaling-cursor-size.patch Patch0016: 0016-fix-polkit-ts-fix-untranslated-text-from-polkit-agen.patch Patch0017: 0017-fix-polkit-agent-Fix-the-issue-of-authentication-fai.patch +Patch0018: 0018-feat-greeter-plugin-Adjusting-the-Greeter-Control-Ce.patch BuildRequires: cmake BuildRequires: gcc-c++ @@ -151,7 +152,6 @@ gtk-update-icon-cache -f /usr/share/icons/hicolor/ %files -n lightdm-kiran-greeter %doc %{_datadir}/kiran-control-panel/plugins/libs/libkiran-cpanel-greeter.so* -%{_datadir}/kiran-control-panel/plugins/desktop/* %{_sbindir}/lightdm-kiran-greeter %{_datadir}/lightdm-kiran-greeter/translations/* @@ -175,6 +175,9 @@ gtk-update-icon-cache -f /usr/share/icons/hicolor/ rm -rf %{buildroot} %changelog +* Mon Apr 22 2024 liuxinhao - 2.5.1-13 +- KYOS-B: Adjusting the Greeter Control Center plugin to use a new version of the interface for keyword search(#35280) + * Wed Apr 10 2024 liuxinhao - 2.5.1-12 - KYOS-B: Fix the issue of authentication failure after re authentication(#32411)