From 38993435557778f3fd2d60c0046119b7b84f3978 Mon Sep 17 00:00:00 2001 From: tangjie02 Date: Thu, 13 Oct 2022 20:59:15 +0800 Subject: [PATCH] feature(menu): Add flat class for button to keep consistent with the color of color block. Signed-off-by: tangjie02 --- ...-flat-class-for-button-to-keep-consi.patch | 170 ++++++++++++++++++ kiran-menu.spec | 6 +- 2 files changed, 175 insertions(+), 1 deletion(-) create mode 100644 0001-feature-menu-Add-flat-class-for-button-to-keep-consi.patch diff --git a/0001-feature-menu-Add-flat-class-for-button-to-keep-consi.patch b/0001-feature-menu-Add-flat-class-for-button-to-keep-consi.patch new file mode 100644 index 0000000..e631a8b --- /dev/null +++ b/0001-feature-menu-Add-flat-class-for-button-to-keep-consi.patch @@ -0,0 +1,170 @@ +From d6faccac23ee5dd61fafded0269d8a12752be0e3 Mon Sep 17 00:00:00 2001 +From: tangjie02 +Date: Thu, 13 Oct 2022 20:30:02 +0800 +Subject: [PATCH] feature(menu): Add flat class for button to keep consistent + with the color of color block. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 给按钮添加flat样式,这样在普通状态下背景是透明的,可以跟色块颜色保持一致。 + +Signed-off-by: tangjie02 +--- + data/menu.ui.xml | 10 +++++----- + src/menu/menu-app-item.cpp | 2 ++ + src/menu/menu-app-launcher-button.cpp | 1 + + src/menu/menu-applet-window.cpp | 6 ++++++ + src/menu/menu-applet-window.h | 4 +++- + src/menu/menu-category-item.cpp | 1 + + src/menu/menu-new-apps-container.cpp | 4 +++- + src/menu/menu-power-button.cpp | 1 + + 8 files changed, 22 insertions(+), 7 deletions(-) + +diff --git a/data/menu.ui.xml b/data/menu.ui.xml +index 90193b3..ae8fb50 100644 +--- a/data/menu.ui.xml ++++ b/data/menu.ui.xml +@@ -1,5 +1,5 @@ + +- ++ + + + +@@ -10,9 +10,6 @@ + 682 + True + True +- +- +- + + + True +@@ -56,7 +53,7 @@ + True + vertical + +- ++ + True + False + True +@@ -358,5 +355,8 @@ + + + ++ ++ ++ + + +diff --git a/src/menu/menu-app-item.cpp b/src/menu/menu-app-item.cpp +index fa672c2..e0959a5 100644 +--- a/src/menu/menu-app-item.cpp ++++ b/src/menu/menu-app-item.cpp +@@ -30,6 +30,8 @@ MenuAppItem::MenuAppItem(const std::shared_ptr &app_, int _icon_size + auto context = get_style_context(); + + context->add_class("menu-app-item"); ++ // 添加flat样式,保证在普通状态下按钮时透明背景 ++ context->add_class("flat"); + + set_text(app_->get_locale_name()); + +diff --git a/src/menu/menu-app-launcher-button.cpp b/src/menu/menu-app-launcher-button.cpp +index 2bb1419..8453484 100644 +--- a/src/menu/menu-app-launcher-button.cpp ++++ b/src/menu/menu-app-launcher-button.cpp +@@ -28,6 +28,7 @@ MenuAppLauncherButton::MenuAppLauncherButton(const std::string &icon_name, const + Gio::APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION); + + context->add_class("menu-app-launcher"); ++ context->add_class("flat"); + } + + void MenuAppLauncherButton::on_clicked() +diff --git a/src/menu/menu-applet-window.cpp b/src/menu/menu-applet-window.cpp +index eea61c9..7cc9750 100644 +--- a/src/menu/menu-applet-window.cpp ++++ b/src/menu/menu-applet-window.cpp +@@ -214,6 +214,7 @@ void MenuAppletWindow::init_ui() + builder = Gtk::Builder::create_from_resource("/kiran-menu/ui/menu"); + builder->get_widget("menu-container", main_box); + builder->get_widget("menu-sider-container", sider_box); ++ builder->get_widget("menu-view-stack-switcher", menu_view_stack_switcher); + builder->get_widget("menu-view-stack", menu_view_stack); + builder->get_widget("apps-list-stack", apps_list_stack); + +@@ -234,6 +235,11 @@ void MenuAppletWindow::init_ui() + sider_box->set_name("menu-left-container"); + menu_view_stack->set_name("menu-mid-container"); + ++ for (const auto &child : menu_view_stack_switcher->get_children()) ++ { ++ child->get_style_context()->add_class("flat"); ++ } ++ + /* 最近访问文档列表 */ + auto widget = Gtk::make_managed(); + recent_files_view->add(*widget); +diff --git a/src/menu/menu-applet-window.h b/src/menu/menu-applet-window.h +index 0eae7d7..c9e9ad6 100644 +--- a/src/menu/menu-applet-window.h ++++ b/src/menu/menu-applet-window.h +@@ -176,7 +176,9 @@ private: + Glib::RefPtr builder; + + Gtk::SearchEntry *search_entry; +- Gtk::Stack *menu_view_stack, *apps_list_stack; ++ Gtk::StackSwitcher *menu_view_stack_switcher; ++ Gtk::Stack *menu_view_stack; ++ Gtk::Stack *apps_list_stack; + Gtk::Box *all_apps_page; /* */ + Gtk::Box *compact_favorites_view; /* 紧凑模式下的收藏夹页面 */ + +diff --git a/src/menu/menu-category-item.cpp b/src/menu/menu-category-item.cpp +index 9c48b95..e062660 100644 +--- a/src/menu/menu-category-item.cpp ++++ b/src/menu/menu-category-item.cpp +@@ -33,6 +33,7 @@ MenuCategoryItem::MenuCategoryItem(const std::string &name, + auto context = get_style_context(); + + context->add_class("menu-category-item"); ++ context->add_class("flat"); + set_clickable(clickable); + category_name = name; + } +diff --git a/src/menu/menu-new-apps-container.cpp b/src/menu/menu-new-apps-container.cpp +index bd12eed..a58e32e 100644 +--- a/src/menu/menu-new-apps-container.cpp ++++ b/src/menu/menu-new-apps-container.cpp +@@ -90,9 +90,11 @@ Gtk::ToggleButton *MenuNewAppsContainer::create_expand_button() + button->set_image_position(Gtk::POS_RIGHT); + button->set_alignment(0.0, 0.5); + button->get_style_context()->add_class("menu-expand-button"); ++ button->get_style_context()->add_class("flat"); + + button->signal_toggled().connect( +- [this]() -> void { ++ [this]() -> void ++ { + auto image = dynamic_cast(expand_button->get_image()); + + if (expand_button->get_active()) +diff --git a/src/menu/menu-power-button.cpp b/src/menu/menu-power-button.cpp +index 1a5a224..0237153 100644 +--- a/src/menu/menu-power-button.cpp ++++ b/src/menu/menu-power-button.cpp +@@ -27,6 +27,7 @@ MenuPowerButton::MenuPowerButton() : menu(nullptr) + set_focus_on_click(false); + + context->add_class("menu-app-launcher"); ++ context->add_class("flat"); + } + + MenuPowerButton::~MenuPowerButton() +-- +2.33.0 + diff --git a/kiran-menu.spec b/kiran-menu.spec index aa6440c..9fd0520 100644 --- a/kiran-menu.spec +++ b/kiran-menu.spec @@ -1,6 +1,6 @@ Name: kiran-menu Version: 2.3.0 -Release: 8 +Release: 9 Summary: Applets for mate panel from Kiran Desktop License: MulanPSL-2.0 @@ -14,6 +14,7 @@ Patch1004: 0001-fix-connect-Fix-some-possible-crash-problems-caused-.patch Patch1005: 0002-fix-coredump-Fix-the-coredump-problem-caused-by-null.patch Patch1006: 0001-fix-coredump-Fix-the-coredump-problem-caused-by-Rece.patch Patch1007: 0002-feature-gitlab-Add-.gitlab-ci.yml.patch +Patch1008: 0001-feature-menu-Add-flat-class-for-button-to-keep-consi.patch BuildRequires: cmake > 3.0 @@ -94,6 +95,9 @@ gtk-update-icon-cache -f /usr/share/icons/hicolor/ %changelog +* Thu Oct 13 2022 tangjie02 - 2.3.0-9 +- KYOS-F: Add flat class for button to keep consistent with the color of color block. + * Thu Aug 25 2022 tangjie02 - 2.3.0-8 - KYOS-B: Fix the coredump problem caused by RecentFilesListBox::load