[anjuta] project-manager: Add a help button on project properties dialogs
- From: Sebastien Granjoux <sgranjoux src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta] project-manager: Add a help button on project properties dialogs
- Date: Sat, 21 Jan 2012 11:50:53 +0000 (UTC)
commit a1b87de2fdcd9741d103494cbecc129a4aca394e
Author: SÃbastien Granjoux <seb sfo free fr>
Date: Sat Jan 21 12:44:58 2012 +0100
project-manager: Add a help button on project properties dialogs
plugins/project-manager/dialogs.c | 50 +++--
plugins/project-manager/pm_dialogs.ui | 347 +++++++++++++++++++++------------
2 files changed, 251 insertions(+), 146 deletions(-)
---
diff --git a/plugins/project-manager/dialogs.c b/plugins/project-manager/dialogs.c
index e571567..69eb5e2 100644
--- a/plugins/project-manager/dialogs.c
+++ b/plugins/project-manager/dialogs.c
@@ -63,6 +63,8 @@ typedef struct _PropertiesTable
GtkWidget *extra;
GbfTreeData *data;
AnjutaProjectNode *node;
+ GtkWidget *help_button;
+ const gchar *help_id;
GList *properties;
} PropertiesTable;
@@ -559,7 +561,14 @@ update_properties (PropertiesTable *table)
title = _("Project properties");
break;
case ANJUTA_PROJECT_GROUP:
- title = _("Folder properties");
+ if ((anjuta_project_node_get_full_type (table->node) & ANJUTA_PROJECT_ID_MASK) == ANJUTA_PROJECT_ROOT_GROUP)
+ {
+ title = _("Project properties");
+ }
+ else
+ {
+ title = _("Folder properties");
+ }
break;
case ANJUTA_PROJECT_TARGET:
title = _("Target properties");
@@ -630,6 +639,18 @@ update_properties (PropertiesTable *table)
add_label (_("Type:"), anjuta_project_node_info_name (node_info), table->main, &main_pos);
}
+ /* Show help button if existing */
+ if ((node_info != NULL) && (anjuta_project_node_info_property_help_id (node_info) != NULL))
+ {
+ table->help_id = anjuta_project_node_info_property_help_id (node_info);
+ gtk_widget_show (table->help_button);
+ }
+ else
+ {
+ table->help_id = NULL;
+ gtk_widget_hide (table->help_button);
+ }
+
/* Display other node properties */
single = FALSE;
@@ -753,6 +774,11 @@ on_properties_dialog_response (GtkWidget *dialog,
}
}
}
+ else if (id == GTK_RESPONSE_HELP)
+ {
+ anjuta_util_help_display (GTK_WIDGET (dialog), ANJUTA_MANUAL, table->help_id);
+ return;
+ }
g_list_foreach (table->properties, (GFunc)pm_property_entry_free, NULL);
g_free (table);
gtk_widget_destroy (dialog);
@@ -795,7 +821,6 @@ static GtkWidget *
pm_project_create_properties_dialog (AnjutaPmProject *project, GtkWindow *parent, GbfProjectView *view, GbfTreeData *data, GtkTreeIter *selected)
{
PropertiesTable *table;
- GtkWidget *dialog = NULL;
GtkBuilder *bxml;
GtkWidget *node_combo;
GtkTreeIter iter;
@@ -810,12 +835,14 @@ pm_project_create_properties_dialog (AnjutaPmProject *project, GtkWindow *parent
table->node = gbf_tree_data_get_node (data);
table->project = project;
anjuta_util_builder_get_objects (bxml,
+ "property_dialog", &table->dialog,
"properties", &table->table,
"nodes_combo", &node_combo,
"head_table", &table->head,
"main_table", &table->main,
"extra_table", &table->extra,
"extra_expand", &table->expand,
+ "property_help_button", &table->help_button,
NULL);
g_object_ref (table->table);
g_object_unref (bxml);
@@ -834,27 +861,16 @@ pm_project_create_properties_dialog (AnjutaPmProject *project, GtkWindow *parent
G_CALLBACK (on_node_changed),
table);
- dialog = gtk_dialog_new_with_buttons (NULL,
- parent,
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_STOCK_CANCEL,
- GTK_RESPONSE_CANCEL,
- GTK_STOCK_APPLY,
- GTK_RESPONSE_APPLY, NULL);
- table->dialog = dialog;
-
update_properties (table);
- g_signal_connect (dialog, "response",
+ g_signal_connect (table->dialog, "response",
G_CALLBACK (on_properties_dialog_response),
table);
- gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG(dialog))),
- table->table);
- gtk_window_set_default_size (GTK_WINDOW (dialog), 450, -1);
- gtk_widget_show (dialog);
+ gtk_window_set_default_size (GTK_WINDOW (table->dialog), 450, -1);
+ gtk_widget_show (table->dialog);
- return dialog;
+ return table->dialog;
}
diff --git a/plugins/project-manager/pm_dialogs.ui b/plugins/project-manager/pm_dialogs.ui
index c7407a9..f47bd94 100644
--- a/plugins/project-manager/pm_dialogs.ui
+++ b/plugins/project-manager/pm_dialogs.ui
@@ -1193,166 +1193,255 @@
<action-widget response="-5">ok_target_button</action-widget>
</action-widgets>
</object>
- <object class="GtkVBox" id="properties">
- <property name="visible">True</property>
+ <object class="GtkDialog" id="property_dialog">
<property name="can_focus">False</property>
- <property name="border_width">6</property>
- <property name="spacing">12</property>
- <child>
- <object class="AnjutaPmChooserButton" id="nodes_combo">
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkTable" id="head_table">
- <property name="visible">True</property>
+ <property name="border_width">5</property>
+ <property name="type_hint">dialog</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox9">
<property name="can_focus">False</property>
- <property name="n_rows">3</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">12</property>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkScrolledWindow" id="scrolledwindow4">
- <property name="width_request">600</property>
- <property name="height_request">144</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
<child>
- <object class="GtkViewport" id="viewport1">
+ <object class="GtkBox" id="properties">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="resize_mode">queue</property>
- <property name="shadow_type">none</property>
+ <property name="border_width">6</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
<child>
- <object class="GtkVBox" id="vbox">
+ <object class="AnjutaPmChooserButton" id="nodes_combo">
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkTable" id="head_table">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">12</property>
<child>
- <object class="GtkTable" id="main_table">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="n_rows">3</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">12</property>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
</child>
<child>
- <object class="GtkExpander" id="extra_expand">
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow4">
+ <property name="width_request">600</property>
+ <property name="height_request">144</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <child>
+ <object class="GtkViewport" id="viewport1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="spacing">6</property>
+ <property name="can_focus">False</property>
+ <property name="resize_mode">queue</property>
+ <property name="shadow_type">none</property>
<child>
- <object class="GtkTable" id="extra_table">
+ <object class="GtkVBox" id="vbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="n_rows">3</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">12</property>
- <property name="row_spacing">6</property>
<child>
- <placeholder/>
+ <object class="GtkTable" id="main_table">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
</child>
<child>
- <placeholder/>
+ <object class="GtkExpander" id="extra_expand">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkTable" id="extra_table">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">12</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label14">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="yalign">1</property>
+ <property name="label" translatable="yes">More options:</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
</child>
<child>
<placeholder/>
</child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- </object>
- </child>
- <child type="label">
- <object class="GtkLabel" id="label14">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="yalign">1</property>
- <property name="label" translatable="yes">More options:</property>
</object>
</child>
</object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <placeholder/>
</child>
</object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area9">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="property_help_button">
+ <property name="label">gtk-help</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button11">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="ok_property_button">
+ <property name="label">gtk-apply</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
</child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
</child>
</object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
</child>
+ <action-widgets>
+ <action-widget response="-11">property_help_button</action-widget>
+ <action-widget response="-6">button11</action-widget>
+ <action-widget response="-5">ok_property_button</action-widget>
+ </action-widgets>
</object>
</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]