summaryrefslogtreecommitdiff
path: root/mate-panel/panel-menu-bar.c
diff options
context:
space:
mode:
Diffstat (limited to 'mate-panel/panel-menu-bar.c')
-rw-r--r--mate-panel/panel-menu-bar.c38
1 files changed, 22 insertions, 16 deletions
diff --git a/mate-panel/panel-menu-bar.c b/mate-panel/panel-menu-bar.c
index 8a69ddca..b348ae48 100644
--- a/mate-panel/panel-menu-bar.c
+++ b/mate-panel/panel-menu-bar.c
@@ -3,6 +3,7 @@
*
* Copyright (C) 2003 Sun Microsystems, Inc.
* Copyright (C) 2004 Vincent Untz
+ * Copyright (C) 2012-2021 MATE Developers
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -31,6 +32,8 @@
#include <string.h>
#include <glib/gi18n.h>
+#include <libmate-desktop/mate-image-menu-item.h>
+
#include <libpanel-util/panel-error.h>
#include <libpanel-util/panel-launch.h>
#include <libpanel-util/panel-show.h>
@@ -105,38 +108,41 @@ static void panel_menu_bar_setup_tooltip(PanelMenuBar* menubar)
g_signal_connect(menubar->priv->desktop_item, "activate", G_CALLBACK (panel_menu_bar_hide_tooltip_and_focus), menubar);
/* Reset tooltip when the menu bar is not used */
- g_signal_connect(GTK_MENU_SHELL (menubar), "deactivate", G_CALLBACK (panel_menu_bar_reinit_tooltip), menubar);
+ g_signal_connect(menubar, "deactivate", G_CALLBACK (panel_menu_bar_reinit_tooltip), menubar);
}
-static void panel_menu_bar_update_visibility (GSettings* settings, gchar* key, PanelMenuBar* menubar)
+static void
+panel_menu_bar_update_visibility (GSettings *settings,
+ gchar *key,
+ PanelMenuBar *menubar)
{
- GtkWidget* image;
- gchar *str;
- GtkIconSize icon_size;
- gint icon_height;
-
if (!GTK_IS_WIDGET (menubar))
return;
- gtk_widget_set_visible (GTK_WIDGET (menubar->priv->applications_item), g_settings_get_boolean (settings, PANEL_MENU_BAR_SHOW_APPLICATIONS_KEY));
- gtk_widget_set_visible (GTK_WIDGET (menubar->priv->places_item), g_settings_get_boolean (settings, PANEL_MENU_BAR_SHOW_PLACES_KEY));
- gtk_widget_set_visible (GTK_WIDGET (menubar->priv->desktop_item), g_settings_get_boolean (settings, PANEL_MENU_BAR_SHOW_DESKTOP_KEY));
+ gtk_widget_set_visible (GTK_WIDGET (menubar->priv->applications_item),
+ g_settings_get_boolean (settings, PANEL_MENU_BAR_SHOW_APPLICATIONS_KEY));
+ gtk_widget_set_visible (GTK_WIDGET (menubar->priv->places_item),
+ g_settings_get_boolean (settings, PANEL_MENU_BAR_SHOW_PLACES_KEY));
+ gtk_widget_set_visible (GTK_WIDGET (menubar->priv->desktop_item),
+ g_settings_get_boolean (settings, PANEL_MENU_BAR_SHOW_DESKTOP_KEY));
+
+ if (g_settings_get_boolean (settings, PANEL_MENU_BAR_SHOW_ICON_KEY)) {
+ GtkWidget *image;
+ gint icon_height;
+ gchar *str = g_settings_get_string (settings, PANEL_MENU_BAR_ICON_NAME_KEY);
+ GtkIconSize icon_size = panel_menu_bar_icon_get_size ();
- if (g_settings_get_boolean (settings, PANEL_MENU_BAR_SHOW_ICON_KEY))
- {
- str = g_settings_get_string (settings, PANEL_MENU_BAR_ICON_NAME_KEY);
- icon_size = panel_menu_bar_icon_get_size ();
gtk_icon_size_lookup (icon_size, NULL, &icon_height);
if (str != NULL && str[0] != 0)
image = gtk_image_new_from_icon_name(str, icon_size);
else
image = gtk_image_new_from_icon_name(PANEL_ICON_MAIN_MENU, icon_size);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menubar->priv->applications_item), image);
+ mate_image_menu_item_set_image (MATE_IMAGE_MENU_ITEM (menubar->priv->applications_item), image);
gtk_image_set_pixel_size (GTK_IMAGE (image), icon_height);
g_free (str);
}
else
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menubar->priv->applications_item), NULL);
+ mate_image_menu_item_set_image (MATE_IMAGE_MENU_ITEM (menubar->priv->applications_item), NULL);
}
static void panel_menu_bar_init(PanelMenuBar* menubar)