static void shortcut_clicked_callback (GtkWidget *button, gpointer user_data) { CajaSidePane *side_pane; GtkWidget *page; side_pane = CAJA_SIDE_PANE (user_data); page = GTK_WIDGET (g_object_get_data (G_OBJECT (button), "side-page")); caja_side_pane_show_panel (side_pane, page); }
void caja_navigation_window_add_sidebar_panel (CajaNavigationWindow *window, CajaSidebar *sidebar_panel) { const char *sidebar_id; char *label; char *tooltip; char *default_id; GdkPixbuf *icon; g_return_if_fail (CAJA_IS_NAVIGATION_WINDOW (window)); g_return_if_fail (CAJA_IS_SIDEBAR (sidebar_panel)); g_return_if_fail (CAJA_IS_SIDE_PANE (window->sidebar)); g_return_if_fail (g_list_find (window->sidebar_panels, sidebar_panel) == NULL); label = caja_sidebar_get_tab_label (sidebar_panel); tooltip = caja_sidebar_get_tab_tooltip (sidebar_panel); caja_side_pane_add_panel (window->sidebar, GTK_WIDGET (sidebar_panel), label, tooltip); g_free (tooltip); g_free (label); icon = caja_sidebar_get_tab_icon (sidebar_panel); caja_side_pane_set_panel_image (CAJA_NAVIGATION_WINDOW (window)->sidebar, GTK_WIDGET (sidebar_panel), icon); if (icon) { g_object_unref (icon); } g_signal_connect (sidebar_panel, "tab_icon_changed", (GCallback)side_panel_image_changed_callback, window); window->sidebar_panels = g_list_prepend (window->sidebar_panels, g_object_ref (sidebar_panel)); /* Show if default */ sidebar_id = caja_sidebar_get_sidebar_id (sidebar_panel); default_id = g_settings_get_string (caja_window_state, CAJA_WINDOW_STATE_SIDE_PANE_VIEW); if (sidebar_id && default_id && !strcmp (sidebar_id, default_id)) { caja_side_pane_show_panel (window->sidebar, GTK_WIDGET (sidebar_panel)); } g_free (default_id); }