diff --git a/0001-feature-sonarqube-turn-off-sonarqube-check-to-get_er.patch b/0001-feature-sonarqube-turn-off-sonarqube-check-to-get_er.patch new file mode 100644 index 0000000000000000000000000000000000000000..7416bcfe679c617ed23b9c560680ecc04f1ca3b5 --- /dev/null +++ b/0001-feature-sonarqube-turn-off-sonarqube-check-to-get_er.patch @@ -0,0 +1,40 @@ +From d4f3b5a66d99f9ec4a9aba8af5e07b6d1eeb49e3 Mon Sep 17 00:00:00 2001 +From: tangjie02 +Date: Thu, 25 Aug 2022 19:19:24 +0800 +Subject: [PATCH 1/3] feature(sonarqube): turn off sonarqube check to + get_error_desc function. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 关闭sonarqube对get_error_desc函数检查 + +Signed-off-by: tangjie02 +--- + lib/base/error.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/lib/base/error.cpp b/lib/base/error.cpp +index 5a95605..0dcbcee 100644 +--- a/lib/base/error.cpp ++++ b/lib/base/error.cpp +@@ -23,6 +23,8 @@ CCError::CCError() + { + } + ++// sonarqube off ++ + std::string CCError::get_error_desc(CCErrorCode error_code, bool attach_error_code) + { + std::string error_desc; +@@ -427,4 +429,7 @@ std::string CCError::get_error_desc(CCErrorCode error_code, bool attach_error_co + } + return error_desc; + } ++ ++// sonarqube on ++ + } // namespace Kiran +-- +2.33.0 + diff --git a/0002-feature-error-Add-error-message-when-Failed-to-apply.patch b/0002-feature-error-Add-error-message-when-Failed-to-apply.patch new file mode 100644 index 0000000000000000000000000000000000000000..9076a8e74c81cece0788f5b08bd15f65710908a3 --- /dev/null +++ b/0002-feature-error-Add-error-message-when-Failed-to-apply.patch @@ -0,0 +1,629 @@ +From ff582cbf24c9727716ca9a1af6a9866a5e0840f6 Mon Sep 17 00:00:00 2001 +From: tangjie02 +Date: Thu, 1 Sep 2022 17:41:40 +0800 +Subject: [PATCH 2/3] feature(error): Add error message when Failed to apply + display setting. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 当应用显示设置失败时添加错误提示。 + +Signed-off-by: tangjie02 +--- + lib/base/error.cpp | 4 +- + plugins/display/display-manager.cpp | 14 +- + po/zh_CN.po | 217 ++++++++++++++-------------- + 3 files changed, 127 insertions(+), 108 deletions(-) + +diff --git a/lib/base/error.cpp b/lib/base/error.cpp +index 0dcbcee..656e732 100644 +--- a/lib/base/error.cpp ++++ b/lib/base/error.cpp +@@ -219,6 +219,9 @@ std::string CCError::get_error_desc(CCErrorCode error_code, bool attach_error_co + case CCErrorCode::ERROR_DISPLAY_UNKNOWN_REFLECT_TYPE: + error_desc = _("Unknown reflect type."); + break; ++ case CCErrorCode::ERROR_DISPLAY_EXEC_XRANDR_FAILED: ++ error_desc = _("The current settings cannot be applied."); ++ break; + case CCErrorCode::ERROR_APPEARANCE_THEME_NOT_EXIST: + error_desc = _("Theme not exist."); + break; +@@ -387,7 +390,6 @@ std::string CCError::get_error_desc(CCErrorCode error_code, bool attach_error_co + case CCErrorCode::ERROR_ACCOUNTS_USER_GROUP_NOT_FOUND: + case CCErrorCode::ERROR_ACCOUNTS_USER_AUTH_SAVE_DATA_FAILED: + case CCErrorCode::ERROR_ACCOUNTS_USER_AUTH_DEL_DATA_FAILED: +- case CCErrorCode::ERROR_DISPLAY_EXEC_XRANDR_FAILED: + case CCErrorCode::ERROR_DISPLAY_SAVE_CREATE_FILE_FAILED: + case CCErrorCode::ERROR_DISPLAY_WRITE_CONF_FILE_FAILED: + case CCErrorCode::ERROR_APPEARANCE_SET_BACKGROUND_FAILED: +diff --git a/plugins/display/display-manager.cpp b/plugins/display/display-manager.cpp +index bc18eb9..9b7190e 100644 +--- a/plugins/display/display-manager.cpp ++++ b/plugins/display/display-manager.cpp +@@ -580,13 +580,23 @@ bool DisplayManager::apply(CCErrorCode &error_code) + + try + { ++ std::string standard_error; ++ int32_t exit_status = 0; ++ + KLOG_DEBUG("cmdline: %s.", cmdline.c_str()); +- Glib::spawn_command_line_sync(cmdline); ++ Glib::spawn_command_line_sync(cmdline, nullptr, &standard_error, &exit_status); ++ ++ if (!standard_error.empty() || exit_status != 0) ++ { ++ error_code = CCErrorCode::ERROR_DISPLAY_EXEC_XRANDR_FAILED; ++ KLOG_WARNING("Failed to run xrandr: %s.", standard_error.c_str()); ++ return false; ++ } + } + catch (const Glib::Error &e) + { + error_code = CCErrorCode::ERROR_DISPLAY_EXEC_XRANDR_FAILED; +- KLOG_WARNING("%s.", e.what().c_str()); ++ KLOG_WARNING("Failed to run xrandr: %s.", e.what().c_str()); + return false; + } + return true; +diff --git a/po/zh_CN.po b/po/zh_CN.po +index 0f3f202..e1c431e 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: kiran-cc-daemon 2.0\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2022-08-16 17:47+0800\n" ++"POT-Creation-Date: 2022-09-01 17:39+0800\n" + "PO-Revision-Date: 2020-07-01 17:54+0800\n" + "Last-Translator: tangjie02 \n" + "Language-Team: Chinese (simplified)\n" +@@ -406,424 +406,428 @@ msgstr "输出版本信息并退出" + msgid "Control center" + msgstr "控制中心" + +-#: ../lib/base/error.cpp:32 ++#: ../lib/base/error.cpp:34 + msgid "The argument is invalid." + msgstr "参数不合法。" + +-#: ../lib/base/error.cpp:35 ++#: ../lib/base/error.cpp:37 + msgid "Operation failed." + msgstr "操作失败。" + +-#: ../lib/base/error.cpp:39 ++#: ../lib/base/error.cpp:41 + msgid "The plugin doesn't exist." + msgstr "插件不存在。" + +-#: ../lib/base/error.cpp:46 ++#: ../lib/base/error.cpp:48 + msgid "No user found." + msgstr "没有发现用户。" + +-#: ../lib/base/error.cpp:49 ++#: ../lib/base/error.cpp:51 + msgid "Multiple users have the same authentication data." + msgstr "多个用户存在相同的认证数据" + +-#: ../lib/base/error.cpp:52 ++#: ../lib/base/error.cpp:54 + msgid "" + "The user is already logined in, Please log off the user before deleting it." + msgstr "用户已经登录,请注销该用户后再删除" + +-#: ../lib/base/error.cpp:55 ++#: ../lib/base/error.cpp:57 + msgid "The user already exists." + msgstr "用户已存在。" + +-#: ../lib/base/error.cpp:58 ++#: ../lib/base/error.cpp:60 + msgid "Unknown account type." + msgstr "未知的用户类型。" + +-#: ../lib/base/error.cpp:61 ++#: ../lib/base/error.cpp:63 + msgid "Can't update password file." + msgstr "不能更新password文件。" + +-#: ../lib/base/error.cpp:64 ++#: ../lib/base/error.cpp:66 + msgid "Invalid command syntax." + msgstr "命令语法无效。" + +-#: ../lib/base/error.cpp:67 ++#: ../lib/base/error.cpp:69 + msgid "Invalid argument to option." + msgstr "命令参数无效。" + +-#: ../lib/base/error.cpp:70 ++#: ../lib/base/error.cpp:72 + msgid "UID already in use." + msgstr "UID已在使用中。" + +-#: ../lib/base/error.cpp:73 ++#: ../lib/base/error.cpp:75 + msgid "Passwd file contains errors." + msgstr "Passwd文件存在错误。" + +-#: ../lib/base/error.cpp:76 ++#: ../lib/base/error.cpp:78 + msgid "Specified user/group doesn't exist." + msgstr "指定的用户/组不存在。" + +-#: ../lib/base/error.cpp:79 ++#: ../lib/base/error.cpp:81 + msgid "User to modify is logged in." + msgstr "要修改的用户已登陆。" + +-#: ../lib/base/error.cpp:82 ++#: ../lib/base/error.cpp:84 + msgid "Username already in use." + msgstr "用户名已经在使用中。" + +-#: ../lib/base/error.cpp:85 ++#: ../lib/base/error.cpp:87 + msgid "Can't update group file." + msgstr "不能更新group文件。" + +-#: ../lib/base/error.cpp:88 ++#: ../lib/base/error.cpp:90 + msgid "Insufficient space to move home dir." + msgstr "空间不足,无法移动主目录。" + +-#: ../lib/base/error.cpp:91 ++#: ../lib/base/error.cpp:93 + msgid "Can't create/remove/move home directory." + msgstr "不能创建/删除/移动主目录。" + +-#: ../lib/base/error.cpp:95 ++#: ../lib/base/error.cpp:97 + msgid "Can't update SELinux user mapping." + msgstr "无法更新SELinux用户映射。" + +-#: ../lib/base/error.cpp:98 ++#: ../lib/base/error.cpp:100 + msgid "Can't update the subordinate uid file." + msgstr "无法更新下级uid文件。" + +-#: ../lib/base/error.cpp:101 ++#: ../lib/base/error.cpp:103 + msgid "Can't update the subordinate gid file." + msgstr "无法更新下级gid文件。" + +-#: ../lib/base/error.cpp:104 ++#: ../lib/base/error.cpp:106 + msgid "Refuse to delete root user." + msgstr "禁止删除root用户。" + +-#: ../lib/base/error.cpp:107 ++#: ../lib/base/error.cpp:109 + msgid "Refuse to delete three authority user." + msgstr "禁止删除三权用户。" + +-#: ../lib/base/error.cpp:113 ++#: ../lib/base/error.cpp:115 + msgid "The authentication mode isn't supported." + msgstr "认证模式不支持。" + +-#: ../lib/base/error.cpp:116 ++#: ../lib/base/error.cpp:118 + msgid "User is locked." + msgstr "用户被锁定。" + +-#: ../lib/base/error.cpp:119 ++#: ../lib/base/error.cpp:121 + msgid "The name already exists." + msgstr "名字已存在" + +-#: ../lib/base/error.cpp:123 ++#: ../lib/base/error.cpp:125 + msgid "The range of volume is between 0 and 1.0." + msgstr "音量范围必须在[0, 1.0]之间" + +-#: ../lib/base/error.cpp:127 ++#: ../lib/base/error.cpp:129 + msgid "The range of balance is between -1 and 1." + msgstr "平衡范围必须在[-1, 1]之间" + +-#: ../lib/base/error.cpp:131 ++#: ../lib/base/error.cpp:133 + msgid "The sink device isn't found." + msgstr "未找到输出设备。" + +-#: ../lib/base/error.cpp:135 ++#: ../lib/base/error.cpp:137 + msgid "The source device isn't found." + msgstr "未找到输入设备。" + +-#: ../lib/base/error.cpp:139 ++#: ../lib/base/error.cpp:141 + msgid "The sink stream isn't found." + msgstr "未找到输出流。" + +-#: ../lib/base/error.cpp:142 ++#: ../lib/base/error.cpp:144 + msgid "NTP unit is active." + msgstr "NTP服务已开启。" + +-#: ../lib/base/error.cpp:145 ++#: ../lib/base/error.cpp:147 + msgid "Invalid timezone." + msgstr "不合法的时区。" + +-#: ../lib/base/error.cpp:148 ++#: ../lib/base/error.cpp:150 + msgid "No NTP unit available." + msgstr "没有NTP服务可用。" + +-#: ../lib/base/error.cpp:152 ++#: ../lib/base/error.cpp:154 + msgid "Unknown date format type." + msgstr "未知的日期格式化类型。" + +-#: ../lib/base/error.cpp:155 ++#: ../lib/base/error.cpp:157 + msgid "Failed to set date format." + msgstr "设置日期显示格式失败。" + +-#: ../lib/base/error.cpp:158 ++#: ../lib/base/error.cpp:160 + msgid "Failed to set hour format." + msgstr "设置时间显示格式失败。" + +-#: ../lib/base/error.cpp:161 ++#: ../lib/base/error.cpp:163 + msgid "Failed to set seconds showing." + msgstr "设置秒数是否显示失败。" + +-#: ../lib/base/error.cpp:164 ++#: ../lib/base/error.cpp:166 + msgid "Failed to start NTP unit." + msgstr "开启NTP服务失败。" + +-#: ../lib/base/error.cpp:167 ++#: ../lib/base/error.cpp:169 + msgid "Failed to stop NTP unit." + msgstr "停止NTP服务失败。" + +-#: ../lib/base/error.cpp:171 ++#: ../lib/base/error.cpp:173 + msgid "Unknown display style." + msgstr "未知的显示类型。" + +-#: ../lib/base/error.cpp:174 ++#: ../lib/base/error.cpp:176 + msgid "" + "The mode of monitors which contain resolution and refresh rate is no " + "intersection." + msgstr "所有显示器没有相同的分辨率和刷新率。" + +-#: ../lib/base/error.cpp:177 ++#: ../lib/base/error.cpp:179 + msgid "Auto mode is set failed." + msgstr "自动模式设置失败。" + +-#: ../lib/base/error.cpp:181 ++#: ../lib/base/error.cpp:183 + msgid "Failed to set the window scaling factor." + msgstr "设置窗口缩放因子失败。" + +-#: ../lib/base/error.cpp:184 ++#: ../lib/base/error.cpp:186 + msgid "The custom configuration file isn't found." + msgstr "未找到自定义配置文件。" + +-#: ../lib/base/error.cpp:187 ++#: ../lib/base/error.cpp:189 + msgid "Not found matched item in custom configuration file." + msgstr "不能找到匹配的配置项。" + +-#: ../lib/base/error.cpp:190 ++#: ../lib/base/error.cpp:192 + msgid "The primary monitor must not be empty." + msgstr "主显示器不能为空。" + +-#: ../lib/base/error.cpp:193 ++#: ../lib/base/error.cpp:195 + msgid "Not found the primary monitor." + msgstr "未找到主显示器。" + +-#: ../lib/base/error.cpp:196 ++#: ../lib/base/error.cpp:198 + msgid "" + "Cannot disable the monitor, because the number of the enabled monitor is " + "less than 1." + msgstr "不能禁用显示器,因为启用的显示器数量已经少于2个。" + +-#: ../lib/base/error.cpp:199 ++#: ../lib/base/error.cpp:201 + msgid "Exist null mode in mode list." + msgstr "模式列表中存在空的模式。" + +-#: ../lib/base/error.cpp:202 ++#: ../lib/base/error.cpp:204 + msgid "Exist null mode in preferred mode list." + msgstr "在推荐模式中存在空的模式。" + +-#: ../lib/base/error.cpp:205 ++#: ../lib/base/error.cpp:207 + msgid "The current mode is not exist." + msgstr "当前模式不存在。" + +-#: ../lib/base/error.cpp:209 ++#: ../lib/base/error.cpp:211 + msgid "Not found match mode." + msgstr "未发现匹配的模式。" + +-#: ../lib/base/error.cpp:212 ++#: ../lib/base/error.cpp:214 + msgid "The mode is not exist." + msgstr "当前模式不存在。" + +-#: ../lib/base/error.cpp:215 ++#: ../lib/base/error.cpp:217 + msgid "Unknown rotation type." + msgstr "未知的旋转类型。" + +-#: ../lib/base/error.cpp:218 ++#: ../lib/base/error.cpp:220 + msgid "Unknown reflect type." + msgstr "未知的映射类型。" + +-#: ../lib/base/error.cpp:221 ++#: ../lib/base/error.cpp:223 ++msgid "The current settings cannot be applied." ++msgstr "无法应用当前设置。" ++ ++#: ../lib/base/error.cpp:226 + msgid "Theme not exist." + msgstr "主题不存在。" + +-#: ../lib/base/error.cpp:224 ++#: ../lib/base/error.cpp:229 + msgid "Unsupported theme type." + msgstr "主题类型不支持。" + +-#: ../lib/base/error.cpp:227 ++#: ../lib/base/error.cpp:232 + msgid "Invalid theme type." + msgstr "主题类型不合法。" + +-#: ../lib/base/error.cpp:231 ++#: ../lib/base/error.cpp:236 + msgid "Invalid font type." + msgstr "字体类型不合法。" + +-#: ../lib/base/error.cpp:234 ++#: ../lib/base/error.cpp:239 + msgid "Unsupported font type." + msgstr "字体类型不支持。" + +-#: ../lib/base/error.cpp:237 ++#: ../lib/base/error.cpp:242 + msgid "An incomplete request already exists." + msgstr "存在未完成的请求。" + +-#: ../lib/base/error.cpp:240 ++#: ../lib/base/error.cpp:245 + msgid "The request is canceled." + msgstr "请求被取消。" + +-#: ../lib/base/error.cpp:246 ++#: ../lib/base/error.cpp:251 + msgid "The request is rejected." + msgstr "请求被拒绝。" + +-#: ../lib/base/error.cpp:249 ++#: ../lib/base/error.cpp:254 + msgid "Not found adapter." + msgstr "未发现适配器。" + +-#: ../lib/base/error.cpp:257 ++#: ../lib/base/error.cpp:262 + msgid "Sync to file failed." + msgstr "同步到文件失败。" + +-#: ../lib/base/error.cpp:263 ++#: ../lib/base/error.cpp:268 + msgid "Invalid scale mode." + msgstr "缩放模式不合法。" + +-#: ../lib/base/error.cpp:266 ++#: ../lib/base/error.cpp:271 + msgid "The number of the layout can't exceeds {0}." + msgstr "布局数量不能超过{0}个。" + +-#: ../lib/base/error.cpp:269 ++#: ../lib/base/error.cpp:274 + msgid "The layout is invalid." + msgstr "该布局不合法。" + +-#: ../lib/base/error.cpp:272 ++#: ../lib/base/error.cpp:277 + msgid "The layout already exist." + msgstr "该布局已存在。" + +-#: ../lib/base/error.cpp:275 ++#: ../lib/base/error.cpp:280 + msgid "Failed to set the layout." + msgstr "设置布局失败。" + +-#: ../lib/base/error.cpp:278 ++#: ../lib/base/error.cpp:283 + msgid "The layout is no exist." + msgstr "该布局不存在。" + +-#: ../lib/base/error.cpp:281 ++#: ../lib/base/error.cpp:286 + msgid "Failed to update the layout." + msgstr "更新布局失败。" + +-#: ../lib/base/error.cpp:284 ++#: ../lib/base/error.cpp:289 + msgid "The layout option already exist." + msgstr "布局选项已存在。" + +-#: ../lib/base/error.cpp:287 ++#: ../lib/base/error.cpp:292 + msgid "Failed to set the layout option." + msgstr "设置布局选项失败。" + +-#: ../lib/base/error.cpp:290 ++#: ../lib/base/error.cpp:295 + msgid "The layout option is no exist." + msgstr "布局选项不存在。" + +-#: ../lib/base/error.cpp:293 ++#: ../lib/base/error.cpp:298 + msgid "Failed to update the layout option." + msgstr "更新布局选项失败。" + +-#: ../lib/base/error.cpp:296 ++#: ../lib/base/error.cpp:301 + msgid "Failed to clear the layout option." + msgstr "清理布局选项失败。" + +-#: ../lib/base/error.cpp:299 ++#: ../lib/base/error.cpp:304 + msgid "The custom shortcut isn't exist." + msgstr "自定义快捷键不存在。" + +-#: ../lib/base/error.cpp:303 ++#: ../lib/base/error.cpp:308 + msgid "The key combination already exist." + msgstr "按键组合已经存在。" + +-#: ../lib/base/error.cpp:307 ++#: ../lib/base/error.cpp:312 + msgid "The key combination is invalid." + msgstr "按键组合不合法。" + +-#: ../lib/base/error.cpp:310 ++#: ../lib/base/error.cpp:315 + msgid "The system shortcut isn't exist." + msgstr "该系统快捷键不存在。" + +-#: ../lib/base/error.cpp:316 ++#: ../lib/base/error.cpp:321 + msgid "Unsupported power supply mode." + msgstr "不支持该供电模式。" + +-#: ../lib/base/error.cpp:322 ++#: ../lib/base/error.cpp:327 + msgid "Unsupported power device." + msgstr "不支持该设备。" + +-#: ../lib/base/error.cpp:325 ++#: ../lib/base/error.cpp:330 + msgid "The value must be between 0 and 100." + msgstr "值必须在0到100之间" + +-#: ../lib/base/error.cpp:329 ++#: ../lib/base/error.cpp:334 + msgid "Unknown power action." + msgstr "未知电源动作。" + +-#: ../lib/base/error.cpp:333 ++#: ../lib/base/error.cpp:338 + msgid "Unsupported power event." + msgstr "事件不支持。" + +-#: ../lib/base/error.cpp:336 ++#: ../lib/base/error.cpp:341 + msgid "Failed to set the action." + msgstr "设置触发行为失败。" + +-#: ../lib/base/error.cpp:339 ++#: ../lib/base/error.cpp:344 + msgid "Failed to set brightness." + msgstr "设置亮度失败。" + +-#: ../lib/base/error.cpp:342 ++#: ../lib/base/error.cpp:347 + msgid "The systeminfo type is invalid." + msgstr "系统信息类型不合法。" + +-#: ../lib/base/error.cpp:345 ++#: ../lib/base/error.cpp:350 + msgid "Failed to set host name." + msgstr "设置主机名失败。" + +-#: ../lib/base/error.cpp:348 ++#: ../lib/base/error.cpp:353 + msgid "Not found the property." + msgstr "未找到该属性。" + +-#: ../lib/base/error.cpp:351 ++#: ../lib/base/error.cpp:356 + msgid "The type is mismatch." + msgstr "类型不匹配。" + +-#: ../lib/base/error.cpp:354 ++#: ../lib/base/error.cpp:359 + msgid "The property is invalid." + msgstr "属性不合法" + +-#: ../lib/base/error.cpp:357 ++#: ../lib/base/error.cpp:362 + msgid "The property must not be modified manually." + msgstr "属性不能手动修改。" + +-#: ../lib/base/error.cpp:360 ++#: ../lib/base/error.cpp:365 + msgid "The property is unsupported." + msgstr "属性不支持。" + +-#: ../lib/base/error.cpp:364 ++#: ../lib/base/error.cpp:369 + msgid "Arguments invalid." + msgstr "参数不合法" + +-#: ../lib/base/error.cpp:367 ++#: ../lib/base/error.cpp:372 + msgid "The network proxy mode is invalid." + msgstr "代理模式不合法" + +-#: ../lib/base/error.cpp:370 ++#: ../lib/base/error.cpp:375 + msgid "The current network proxy mode is not manual." + msgstr "当前代理模式不是手动模式。" + +-#: ../lib/base/error.cpp:373 ++#: ../lib/base/error.cpp:378 + msgid "The current network proxy mode is not auto." + msgstr "当前代理模式不是自动模式。" + +-#: ../lib/base/error.cpp:414 ++#: ../lib/base/error.cpp:418 + msgid "Internel error." + msgstr "内部错误。" + +-#: ../lib/base/error.cpp:417 ../lib/base/error.cpp:420 ++#: ../lib/base/error.cpp:421 ../lib/base/error.cpp:424 + msgid "Unknown error." + msgstr "未知错误。" + +-#: ../lib/base/error.cpp:426 ../plugins/accounts/accounts-util.cpp:209 ++#: ../lib/base/error.cpp:430 ../plugins/accounts/accounts-util.cpp:209 + msgid " (error code: 0x{:x})" + msgstr "(错误码:0x{:x})" + +@@ -1194,6 +1198,9 @@ msgstr "电源管理" + msgid "Power management daemon" + msgstr "电源管理后端" + ++#~ msgid "Display setting failed." ++#~ msgstr "显示设置失败。" ++ + #~ msgid "The custom shortcut is invalid." + #~ msgstr "自定义快捷键不合法。" + +-- +2.33.0 + diff --git a/0003-fix-display-Fixed-the-display-configuration-applicat.patch b/0003-fix-display-Fixed-the-display-configuration-applicat.patch new file mode 100644 index 0000000000000000000000000000000000000000..ebb5d9a3cb64533fee189640d440c45ada841629 --- /dev/null +++ b/0003-fix-display-Fixed-the-display-configuration-applicat.patch @@ -0,0 +1,83 @@ +From e4485a62f8f8f6bb0695d6a1510b05e774409144 Mon Sep 17 00:00:00 2001 +From: tangjie02 +Date: Mon, 5 Sep 2022 11:52:45 +0800 +Subject: [PATCH 3/3] fix(display): Fixed the display configuration + application failure caused by output name matching failure +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +修复由于output name匹配失败导致显示配置应用失败问题 + +Signed-off-by: tangjie02 +--- + include/error-i.h | 1 + + lib/base/error.cpp | 1 + + plugins/display/display-manager.cpp | 16 ++++++++++------ + 3 files changed, 12 insertions(+), 6 deletions(-) + +diff --git a/include/error-i.h b/include/error-i.h +index c67b604..61aebac 100644 +--- a/include/error-i.h ++++ b/include/error-i.h +@@ -159,6 +159,7 @@ extern "C" + ERROR_DISPLAY_NOTFOUND_MODE_BY_ID, + ERROR_DISPLAY_UNKNOWN_ROTATION_TYPE, + ERROR_DISPLAY_UNKNOWN_REFLECT_TYPE, ++ ERROR_DISPLAY_NO_ENABLED_MONITOR, + + // Greeter + ERROR_GREETER_SYNC_TO_FILE_FAILED_1 = 0x190000, +diff --git a/lib/base/error.cpp b/lib/base/error.cpp +index 656e732..874277c 100644 +--- a/lib/base/error.cpp ++++ b/lib/base/error.cpp +@@ -392,6 +392,7 @@ std::string CCError::get_error_desc(CCErrorCode error_code, bool attach_error_co + case CCErrorCode::ERROR_ACCOUNTS_USER_AUTH_DEL_DATA_FAILED: + case CCErrorCode::ERROR_DISPLAY_SAVE_CREATE_FILE_FAILED: + case CCErrorCode::ERROR_DISPLAY_WRITE_CONF_FILE_FAILED: ++ case CCErrorCode::ERROR_DISPLAY_NO_ENABLED_MONITOR: + case CCErrorCode::ERROR_APPEARANCE_SET_BACKGROUND_FAILED: + case CCErrorCode::ERROR_APPEARANCE_SET_LOCKSCREEN_BACKGROUND_FAILED: + case CCErrorCode::ERROR_SYSTEMINFO_JSON_ASSIGN_FAILED: +diff --git a/plugins/display/display-manager.cpp b/plugins/display/display-manager.cpp +index 9b7190e..778a81b 100644 +--- a/plugins/display/display-manager.cpp ++++ b/plugins/display/display-manager.cpp +@@ -415,15 +415,17 @@ bool DisplayManager::apply_screen_config(const ScreenConfigInfo &screen_config, + if (!monitor) + { + KLOG_WARNING("cannot find monitor for %s.", uid.c_str()); +- continue; ++ return false; + } + ++ /* 一般情况下uid相同时name也是相同的,但是有些特殊情况会出现不一样,这里uid主要是为了唯一标识一台显示器, ++ 而name是用来区分显示器接口的,比如有一台显示器最开始是接入在HDMI-1,后面改到HDMI-2了,那么在能获取到edid的 ++ 情况下uid是不变的,但是name会发生变化。如果出现name不一样的情况下这里仅仅记录日志,方便后续跟踪问题。*/ + if (c_monitor.name() != monitor->name_get()) + { +- KLOG_WARNING("the name is mismatch. config name: %s, monitor name: %s.", +- c_monitor.name().c_str(), +- monitor->name_get().c_str()); +- continue; ++ KLOG_DEBUG("The monitor name is dismatch. config name: %s, monitor name: %s.", ++ c_monitor.name().c_str(), ++ monitor->name_get().c_str()); + } + + auto mode = monitor->match_best_mode(c_monitor.width(), c_monitor.height(), c_monitor.refresh_rate()); +@@ -502,7 +504,9 @@ bool DisplayManager::save_config(CCErrorCode &error_code) + // 禁止保存没有开启任何显示器的配置,这可能会导致下次进入会话屏幕无法显示 + if (this->get_enabled_monitors().size() == 0) + { +- error_code = CCErrorCode::ERROR_DISPLAY_ONLY_ONE_ENABLED_MONITOR; ++ KLOG_WARNING("It is forbidden to save the configuration without any display turned on, " ++ "which may cause the next session screen not to be displayed."); ++ error_code = CCErrorCode::ERROR_DISPLAY_NO_ENABLED_MONITOR; + return false; + } + +-- +2.33.0 + diff --git a/kiran-cc-daemon.spec b/kiran-cc-daemon.spec index 14ef578260e542f95d20cb484e7f889df4562a61..5990889e90b29745d7336b9b6a6f6dce63a3cfa9 100644 --- a/kiran-cc-daemon.spec +++ b/kiran-cc-daemon.spec @@ -1,6 +1,6 @@ Name: kiran-cc-daemon Version: 2.3.1 -Release: 5 +Release: 6 Summary: DBus daemon for Kiran Desktop License: MulanPSL-2.0 @@ -9,7 +9,10 @@ Source0: %{name}-%{version}.tar.gz Patch0001: 0001-fix-coredump-Fix-coredump-problem-caused-by-nullpoin.patch Patch0002: 0001-fix-hidpi-Fixed-QT-font-DPI-to-avoid-double-scaling.patch Patch0003: 0001-feature-display-The-scaling-rate-can-only-take-effec.patch -patch0004: 0001-fix-display-Fix-the-problem-that-all-monitors-doesn-.patch +Patch0004: 0001-fix-display-Fix-the-problem-that-all-monitors-doesn-.patch +Patch0005: 0001-feature-sonarqube-turn-off-sonarqube-check-to-get_er.patch +Patch0006: 0002-feature-error-Add-error-message-when-Failed-to-apply.patch +Patch0007: 0003-fix-display-Fixed-the-display-configuration-applicat.patch BuildRequires: cmake >= 3.2 @@ -149,6 +152,10 @@ glib-compile-schemas /usr/share/glib-2.0/schemas &> /dev/nulls || : %{_libdir}/pkgconfig/kiran-cc-daemon.pc %changelog +* Tue Sep 06 2022 tangjie02 - 2.3.1-6 +- KYOS-B: Fixed the display configuration application failure caused by output name matching failure +- KYOS-F: Add error message when Failed to apply display setting. + * Wed Aug 17 2022 tangjie02 - 2.3.1-5 - KYOS-B: Fix the problem that all monitors doesn't display because the saved enable field of all monitors is set off.