!71 feature(menu): Hide UI after click on the power option

From: @kylin-huangjiawen 
Reviewed-by: @tangjie02 
Signed-off-by: @tangjie02
This commit is contained in:
openeuler-ci-bot 2023-04-21 01:01:50 +00:00 committed by Gitee
commit 964a1f71c4
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 130 additions and 1 deletions

View File

@ -0,0 +1,125 @@
From 6b28669741d926375bf9b9b129416182b088042d Mon Sep 17 00:00:00 2001
From: huangjiawen <huangjiawen@kylinsec.com.cn>
Date: Thu, 20 Apr 2023 18:02:00 +0800
Subject: [PATCH] feature(menu): Hide UI after click on the power option
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 在点击电源选项按钮后,隐藏电源选项模态窗口
Signed-off-by: huangjiawen <huangjiawen@kylinsec.com.cn>
---
src/menu/menu-power-dialog.cpp | 21 +++++++++++++++++++++
src/menu/menu-power-dialog.h | 4 ++++
2 files changed, 25 insertions(+)
diff --git a/src/menu/menu-power-dialog.cpp b/src/menu/menu-power-dialog.cpp
index 1d75cf1..f13594d 100644
--- a/src/menu/menu-power-dialog.cpp
+++ b/src/menu/menu-power-dialog.cpp
@@ -64,6 +64,8 @@ MenuPowerDialog::MenuPowerDialog()
add_power_button(dialog_grid);
+ this->signal_dialog_hide().connect(sigc::mem_fun(*this, &Gtk::Widget::hide));
+
get_style_context()->add_class("power-menu-dialog");
}
@@ -140,10 +142,17 @@ void MenuPowerDialog::add_button(const char *button_icon_name,
dialog_grid->attach(*power_label, space, 1, 1, 1);
}
+sigc::signal<void> MenuPowerDialog::signal_dialog_hide()
+{
+ return signal_dialog_hide_;
+}
+
void MenuPowerDialog::do_reboot()
{
auto power = KiranPower::get_default();
+ signal_dialog_hide().emit();
+
power->reboot();
return;
@@ -153,6 +162,8 @@ void MenuPowerDialog::do_logout()
{
auto power = KiranPower::get_default();
+ signal_dialog_hide().emit();
+
power->logout(LOGOUT_MODE_NOW);
return;
@@ -162,6 +173,8 @@ void MenuPowerDialog::do_shutdown()
{
auto power = KiranPower::get_default();
+ signal_dialog_hide().emit();
+
power->shutdown();
return;
@@ -171,6 +184,8 @@ void MenuPowerDialog::do_hibernate()
{
auto power = KiranPower::get_default();
+ signal_dialog_hide().emit();
+
power->hibernate();
return;
@@ -179,6 +194,8 @@ void MenuPowerDialog::do_suspend()
{
auto power = KiranPower::get_default();
+ signal_dialog_hide().emit();
+
power->suspend();
return;
@@ -188,6 +205,8 @@ void MenuPowerDialog::do_switch_user()
{
auto power = KiranPower::get_default();
+ signal_dialog_hide().emit();
+
if (power->get_graphical_ntvs() >= power->get_ntvs_total())
{
KLOG_DEBUG("Total ntvs: %d, graphical ntvs: %d.", power->get_ntvs_total(), power->get_graphical_ntvs());
@@ -210,6 +229,8 @@ void MenuPowerDialog::do_lock_screen()
{
auto power = KiranPower::get_default();
+ signal_dialog_hide().emit();
+
power->lock_screen();
return;
diff --git a/src/menu/menu-power-dialog.h b/src/menu/menu-power-dialog.h
index 471ab42..724bbf3 100644
--- a/src/menu/menu-power-dialog.h
+++ b/src/menu/menu-power-dialog.h
@@ -32,12 +32,16 @@ public:
void do_switch_user();
void do_lock_screen();
+ sigc::signal<void> signal_dialog_hide();
+
void add_power_button(Gtk::Grid *dialog_grid);
void add_button(const char *button_icon_name,
const char *button_name,
Gtk::Grid *dialog_grid,
int space,
void (MenuPowerDialog::*power_func)());
+protected:
+ sigc::signal<void> signal_dialog_hide_;
};
#endif // MENU_POWER_DIALOG_H
--
2.33.0

View File

@ -1,6 +1,6 @@
Name: kiran-menu
Version: 2.3.0
Release: 16
Release: 17
Summary: Applets for mate panel from Kiran Desktop
License: MulanPSL-2.0
@ -22,6 +22,7 @@ Patch1012: 0001-fix-tray-Fix-memory-leak-due-to-notification-area.patch
Patch1013: 0001-feature-menu-Add-pinyin-search-method-for-applicatio.patch
Patch1014: 0002-feature-menu-Add-UI-for-modal-power-options.patch
Patch1015: 0003-fix-translate-add-some-translation.patch
Patch1016: 0001-feature-menu-Hide-UI-after-click-on-the-power-option.patch
BuildRequires: cmake > 3.0
@ -109,6 +110,9 @@ gtk-update-icon-cache -f /usr/share/icons/hicolor/
%changelog
* Mon Apr 10 2023 huangjiawen <huangjiawen@kylinsec.om.cn> - 2.3.0-17
- KYOS-B:Hide UI after click on the power option
* Mon Apr 10 2023 wangyucheng <wangyucheng@kylinsec.om.cn> - 2.3.0-16
- KYOS-T: add some translation