From a9e52ff270fc33c1b71e2df936c8b09ec4ab2cd7 Mon Sep 17 00:00:00 2001 From: NamorNiradnug Date: Fri, 27 Oct 2023 21:05:46 +0300 Subject: [PATCH 1/4] don't show 'not found' icon for plugins without an icon --- src/wcm.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/wcm.cpp b/src/wcm.cpp index a0722ed..fb8cb51 100644 --- a/src/wcm.cpp +++ b/src/wcm.cpp @@ -1046,8 +1046,12 @@ void Plugin::init_widget() { label.set_text(disp_name); label.set_ellipsize(Pango::ELLIPSIZE_END); - icon.set(WCM::get_instance()->find_icon("plugin-" + name + ".svg")); - button_layout.pack_start(icon); + const auto icon_path = WCM::get_instance()->find_icon("plugin-" + name + ".svg"); + if (std::filesystem::exists(icon_path)) + { + icon.set(icon_path); + button_layout.pack_start(icon); + } button_layout.pack_start(label); button_layout.set_halign(Gtk::ALIGN_START); button.set_tooltip_markup(tooltip); From 6c8e15231b967d862c7202930c611ab317277fff Mon Sep 17 00:00:00 2001 From: NamorNiradnug Date: Thu, 20 Jun 2024 00:51:52 +0300 Subject: [PATCH 2/4] format --- src/wcm.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/wcm.cpp b/src/wcm.cpp index fb8cb51..fd025e8 100644 --- a/src/wcm.cpp +++ b/src/wcm.cpp @@ -1044,14 +1044,15 @@ MainPage::Category::Category(const Glib::ustring & name, void Plugin::init_widget() { - label.set_text(disp_name); - label.set_ellipsize(Pango::ELLIPSIZE_END); const auto icon_path = WCM::get_instance()->find_icon("plugin-" + name + ".svg"); if (std::filesystem::exists(icon_path)) { icon.set(icon_path); button_layout.pack_start(icon); } + + label.set_text(disp_name); + label.set_ellipsize(Pango::ELLIPSIZE_END); button_layout.pack_start(label); button_layout.set_halign(Gtk::ALIGN_START); button.set_tooltip_markup(tooltip); From 0536ed3d2c2bce397775e022098df97b6d74b997 Mon Sep 17 00:00:00 2001 From: NamorNiradnug Date: Thu, 20 Jun 2024 20:20:37 +0300 Subject: [PATCH 3/4] fallback plugin icon --- icons/fallback-plugin-icon.svg | 49 ++++++++++++++++++++++++++++++++++ icons/meson.build | 3 ++- src/wcm.cpp | 4 ++- 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 icons/fallback-plugin-icon.svg diff --git a/icons/fallback-plugin-icon.svg b/icons/fallback-plugin-icon.svg new file mode 100644 index 0000000..eee106e --- /dev/null +++ b/icons/fallback-plugin-icon.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + diff --git a/icons/meson.build b/icons/meson.build index 176a61e..8050d69 100644 --- a/icons/meson.build +++ b/icons/meson.build @@ -1,2 +1,3 @@ +install_data('fallback-plugin-icon.svg', install_dir: icon_dir) subdir('plugins') -subdir('desktop') \ No newline at end of file +subdir('desktop') diff --git a/src/wcm.cpp b/src/wcm.cpp index fd025e8..69d9cda 100644 --- a/src/wcm.cpp +++ b/src/wcm.cpp @@ -1048,9 +1048,11 @@ void Plugin::init_widget() if (std::filesystem::exists(icon_path)) { icon.set(icon_path); - button_layout.pack_start(icon); + } else { + icon.set(WCM::get_instance()->find_icon("fallback-plugin-icon.svg")); } + button_layout.pack_start(icon); label.set_text(disp_name); label.set_ellipsize(Pango::ELLIPSIZE_END); button_layout.pack_start(label); From da9f4782e6ab2afdc0c6e82e6e15b24a07ab2643 Mon Sep 17 00:00:00 2001 From: NamorNiradnug Date: Thu, 20 Jun 2024 20:22:47 +0300 Subject: [PATCH 4/4] format --- src/wcm.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/wcm.cpp b/src/wcm.cpp index 69d9cda..99977c4 100644 --- a/src/wcm.cpp +++ b/src/wcm.cpp @@ -1048,7 +1048,8 @@ void Plugin::init_widget() if (std::filesystem::exists(icon_path)) { icon.set(icon_path); - } else { + } else + { icon.set(WCM::get_instance()->find_icon("fallback-plugin-icon.svg")); }