anjuta r4799 - in trunk: . plugins/run-program
- From: sgranjoux svn gnome org
- To: svn-commits-list gnome org
- Subject: anjuta r4799 - in trunk: . plugins/run-program
- Date: Wed, 25 Feb 2009 20:59:29 +0000 (UTC)
Author: sgranjoux
Date: Wed Feb 25 20:59:29 2009
New Revision: 4799
URL: http://svn.gnome.org/viewvc/anjuta?rev=4799&view=rev
Log:
* plugins/run-program/plugin.c,
plugins/run-program/parameters.c,
plugins/run-program/parameters.h:
Fix #564306 â don't ask which program to run if project has only one
target
Modified:
trunk/ChangeLog
trunk/plugins/run-program/parameters.c
trunk/plugins/run-program/parameters.h
trunk/plugins/run-program/plugin.c
Modified: trunk/plugins/run-program/parameters.c
==============================================================================
--- trunk/plugins/run-program/parameters.c (original)
+++ trunk/plugins/run-program/parameters.c Wed Feb 25 20:59:29 2009
@@ -683,8 +683,7 @@
g_list_free (exec_targets);
}
}
- g_object_unref (model);
-
+
if (plugin->recent_target != NULL)
{
gchar *local;
@@ -693,6 +692,24 @@
gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dlg->target)->child), local);
g_free (local);
}
+ else
+ {
+ GtkTreeIter iter;
+
+ if (gtk_tree_model_get_iter_first (model, &iter) &&
+ !gtk_tree_model_iter_next (model, &iter))
+ {
+ gchar *default_target;
+
+ gtk_tree_model_get_iter_first (model, &iter);
+ gtk_tree_model_get (model, &iter,
+ 0, &default_target,
+ -1);
+ gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dlg->target)->child), default_target);
+ g_free (default_target);
+ }
+ }
+ g_object_unref (model);
/* Fill environment variable list */
model = GTK_TREE_MODEL (gtk_list_store_new (ENV_N_COLUMNS,
@@ -732,24 +749,43 @@
return dlg;
}
-/* Public functions
- *---------------------------------------------------------------------------*/
-
-gint
-run_parameters_dialog_run (RunProgramPlugin *plugin)
+static gint
+run_parameters_dialog_or_try_execute (RunProgramPlugin *plugin, gboolean try_run)
{
RunDialog dlg;
gint response;
run_dialog_init (&dlg, plugin);
-
- response = gtk_dialog_run (GTK_DIALOG (dlg.win));
- if (response == GTK_RESPONSE_APPLY)
+ const char *target = gtk_entry_get_text (GTK_ENTRY (GTK_BIN (dlg.target)->child));
+ if (try_run && target && *target)
{
save_dialog_data (&dlg);
+ return GTK_RESPONSE_APPLY;
}
- gtk_widget_destroy (dlg.win);
-
+ else
+ {
+ response = gtk_dialog_run (GTK_DIALOG (dlg.win));
+ if (response == GTK_RESPONSE_APPLY)
+ {
+ save_dialog_data (&dlg);
+ }
+ gtk_widget_destroy (dlg.win);
+ }
+
return response;
}
+/* Public functions
+ *---------------------------------------------------------------------------*/
+
+gint
+run_parameters_dialog_run (RunProgramPlugin *plugin)
+{
+ return run_parameters_dialog_or_try_execute (plugin, FALSE);
+}
+
+gint
+run_parameters_dialog_or_execute (RunProgramPlugin *plugin)
+{
+ return run_parameters_dialog_or_try_execute (plugin, TRUE);
+}
Modified: trunk/plugins/run-program/parameters.h
==============================================================================
--- trunk/plugins/run-program/parameters.h (original)
+++ trunk/plugins/run-program/parameters.h Wed Feb 25 20:59:29 2009
@@ -24,5 +24,6 @@
#include "plugin.h"
gint run_parameters_dialog_run (RunProgramPlugin *plugin);
+gint run_parameters_dialog_or_execute (RunProgramPlugin *plugin);
#endif
Modified: trunk/plugins/run-program/plugin.c
==============================================================================
--- trunk/plugins/run-program/plugin.c (original)
+++ trunk/plugins/run-program/plugin.c Wed Feb 25 20:59:29 2009
@@ -183,7 +183,7 @@
}
if (plugin->recent_target == NULL)
{
- if (run_parameters_dialog_run (plugin) != GTK_RESPONSE_APPLY)
+ if (run_parameters_dialog_or_execute (plugin) != GTK_RESPONSE_APPLY)
{
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]