static void gb_project_tree_actions_open_containing_folder (GSimpleAction *action, GVariant *variant, gpointer user_data) { GbEditorWorkspace *self = user_data; GbTreeNode *selected; GObject *item; GFile *file; g_assert (GB_IS_PROJECT_TREE (self)); if (!(selected = gb_tree_get_selected (GB_TREE (self))) || !(item = gb_tree_node_get_item (selected)) || !(IDE_IS_PROJECT_FILE (item) || IDE_IS_PROJECT_FILES (item))) return; if (IDE_IS_PROJECT_FILES (item)) { IdeContext *context; IdeVcs *vcs; context = ide_object_get_context (IDE_OBJECT (item)); vcs = ide_context_get_vcs (context); file = ide_vcs_get_working_directory (vcs); } else if (!(file = ide_project_file_get_file (IDE_PROJECT_FILE (item)))) { return; } gb_file_manager_show (file, NULL); }
static void gb_project_tree_actions_open_containing_folder (GSimpleAction *action, GVariant *variant, gpointer user_data) { GbProjectTree *self = user_data; GbTreeNode *selected; GObject *item; GFile *file; g_assert (GB_IS_PROJECT_TREE (self)); if (!(selected = gb_tree_get_selected (GB_TREE (self))) || !(item = gb_tree_node_get_item (selected)) || !GB_IS_PROJECT_FILE (item)) return; file = gb_project_file_get_file (GB_PROJECT_FILE (item)); gb_file_manager_show (file, NULL); }