diff options
Diffstat (limited to 'mate-panel/panel-menu-bar.c')
-rw-r--r-- | mate-panel/panel-menu-bar.c | 38 |
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) |