From dacd31dd59799269e06334ee1e238c8c0d4d2b47 Mon Sep 17 00:00:00 2001 From: yangfeng Date: Wed, 6 Mar 2024 11:58:27 +0800 Subject: [PATCH 1009/1014] fix(tasklist-app-widget):Fixed an issue where taskbar page-turning ICONS cover each other MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复任务栏翻页图标互相遮盖问题 Related #19588 --- icons/kiran-tasklist-next-symbolic.svg | 2 +- icons/kiran-tasklist-previous-symbolic.svg | 47 +++++----------------- src/tasklist/tasklist-applet-widget.cpp | 13 ++++-- 3 files changed, 20 insertions(+), 42 deletions(-) diff --git a/icons/kiran-tasklist-next-symbolic.svg b/icons/kiran-tasklist-next-symbolic.svg index 78c1827..97ecca5 100644 --- a/icons/kiran-tasklist-next-symbolic.svg +++ b/icons/kiran-tasklist-next-symbolic.svg @@ -35,5 +35,5 @@ } - + diff --git a/icons/kiran-tasklist-previous-symbolic.svg b/icons/kiran-tasklist-previous-symbolic.svg index c8cc991..cd4501f 100644 --- a/icons/kiran-tasklist-previous-symbolic.svg +++ b/icons/kiran-tasklist-previous-symbolic.svg @@ -1,39 +1,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + diff --git a/src/tasklist/tasklist-applet-widget.cpp b/src/tasklist/tasklist-applet-widget.cpp index dc20b69..1601920 100644 --- a/src/tasklist/tasklist-applet-widget.cpp +++ b/src/tasklist/tasklist-applet-widget.cpp @@ -150,9 +150,16 @@ Gtk::Button *TasklistAppletWidget::create_paging_button(const std::string &icon_ { auto button = Gtk::make_managed(applet); - button->set_size_request(16, 16); - // button->set_icon_image(icon_resource, 16); - button->set_image_from_icon_name(icon_name, Gtk::ICON_SIZE_BUTTON); + auto scale = Gdk::Window::get_default_root_window()->get_scale_factor(); + auto icon_info = Gtk::IconTheme::get_default()->lookup_icon(icon_name, 6, scale); + auto style_context = Gtk::StyleContext::create(); + bool was_symbolic = true; + auto pixbuf = icon_info.load_symbolic(style_context, was_symbolic); + + auto image = Gtk::make_managed(); + image->set(pixbuf); + button->set_image(*image); + button->set_size_request(30, -1); button->set_tooltip_text(tooltip_text); return button; -- 2.27.0