[gnome-builder] project-tree: allow creation of siblings
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] project-tree: allow creation of siblings
- Date: Sat, 11 Apr 2015 01:58:27 +0000 (UTC)
commit 59b6e854c0ad4721c3adc1b9ee7622f4f1ef3d51
Author: Christian Hergert <christian hergert me>
Date: Fri Apr 10 18:58:22 2015 -0700
project-tree: allow creation of siblings
This allows us to create a sibling, both directories and files.
src/project-tree/gb-project-tree-actions.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/src/project-tree/gb-project-tree-actions.c b/src/project-tree/gb-project-tree-actions.c
index 86fec84..cefa3f8 100644
--- a/src/project-tree/gb-project-tree-actions.c
+++ b/src/project-tree/gb-project-tree-actions.c
@@ -327,6 +327,7 @@ static void
gb_project_tree_actions_new (GbProjectTree *self,
GFileType file_type)
{
+ g_autoptr(GFile) parent = NULL;
GbTreeNode *selected;
GObject *item;
GtkPopover *popover;
@@ -341,11 +342,20 @@ gb_project_tree_actions_new (GbProjectTree *self,
if (!(selected = gb_tree_get_selected (GB_TREE (self))) ||
!(item = gb_tree_node_get_item (selected)) ||
!IDE_IS_PROJECT_FILE (item) ||
- !project_file_is_directory (item) ||
!(project_file = IDE_PROJECT_FILE (item)) ||
!(file = ide_project_file_get_file (project_file)))
return;
+ /*
+ * If this item is an IdeProjectFile and not a directory, then we really
+ * want to create a sibling.
+ */
+ if (!project_file_is_directory (item))
+ {
+ parent = g_file_get_parent (file);
+ file = parent;
+ }
+
if ((self->expanded_in_new = !gb_tree_node_get_expanded (selected)))
gb_tree_node_expand (selected, FALSE);
@@ -457,10 +467,10 @@ gb_project_tree_actions_update (GbProjectTree *self)
item = gb_tree_node_get_item (selection);
action_set (group, "new-file",
- "enabled", project_file_is_directory (item),
+ "enabled", IDE_IS_PROJECT_FILE (item),
NULL);
action_set (group, "new-directory",
- "enabled", project_file_is_directory (item),
+ "enabled", IDE_IS_PROJECT_FILE (item),
NULL);
action_set (group, "open",
"enabled", !project_file_is_directory (item),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]