[anjuta] project-manager: Use ProjectChooser button in the Add library dialog
- From: Sebastien Granjoux <sgranjoux src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta] project-manager: Use ProjectChooser button in the Add library dialog
- Date: Thu, 12 Jan 2012 18:47:50 +0000 (UTC)
commit 27f51d2f503e7772d824bf83ede44f85e6e99110
Author: SÃbastien Granjoux <seb sfo free fr>
Date: Thu Jan 12 19:37:07 2012 +0100
project-manager: Use ProjectChooser button in the Add library dialog
plugins/project-manager/dialogs.c | 29 ++++++++++++-----------------
plugins/project-manager/pm_dialogs.ui | 17 +++++------------
plugins/project-manager/project-chooser.c | 13 ++++++++-----
3 files changed, 25 insertions(+), 34 deletions(-)
---
diff --git a/plugins/project-manager/dialogs.c b/plugins/project-manager/dialogs.c
index 23cb0a0..59a0b07 100644
--- a/plugins/project-manager/dialogs.c
+++ b/plugins/project-manager/dialogs.c
@@ -1601,7 +1601,7 @@ anjuta_pm_project_new_module (ProjectManagerPlugin *plugin,
GtkBuilder *gui;
GtkWidget *dialog;
GtkWidget *ok_button, *new_button;
- GtkWidget *targets_view;
+ GtkWidget *target_chooser;
GtkWidget *modules_view;
GtkTreePath *root;
gint response;
@@ -1616,20 +1616,17 @@ anjuta_pm_project_new_module (ProjectManagerPlugin *plugin,
/* get all needed widgets */
dialog = GTK_WIDGET (gtk_builder_get_object (gui, "add_module_dialog"));
- targets_view = GTK_WIDGET (gtk_builder_get_object (gui, "module_targets_view"));
+ target_chooser = GTK_WIDGET (gtk_builder_get_object (gui, "module_targets_chooser"));
modules_view = GTK_WIDGET (gtk_builder_get_object (gui, "modules_view"));
new_button = GTK_WIDGET (gtk_builder_get_object (gui, "new_package_button"));
ok_button = GTK_WIDGET (gtk_builder_get_object (gui, "ok_module_button"));
- root = gbf_project_model_get_project_root (gbf_project_view_get_model (plugin->view));
- setup_nodes_treeview (GBF_PROJECT_VIEW (targets_view),
- plugin->view,
- root,
- parent_filter_func,
- GINT_TO_POINTER (ANJUTA_PROJECT_MODULE),
- default_target);
- gtk_tree_path_free (root);
- gtk_widget_show (targets_view);
+ /* Fill target selection */
+ ianjuta_project_chooser_set_project_model (IANJUTA_PROJECT_CHOOSER (target_chooser),
+ IANJUTA_PROJECT_MANAGER (plugin),
+ ANJUTA_PROJECT_MODULE,
+ NULL);
+ gtk_widget_show (target_chooser);
root = gbf_project_model_get_project_root (gbf_project_view_get_model (plugin->view));
setup_nodes_treeview (GBF_PROJECT_VIEW (modules_view),
plugin->view,
@@ -1659,10 +1656,7 @@ anjuta_pm_project_new_module (ProjectManagerPlugin *plugin,
gtk_window_set_transient_for (GTK_WINDOW (dialog), parent);
}
- if (default_module)
- gtk_widget_grab_focus (modules_view);
- else
- gtk_widget_grab_focus (targets_view);
+ gtk_widget_grab_focus (modules_view);
/* execute dialog */
while (!finished)
@@ -1678,10 +1672,11 @@ anjuta_pm_project_new_module (ProjectManagerPlugin *plugin,
}
case GTK_RESPONSE_OK:
{
+ GFile *target_file;
AnjutaProjectNode *target;
- target = gbf_project_view_find_selected (GBF_PROJECT_VIEW (targets_view),
- ANJUTA_PROJECT_TARGET);
+ target_file = ianjuta_project_chooser_get_selected (IANJUTA_PROJECT_CHOOSER (target_chooser), NULL);
+ target = gbf_project_view_get_node_from_file (plugin->view, ANJUTA_PROJECT_UNKNOWN, target_file);
if (target)
{
GString *err_mesg = g_string_new (NULL);
diff --git a/plugins/project-manager/pm_dialogs.ui b/plugins/project-manager/pm_dialogs.ui
index e52cd27..a635d05 100644
--- a/plugins/project-manager/pm_dialogs.ui
+++ b/plugins/project-manager/pm_dialogs.ui
@@ -92,22 +92,15 @@
</packing>
</child>
<child>
- <object class="GtkScrolledWindow" id="targets_ph1">
+ <object class="AnjutaPmChooserButton" id="module_targets_chooser">
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GbfProjectView" id="module_targets_view">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child internal-child="selection">
- <object class="GtkTreeSelection" id="view-selection1"/>
- </child>
- </object>
- </child>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
diff --git a/plugins/project-manager/project-chooser.c b/plugins/project-manager/project-chooser.c
index bbd77b7..d45c52b 100644
--- a/plugins/project-manager/project-chooser.c
+++ b/plugins/project-manager/project-chooser.c
@@ -83,6 +83,9 @@ is_node_valid (GtkTreeModel *model, GtkTreeIter *iter, AnjutaPmChooserButton *bu
mask = -1;
break;
case ANJUTA_PROJECT_MODULE:
+ /* Only module parent */
+ mask = ANJUTA_PROJECT_CAN_ADD_MODULE;
+ break;
case ANJUTA_PROJECT_PACKAGE:
/* Only package parent */
mask = ANJUTA_PROJECT_CAN_ADD_PACKAGE;
@@ -290,15 +293,15 @@ anjuta_pm_chooser_set_project_model (IAnjutaProjectChooser *iface, IAnjutaProjec
label = _("<Select any project node>");
break;
case ANJUTA_PROJECT_MODULE:
- /* Display all modules */
- func = is_project_module_node;
- label = _("<Select any module>");
- break;
- case ANJUTA_PROJECT_PACKAGE:
/* Display all targets */
func = is_project_target_or_group_node;
label = _("<Select a target>");
break;
+ case ANJUTA_PROJECT_PACKAGE:
+ /* Display all modules */
+ func = is_project_module_node;
+ label = _("<Select any module>");
+ break;
case ANJUTA_PROJECT_SOURCE:
/* Display all targets */
func = is_project_target_or_group_node;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]