static void panel_menu_bar_init (PanelMenuBar *menubar) { menubar->priv = PANEL_MENU_BAR_GET_PRIVATE (menubar); menubar->priv->info = NULL; menubar->priv->applications_menu = create_applications_menu ("applications.menu", NULL, TRUE); menubar->priv->applications_item = panel_image_menu_item_new (); gtk_menu_item_set_label (GTK_MENU_ITEM (menubar->priv->applications_item), _("Applications")); menubar->priv->image = gtk_image_new_from_icon_name (PANEL_ICON_MAIN_MENU, panel_menu_bar_icon_get_size ()); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar->priv->applications_item), menubar->priv->applications_menu); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menubar->priv->applications_item); gtk_widget_show (menubar->priv->applications_item); menubar->priv->places_item = panel_place_menu_item_new (FALSE); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menubar->priv->places_item); gtk_widget_show (menubar->priv->places_item); panel_menu_bar_setup_tooltip (menubar); }
static void panel_menu_bar_init(PanelMenuBar* menubar) { GtkWidget* image; menubar->priv = PANEL_MENU_BAR_GET_PRIVATE(menubar); menubar->priv->info = NULL; menubar->priv->applications_menu = create_applications_menu("mate-applications.menu", NULL, TRUE); menubar->priv->applications_item = panel_image_menu_item_new(); gtk_menu_item_set_label(GTK_MENU_ITEM(menubar->priv->applications_item), _("Applications")); image = gtk_image_new_from_icon_name(PANEL_ICON_MAIN_MENU, panel_menu_bar_icon_get_size()); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menubar->priv->applications_item), image); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menubar->priv->applications_item), menubar->priv->applications_menu); gtk_menu_shell_append(GTK_MENU_SHELL(menubar), menubar->priv->applications_item); menubar->priv->places_item = panel_place_menu_item_new(FALSE); gtk_menu_shell_append(GTK_MENU_SHELL(menubar), menubar->priv->places_item); menubar->priv->desktop_item = panel_desktop_menu_item_new(FALSE, TRUE); gtk_menu_shell_append(GTK_MENU_SHELL(menubar), menubar->priv->desktop_item); panel_menu_bar_setup_tooltip(menubar); panel_menu_bar_update_text_gravity(menubar); g_signal_connect(menubar, "screen-changed", G_CALLBACK(panel_menu_bar_update_text_gravity), NULL); }
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)); 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); 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); }