static void set_current_side_panel (NautilusNavigationWindow *window, NautilusSidebar *panel) { if (window->details->current_side_panel) { nautilus_sidebar_is_visible_changed (window->details->current_side_panel, FALSE); eel_remove_weak_pointer (&window->details->current_side_panel); } if (panel != NULL) { nautilus_sidebar_is_visible_changed (panel, TRUE); } window->details->current_side_panel = panel; eel_add_weak_pointer (&window->details->current_side_panel); }
static void row_collapsed_callback (GtkTreeView *treeview, GtkTreeIter *iter, GtkTreePath *path, gpointer callback_data) { FMListView *view; struct UnloadDelayData *unload_data; view = FM_LIST_VIEW (callback_data); unload_data = g_new (struct UnloadDelayData, 1); unload_data->view = view; fm_list_model_get_directory_file (view->model, path, &unload_data->directory, &unload_data->file); eel_add_weak_pointer (&unload_data->view); g_timeout_add_seconds (COLLAPSE_TO_UNLOAD_DELAY, unload_file_timeout, unload_data); }
static void caja_side_pane_init (GObject *object) { CajaSidePane *side_pane; GtkWidget *frame; GtkWidget *hbox; GtkWidget *close_button; GtkWidget *select_button; GtkWidget *select_hbox; GtkWidget *arrow; GtkWidget *image; side_pane = CAJA_SIDE_PANE (object); side_pane->details = G_TYPE_INSTANCE_GET_PRIVATE (object, CAJA_TYPE_SIDE_PANE, CajaSidePaneDetails); frame = gtk_frame_new (NULL); side_pane->details->title_frame = frame; gtk_widget_show (frame); gtk_box_pack_start (GTK_BOX (side_pane), frame, FALSE, FALSE, 0); #if GTK_CHECK_VERSION(3, 0, 0) GtkStyleContext *context; context = gtk_widget_get_style_context (GTK_WIDGET (object)); gtk_style_context_add_class (context, "caja-side-pane"); #endif hbox = gtk_hbox_new (FALSE, 0); side_pane->details->title_hbox = hbox; gtk_widget_show (hbox); gtk_container_add (GTK_CONTAINER (frame), hbox); select_button = gtk_toggle_button_new (); gtk_button_set_relief (GTK_BUTTON (select_button), GTK_RELIEF_NONE); gtk_widget_show (select_button); g_signal_connect (select_button, "button_press_event", G_CALLBACK (select_button_press_callback), side_pane); g_signal_connect (select_button, "key_press_event", G_CALLBACK (select_button_key_press_callback), side_pane); select_hbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (select_hbox); side_pane->details->title_label = gtk_label_new (""); eel_add_weak_pointer (&side_pane->details->title_label); gtk_widget_show (side_pane->details->title_label); gtk_box_pack_start (GTK_BOX (select_hbox), side_pane->details->title_label, FALSE, FALSE, 0); #if GTK_CHECK_VERSION (3, 0, 0) arrow = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_BUTTON); #else arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE); #endif gtk_widget_show (arrow); gtk_box_pack_end (GTK_BOX (select_hbox), arrow, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (select_button), select_hbox); gtk_box_pack_start (GTK_BOX (hbox), select_button, FALSE, FALSE, 0); close_button = gtk_button_new (); gtk_button_set_relief (GTK_BUTTON (close_button), GTK_RELIEF_NONE); g_signal_connect (close_button, "clicked", G_CALLBACK (close_clicked_callback), side_pane); gtk_widget_show (close_button); image = gtk_image_new_from_icon_name ("window-close", GTK_ICON_SIZE_MENU); gtk_widget_show (image); gtk_container_add (GTK_CONTAINER (close_button), image); gtk_box_pack_end (GTK_BOX (hbox), close_button, FALSE, FALSE, 0); side_pane->details->shortcut_box = gtk_hbox_new (TRUE, 0); gtk_widget_show (side_pane->details->shortcut_box); gtk_box_pack_end (GTK_BOX (hbox), side_pane->details->shortcut_box, FALSE, FALSE, 0); side_pane->details->notebook = gtk_notebook_new (); gtk_notebook_set_show_tabs (GTK_NOTEBOOK (side_pane->details->notebook), FALSE); gtk_notebook_set_show_border (GTK_NOTEBOOK (side_pane->details->notebook), FALSE); g_signal_connect_object (side_pane->details->notebook, "switch_page", G_CALLBACK (switch_page_callback), side_pane, 0); gtk_widget_show (side_pane->details->notebook); gtk_box_pack_start (GTK_BOX (side_pane), side_pane->details->notebook, TRUE, TRUE, 0); side_pane->details->menu = gtk_menu_new (); g_signal_connect (side_pane->details->menu, "deactivate", G_CALLBACK (menu_deactivate_callback), select_button); gtk_menu_attach_to_widget (GTK_MENU (side_pane->details->menu), GTK_WIDGET (side_pane), menu_detach_callback); gtk_widget_show (side_pane->details->menu); gtk_widget_set_tooltip_text (close_button, _("Close the side pane")); }