[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