[anjuta] bgo#604954 - Configure project fail if project path contains space



commit 89fe16869d067032e08beda5949fa1eb3ffced44
Author: Sébastien Granjoux <seb sfo free fr>
Date:   Sat Dec 19 12:11:51 2009 +0100

    bgo#604954 -  Configure project fail if project path contains space

 plugins/build-basic-autotools/plugin.c             |   65 ++++++++++++++-----
 plugins/project-wizard/druid.c                     |    5 ++
 plugins/project-wizard/property.c                  |   25 +++++++-
 plugins/project-wizard/property.h                  |    1 +
 plugins/project-wizard/templates/anjuta-plugin.wiz |    2 +-
 plugins/project-wizard/templates/cpp.wiz           |    2 +-
 plugins/project-wizard/templates/gcj.wiz           |    2 +-
 plugins/project-wizard/templates/gnome-applet.wiz  |    2 +-
 plugins/project-wizard/templates/gtk.wiz           |    2 +-
 plugins/project-wizard/templates/gtkmm.wiz         |    2 +-
 plugins/project-wizard/templates/java.wiz          |    2 +-
 plugins/project-wizard/templates/library.wiz       |    2 +-
 plugins/project-wizard/templates/minimal.wiz       |    2 +-
 plugins/project-wizard/templates/python.wiz        |    2 +-
 plugins/project-wizard/templates/sdl.wiz           |    2 +-
 plugins/project-wizard/templates/terminal.wiz      |    2 +-
 plugins/project-wizard/templates/wxwin.wiz         |    2 +-
 plugins/project-wizard/templates/xlib-dock.wiz     |    2 +-
 plugins/project-wizard/templates/xlib.wiz          |    2 +-
 19 files changed, 93 insertions(+), 33 deletions(-)
---
diff --git a/plugins/build-basic-autotools/plugin.c b/plugins/build-basic-autotools/plugin.c
index 9a3b747..bbfe63f 100644
--- a/plugins/build-basic-autotools/plugin.c
+++ b/plugins/build-basic-autotools/plugin.c
@@ -290,6 +290,23 @@ escape_label (const gchar *str)
 	return g_string_free (ret, FALSE);
 }
 
+static gchar*
+shell_quotef (const gchar *format,...)
+{
+	va_list args;
+	gchar *str;
+	gchar *quoted_str;
+
+	va_start (args, format);
+	str = g_strdup_vprintf (format, args);
+	va_end (args);
+
+	quoted_str = g_shell_quote (str);
+	g_free (str);
+
+	return quoted_str;
+}
+
 /* Indicator locations reported by the build */
 
 static BuildIndicatorLocation*
@@ -1334,7 +1351,7 @@ build_execute_command_in_context (BuildContext* context, GError **err)
 		ianjuta_message_view_buffer_append (context->message_view, command, NULL);
 		ianjuta_message_view_buffer_append (context->message_view, "\n", NULL);
 		g_free (command);
-	
+
 		anjuta_launcher_execute_v (context->launcher,
 		    context->program->work_dir,
 		    context->program->argv,
@@ -1854,14 +1871,18 @@ build_configure_dir (BasicAutotoolsPlugin *plugin, const gchar *dirname, const g
 	BuildContext *context;
 	BuildProgram *prog;
 	BuildConfigureAndBuild *pack = g_new0 (BuildConfigureAndBuild, 1);
+	gchar *quote;
 
+	quote = shell_quotef ("%s%s%s",
+		       	plugin->project_root_dir,
+		       	G_DIR_SEPARATOR_S,
+			CHOOSE_COMMAND (plugin, CONFIGURE));
 	
 	prog = build_program_new_with_command (dirname,
-										   "%s%s%s %s",
-										   plugin->project_root_dir,
-										   G_DIR_SEPARATOR_S,
-										   CHOOSE_COMMAND (plugin, CONFIGURE),
+										   "%s %s",
+										   quote,
 										   args);
+	g_free (quote);
 	pack->args = NULL;
 	pack->func = func;
 	pack->name = g_strdup (name);
@@ -1906,13 +1927,18 @@ build_configure_after_autogen (GObject *sender,
 			{
 				/* configure has not be run, run it */
 				BuildProgram *prog;
+				gchar *quote;
+
+				quote = shell_quotef ("%s%s%s",
+					     	plugin->project_root_dir,
+					       	G_DIR_SEPARATOR_S,
+					       	CHOOSE_COMMAND (plugin, CONFIGURE));
 
 				prog = build_program_new_with_command (context->program->work_dir,
-													   "%s%s%s %s",
-													   plugin->project_root_dir,
-													   G_DIR_SEPARATOR_S,
-													   CHOOSE_COMMAND (plugin, CONFIGURE),
+													   "%s %s",
+													   quote,
 													   pack != NULL ? pack->args : NULL);
+				g_free (quote);
 				build_program_set_callback (prog, build_project_configured, pack);
 		
 				build_set_command_in_context (context, prog);
@@ -1947,12 +1973,17 @@ build_generate_dir (BasicAutotoolsPlugin *plugin, const gchar *dirname, const gc
 	
 	if (directory_has_file (plugin->project_root_dir, "autogen.sh"))
 	{
+		gchar *quote;
+
+		quote = shell_quotef ("%s%s%s",
+				plugin->project_root_dir,
+			       	G_DIR_SEPARATOR_S,
+			       	CHOOSE_COMMAND (plugin, GENERATE));
 		prog = build_program_new_with_command (dirname,
-											   "%s%s%s %s",
-											   plugin->project_root_dir,
-											   G_DIR_SEPARATOR_S,
-											   CHOOSE_COMMAND (plugin, GENERATE),
+											   "%s %s",
+											   quote,
 											   args);
+		g_free (quote);
 	}
 	else
 	{
@@ -2614,16 +2645,16 @@ update_project_ui (BasicAutotoolsPlugin *bb_plugin)
 	ui = anjuta_shell_get_ui (ANJUTA_PLUGIN (bb_plugin)->shell, NULL);
 	action = anjuta_ui_get_action (ui, "ActionGroupBuild",
 								   "ActionBuildBuildProject");
-	g_object_set (G_OBJECT (action), "sensitive", has_makefile, NULL);
+	g_object_set (G_OBJECT (action), "sensitive", has_project, NULL);
 	action = anjuta_ui_get_action (ui, "ActionGroupBuild",
 								   "ActionBuildInstallProject");
-	g_object_set (G_OBJECT (action), "sensitive", has_makefile, NULL);
+	g_object_set (G_OBJECT (action), "sensitive", has_project, NULL);
 	action = anjuta_ui_get_action (ui, "ActionGroupBuild",
 								   "ActionBuildCleanProject");
-	g_object_set (G_OBJECT (action), "sensitive", has_makefile, NULL);
+	g_object_set (G_OBJECT (action), "sensitive", has_project, NULL);
 	action = anjuta_ui_get_action (ui, "ActionGroupBuild",
 								   "ActionBuildDistribution");
-	g_object_set (G_OBJECT (action), "sensitive", has_makefile, NULL);
+	g_object_set (G_OBJECT (action), "sensitive", has_project, NULL);
 	action = anjuta_ui_get_action (ui, "ActionGroupBuild",
 								   "ActionBuildConfigure");
 	g_object_set (G_OBJECT (action), "sensitive", has_project, NULL);
diff --git a/plugins/project-wizard/druid.c b/plugins/project-wizard/druid.c
index 70be364..bc64e56 100644
--- a/plugins/project-wizard/druid.c
+++ b/plugins/project-wizard/druid.c
@@ -593,6 +593,11 @@ cb_save_valid_property (NPWProperty* property, gpointer user_data)
 									_("Field \"%s\" must start with a letter, a digit or an underscore and contain only letters, digits, underscore, minus and dot. Please fix it."),
 									_(npw_property_get_label (property)));
 			break;
+		case NPW_DIRECTORY_RESTRICTION:
+			g_string_append_printf (data->error,
+									_("Field \"%s\" must start with a letter, a digit, an underscore or a directory separator and contain only letters, digits, underscore, directory separator, minus and dot. Please fix it."),
+									_(npw_property_get_label (property)));
+			break;
 		default:
 			g_string_append_printf (data->error,
 									_("Unknown error."));
diff --git a/plugins/project-wizard/property.c b/plugins/project-wizard/property.c
index 9d391e8..67953cd 100644
--- a/plugins/project-wizard/property.c
+++ b/plugins/project-wizard/property.c
@@ -81,7 +81,8 @@ static const gchar* NPWPropertyTypeString[] = {
 };
 
 static const gchar* NPWPropertyRestrictionString[] = {
-	"filename"
+	"filename",
+	"directory"
 };
 
 /* Item object
@@ -236,6 +237,28 @@ npw_property_is_valid_restriction (const NPWProperty* prop)
 				return FALSE;
 		}
 		break;
+	case NPW_DIRECTORY_RESTRICTION:
+		value = npw_property_get_value (prop);
+
+		/* First character should be letters, digit or '_' or
+		 * directory separator */
+		if (value == NULL) return TRUE;
+		if (!isalnum (*value) && (*value != '_') && (*value != G_DIR_SEPARATOR))
+			return FALSE;
+
+		/* Following characters should be letters, digit or '_'
+		 * directory separator or '-' or '.' */
+		for (value++; *value != '\0'; value++)
+		{
+			if (!isalnum (*value)
+			    && (*value != '_')
+			    && (*value != G_DIR_SEPARATOR)
+			    && (*value != '-')
+			    && (*value != '.'))
+				return FALSE;
+		}
+		break;
+
 	default:
 		break;
 	}
diff --git a/plugins/project-wizard/property.h b/plugins/project-wizard/property.h
index 8d1e533..d50a65e 100644
--- a/plugins/project-wizard/property.h
+++ b/plugins/project-wizard/property.h
@@ -53,6 +53,7 @@ typedef enum {
 typedef enum {
 	NPW_NO_RESTRICTION = 0,
 	NPW_FILENAME_RESTRICTION,
+	NPW_DIRECTORY_RESTRICTION,
 	NPW_LAST_RESTRICTION
 } NPWPropertyRestriction;
 
diff --git a/plugins/project-wizard/templates/anjuta-plugin.wiz b/plugins/project-wizard/templates/anjuta-plugin.wiz
index 8e5c101..7797624 100644
--- a/plugins/project-wizard/templates/anjuta-plugin.wiz
+++ b/plugins/project-wizard/templates/anjuta-plugin.wiz
@@ -17,7 +17,7 @@
 </page>
 
 <page name="options" _label="Project options" _description="Options for project build system">
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/cpp.wiz b/plugins/project-wizard/templates/cpp.wiz
index 38e43f0..3f4f8e9 100644
--- a/plugins/project-wizard/templates/cpp.wiz
+++ b/plugins/project-wizard/templates/cpp.wiz
@@ -16,7 +16,7 @@
 </page>
 
 <page name="options" _label="Project options" _description="Options for project build system">
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/gcj.wiz b/plugins/project-wizard/templates/gcj.wiz
index 97f9533..e8c2a73 100644
--- a/plugins/project-wizard/templates/gcj.wiz
+++ b/plugins/project-wizard/templates/gcj.wiz
@@ -18,7 +18,7 @@
 </page>
 
 <page name="options" _label="Project options" _description="Options for project build system">
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/gnome-applet.wiz b/plugins/project-wizard/templates/gnome-applet.wiz
index 9315921..a7f3777 100644
--- a/plugins/project-wizard/templates/gnome-applet.wiz
+++ b/plugins/project-wizard/templates/gnome-applet.wiz
@@ -17,7 +17,7 @@
 </page>
 
 <page name="options" _label="Project options" _description="Options for project build system">
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/gtk.wiz b/plugins/project-wizard/templates/gtk.wiz
index 6605046..42cfe66 100644
--- a/plugins/project-wizard/templates/gtk.wiz
+++ b/plugins/project-wizard/templates/gtk.wiz
@@ -17,7 +17,7 @@
 </page>
 
 <page name="options" _label="Project options" _description="Options for project build system">
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/gtkmm.wiz b/plugins/project-wizard/templates/gtkmm.wiz
index 611ea4b..30a637b 100644
--- a/plugins/project-wizard/templates/gtkmm.wiz
+++ b/plugins/project-wizard/templates/gtkmm.wiz
@@ -17,7 +17,7 @@
 </page>
 
 <page name="options" _label="Project options" _description="Options for project build system">
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/java.wiz b/plugins/project-wizard/templates/java.wiz
index 67b9b88..c7a532a 100644
--- a/plugins/project-wizard/templates/java.wiz
+++ b/plugins/project-wizard/templates/java.wiz
@@ -18,7 +18,7 @@
 </page>
 
 <page name="options" _label="Project options" _description="Options for project build system">
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/library.wiz b/plugins/project-wizard/templates/library.wiz
index 4a7f45b..c5519bd 100644
--- a/plugins/project-wizard/templates/library.wiz
+++ b/plugins/project-wizard/templates/library.wiz
@@ -16,7 +16,7 @@
 </page>
 
 <page name="options" _label="Project options" _description="Options for project build system">
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/minimal.wiz b/plugins/project-wizard/templates/minimal.wiz
index d098320..8e46b23 100644
--- a/plugins/project-wizard/templates/minimal.wiz
+++ b/plugins/project-wizard/templates/minimal.wiz
@@ -16,7 +16,7 @@
 </page>
 
 <page name="options" _label="Project options" _description="Options for project build system">
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/python.wiz b/plugins/project-wizard/templates/python.wiz
index a1dba43..8bc756d 100644
--- a/plugins/project-wizard/templates/python.wiz
+++ b/plugins/project-wizard/templates/python.wiz
@@ -17,7 +17,7 @@
 </page>
 
 <page name="options" _label="Project options" _description="Options for project build system">
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/sdl.wiz b/plugins/project-wizard/templates/sdl.wiz
index 3c13503..cd92d4e 100644
--- a/plugins/project-wizard/templates/sdl.wiz
+++ b/plugins/project-wizard/templates/sdl.wiz
@@ -21,7 +21,7 @@
 	<property type="hidden" name="NameCUpper" default="[+(string->c-name! (string-substitute (string-upcase (get "Name")) " " "_"))+]"/>
 	<property type="hidden" name="NameCLower" default="[+(string->c-name! (string-substitute (string-downcase (get "Name")) " " "_"))+]"/>
 	<property type="hidden" name="NameHLower" default="[+(string-substitute (string->c-name! (string-downcase (get "Name"))) " " "-")+]"/>
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/terminal.wiz b/plugins/project-wizard/templates/terminal.wiz
index 0f115f8..13a7258 100644
--- a/plugins/project-wizard/templates/terminal.wiz
+++ b/plugins/project-wizard/templates/terminal.wiz
@@ -16,7 +16,7 @@
 </page>
 
 <page name="options" _label="Project options" _description="Options for project build system">
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/wxwin.wiz b/plugins/project-wizard/templates/wxwin.wiz
index 6897ce6..4f05d8e 100644
--- a/plugins/project-wizard/templates/wxwin.wiz
+++ b/plugins/project-wizard/templates/wxwin.wiz
@@ -21,7 +21,7 @@
 	<property type="hidden" name="NameCUpper" default="[+(string->c-name! (string-substitute (string-upcase (get "Name")) " " "_"))+]"/>
 	<property type="hidden" name="NameCLower" default="[+(string->c-name! (string-substitute (string-downcase (get "Name")) " " "_"))+]"/>
 	<property type="hidden" name="NameHLower" default="[+(string-substitute (string->c-name! (string-downcase (get "Name"))) " " "-")+]"/>
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/xlib-dock.wiz b/plugins/project-wizard/templates/xlib-dock.wiz
index 2c2bd3d..e97aed5 100644
--- a/plugins/project-wizard/templates/xlib-dock.wiz
+++ b/plugins/project-wizard/templates/xlib-dock.wiz
@@ -23,7 +23,7 @@
 	<property type="hidden" name="NameHLower" default="[+(string-substitute (string->c-name! (string-downcase (get "Name"))) " " "-")+]"/>
 	<property type="hidden" name="HavePackage" default="1"/>
 	<property type="hidden" name="PackageModule1" default="gtk+-2.0 libglade-2.0"/>
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>
diff --git a/plugins/project-wizard/templates/xlib.wiz b/plugins/project-wizard/templates/xlib.wiz
index 1435583..6cb5969 100644
--- a/plugins/project-wizard/templates/xlib.wiz
+++ b/plugins/project-wizard/templates/xlib.wiz
@@ -23,7 +23,7 @@
 	<property type="hidden" name="NameHLower" default="[+(string-substitute (string->c-name! (string-downcase (get "Name"))) " " "-")+]"/>
 	<property type="hidden" name="HavePackage" default="1"/>
 	<property type="hidden" name="PackageModule1" default="gtk+-2.0 libglade-2.0"/>
-	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
+	<property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" restriction="directory" summary="yes"/>
 	<property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
 		<item name="GPL" _label="General Public License (GPL)"/>
 		<item name="LGPL" _label="Lesser General Public License (LGPL)"/>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]