static gboolean on_tv_button_press (GtkWidget *widget, GdkEventButton *event, gpointer data) { GtkTreePath *path; GtkTreeIter iter; GFile *file; gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (widget), event->x, event->y, &path, NULL, NULL, NULL); if (!path) return TRUE; /* get the selected path */ g_free (baobab.selected_path); gtk_tree_model_get_iter (GTK_TREE_MODEL (baobab.model), &iter, path); gtk_tree_model_get (GTK_TREE_MODEL (baobab.model), &iter, COL_H_PARSENAME, &baobab.selected_path, -1); file = g_file_parse_name (baobab.selected_path); if (baobab.CONTENTS_CHANGED_DELAYED) { GFile *home_file; home_file = g_file_new_for_path (g_get_home_dir ()); if (g_file_has_prefix (file, home_file)) { baobab.CONTENTS_CHANGED_DELAYED = FALSE; if (baobab.STOP_SCANNING) { contents_changed (); } } g_object_unref (home_file); } /* right-click */ if (event->button == 3) { if (g_file_query_exists (file, NULL)) { popupmenu_list (path, event, can_trash_file (file)); } } gtk_tree_path_free (path); g_object_unref (file); return FALSE; }
void main_tab::server_list_changed() { emit contents_changed(); }