[Xfce4-commits] [panel-plugins/xfce4-whiskermenu-plugin] 03/03: Add icons to context menu.

noreply at xfce.org noreply at xfce.org
Sun Jan 26 17:51:45 CET 2020


This is an automated email from the git hooks/post-receive script.

g   o   t   t   c   o   d   e       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository panel-plugins/xfce4-whiskermenu-plugin.

commit a2b99d82608305329a47c7740996ef629bbc54f1
Author: Graeme Gott <graeme at gottcode.org>
Date:   Sun Jan 26 08:41:27 2020 -0500

    Add icons to context menu.
---
 panel-plugin/CMakeLists.txt     |  1 +
 panel-plugin/command.cpp        |  7 ++-----
 panel-plugin/favorites-page.cpp | 11 +++--------
 panel-plugin/image-menu-item.h  | 43 +++++++++++++++++++++++++++++++++++++++++
 panel-plugin/page.cpp           | 25 ++++++++----------------
 panel-plugin/recent-page.cpp    |  9 +++------
 6 files changed, 60 insertions(+), 36 deletions(-)

diff --git a/panel-plugin/CMakeLists.txt b/panel-plugin/CMakeLists.txt
index 53b0d56..523e98d 100644
--- a/panel-plugin/CMakeLists.txt
+++ b/panel-plugin/CMakeLists.txt
@@ -78,6 +78,7 @@ add_library(whiskermenu MODULE
 	favorites-page.cpp
 	icon-renderer.cpp
 	icon-size.cpp
+	image-menu-item.h
 	launcher.cpp
 	launcher-icon-view.cpp
 	launcher-tree-view.cpp
diff --git a/panel-plugin/command.cpp b/panel-plugin/command.cpp
index 24cd206..65ecaf5 100644
--- a/panel-plugin/command.cpp
+++ b/panel-plugin/command.cpp
@@ -17,6 +17,7 @@
 
 #include "command.h"
 
+#include "image-menu-item.h"
 #include "settings.h"
 #include "slot.h"
 
@@ -121,12 +122,8 @@ GtkWidget* Command::get_menuitem()
 		return m_menuitem;
 	}
 
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-	m_menuitem = gtk_image_menu_item_new_with_mnemonic(m_mnemonic);
-	GtkWidget* image = gtk_image_new_from_icon_name(m_icon, GTK_ICON_SIZE_MENU);
-	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(m_menuitem), image);
+	m_menuitem = whiskermenu_image_menu_item_new_with_mnemonic(m_icon, m_mnemonic);
 	g_signal_connect_slot<GtkMenuItem*>(m_menuitem, "activate", &Command::activate, this);
-G_GNUC_END_IGNORE_DEPRECATIONS
 
 	gtk_widget_set_visible(m_menuitem, m_shown);
 	gtk_widget_set_sensitive(m_menuitem, m_status == WHISKERMENU_COMMAND_VALID);
diff --git a/panel-plugin/favorites-page.cpp b/panel-plugin/favorites-page.cpp
index 717cab1..d46bd88 100644
--- a/panel-plugin/favorites-page.cpp
+++ b/panel-plugin/favorites-page.cpp
@@ -18,6 +18,7 @@
 #include "favorites-page.h"
 
 #include "applications-page.h"
+#include "image-menu-item.h"
 #include "launcher.h"
 #include "launcher-view.h"
 #include "settings.h"
@@ -143,19 +144,13 @@ void FavoritesPage::extend_context_menu(GtkWidget* menu)
 	GtkWidget* menuitem = gtk_separator_menu_item_new();
 	gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-	menuitem = gtk_image_menu_item_new_with_label(_("Sort Alphabetically A-Z"));
-	GtkWidget* image = gtk_image_new_from_icon_name("view-sort-ascending", GTK_ICON_SIZE_MENU);
-	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
+	menuitem = whiskermenu_image_menu_item_new("view-sort-ascending", _("Sort Alphabetically A-Z"));
 	g_signal_connect_slot<GtkMenuItem*>(menuitem, "activate", &FavoritesPage::sort_ascending, this);
 	gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 
-	menuitem = gtk_image_menu_item_new_with_label(_("Sort Alphabetically Z-A"));
-	image = gtk_image_new_from_icon_name("view-sort-descending", GTK_ICON_SIZE_MENU);
-	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
+	menuitem = whiskermenu_image_menu_item_new("view-sort-descending", _("Sort Alphabetically Z-A"));
 	g_signal_connect_slot<GtkMenuItem*>(menuitem, "activate", &FavoritesPage::sort_descending, this);
 	gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
-G_GNUC_END_IGNORE_DEPRECATIONS
 }
 
 //-----------------------------------------------------------------------------
diff --git a/panel-plugin/image-menu-item.h b/panel-plugin/image-menu-item.h
new file mode 100644
index 0000000..8634e34
--- /dev/null
+++ b/panel-plugin/image-menu-item.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2020 Graeme Gott <graeme at gottcode.org>
+ *
+ * This library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef WHISKERMENU_IMAGE_MENU_ITEM_H
+#define WHISKERMENU_IMAGE_MENU_ITEM_H
+
+#include <gtk/gtk.h>
+
+inline GtkWidget* whiskermenu_image_menu_item_new(const char* icon, const char* text)
+{
+	GtkWidget* image = gtk_image_new_from_icon_name(icon, GTK_ICON_SIZE_MENU);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+	GtkWidget* menuitem = gtk_image_menu_item_new_with_label(text);
+	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
+G_GNUC_END_IGNORE_DEPRECATIONS
+	return menuitem;
+}
+
+inline GtkWidget* whiskermenu_image_menu_item_new_with_mnemonic(const char* icon, const char* text)
+{
+	GtkWidget* image = gtk_image_new_from_icon_name(icon, GTK_ICON_SIZE_MENU);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+	GtkWidget* menuitem = gtk_image_menu_item_new_with_mnemonic(text);
+	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
+G_GNUC_END_IGNORE_DEPRECATIONS
+	return menuitem;
+}
+
+#endif
diff --git a/panel-plugin/page.cpp b/panel-plugin/page.cpp
index 293f75c..d7ffc4c 100644
--- a/panel-plugin/page.cpp
+++ b/panel-plugin/page.cpp
@@ -18,6 +18,7 @@
 #include "page.h"
 
 #include "favorites-page.h"
+#include "image-menu-item.h"
 #include "launcher.h"
 #include "launcher-icon-view.h"
 #include "launcher-tree-view.h"
@@ -368,11 +369,7 @@ void Page::create_context_menu(GtkTreePath* path, GdkEvent* event)
 		for (std::vector<DesktopAction*>::size_type i = 0, end = actions.size(); i < end; ++i)
 		{
 			DesktopAction* action = actions[i];
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-			menuitem = gtk_image_menu_item_new_with_label(action->get_name());
-			GtkWidget* image = gtk_image_new_from_icon_name(action->get_icon(), GTK_ICON_SIZE_MENU);
-			gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
-G_GNUC_END_IGNORE_DEPRECATIONS
+			menuitem = whiskermenu_image_menu_item_new(action->get_icon(), action->get_name());
 			g_signal_connect_slot(menuitem, "activate", &Page::launcher_action_activated, this, action);
 			gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 		}
@@ -381,41 +378,35 @@ G_GNUC_END_IGNORE_DEPRECATIONS
 		gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 	}
 
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 	if (!m_window->get_favorites()->contains(m_selected_launcher))
 	{
-		menuitem = gtk_image_menu_item_new_with_label(_("Add to Favorites"));
-		GtkWidget* image = gtk_image_new_from_icon_name("bookmark-new", GTK_ICON_SIZE_MENU);
-		gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
+		menuitem = whiskermenu_image_menu_item_new("bookmark-new", _("Add to Favorites"));
 		g_signal_connect_slot<GtkMenuItem*>(menuitem, "activate", &Page::add_selected_to_favorites, this);
 		gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 	}
 	else
 	{
-		menuitem = gtk_image_menu_item_new_with_label(_("Remove From Favorites"));
-		GtkWidget* image = gtk_image_new_from_icon_name("list-remove", GTK_ICON_SIZE_MENU);
-		gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
+		menuitem = whiskermenu_image_menu_item_new("list-remove", _("Remove From Favorites"));
 		g_signal_connect_slot<GtkMenuItem*>(menuitem, "activate", &Page::remove_selected_from_favorites, this);
 		gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 	}
-G_GNUC_END_IGNORE_DEPRECATIONS
 
-	menuitem = gtk_menu_item_new_with_label(_("Add to Desktop"));
+	menuitem = whiskermenu_image_menu_item_new("list-add", _("Add to Desktop"));
 	g_signal_connect_slot<GtkMenuItem*>(menuitem, "activate", &Page::add_selected_to_desktop, this);
 	gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 
-	menuitem = gtk_menu_item_new_with_label(_("Add to Panel"));
+	menuitem = whiskermenu_image_menu_item_new("list-add", _("Add to Panel"));
 	g_signal_connect_slot<GtkMenuItem*>(menuitem, "activate", &Page::add_selected_to_panel, this);
 	gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 
 	menuitem = gtk_separator_menu_item_new();
 	gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 
-	menuitem = gtk_menu_item_new_with_label(_("Edit Application..."));
+	menuitem = whiskermenu_image_menu_item_new("gtk-edit", _("Edit Application..."));
 	g_signal_connect_slot<GtkMenuItem*>(menuitem, "activate", &Page::edit_selected, this);
 	gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 
-	menuitem = gtk_menu_item_new_with_label(_("Hide Application"));
+	menuitem = whiskermenu_image_menu_item_new("edit-delete", _("Hide Application"));
 	g_signal_connect_slot<GtkMenuItem*>(menuitem, "activate", &Page::hide_selected, this);
 	gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 
diff --git a/panel-plugin/recent-page.cpp b/panel-plugin/recent-page.cpp
index 613870e..be47672 100644
--- a/panel-plugin/recent-page.cpp
+++ b/panel-plugin/recent-page.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013, 2015, 2016 Graeme Gott <graeme at gottcode.org>
+ * Copyright (C) 2013, 2015, 2016, 2020 Graeme Gott <graeme at gottcode.org>
  *
  * This library is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -18,6 +18,7 @@
 #include "recent-page.h"
 
 #include "applications-page.h"
+#include "image-menu-item.h"
 #include "launcher.h"
 #include "launcher-view.h"
 #include "settings.h"
@@ -169,13 +170,9 @@ void RecentPage::extend_context_menu(GtkWidget* menu)
 	GtkWidget* menuitem = gtk_separator_menu_item_new();
 	gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
 
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-	menuitem = gtk_image_menu_item_new_with_label(_("Clear Recently Used"));
-	GtkWidget* image = gtk_image_new_from_icon_name("edit-clear", GTK_ICON_SIZE_MENU);
-	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
+	menuitem = whiskermenu_image_menu_item_new("edit-clear", _("Clear Recently Used"));
 	g_signal_connect_slot<GtkMenuItem*>(menuitem, "activate", &RecentPage::clear_menu, this);
 	gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
-G_GNUC_END_IGNORE_DEPRECATIONS
 }
 
 //-----------------------------------------------------------------------------

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list