Revision: 1497 http://svn.sourceforge.net/geany/?rev=1497&view=rev Author: ntrel Date: 2007-05-01 05:27:56 -0700 (Tue, 01 May 2007)
Log Message: ----------- Allow run for any file (with a path) when a valid project run command is set.
Modified Paths: -------------- trunk/ChangeLog trunk/src/build.c trunk/src/project.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-05-01 11:47:06 UTC (rev 1496) +++ trunk/ChangeLog 2007-05-01 12:27:56 UTC (rev 1497) @@ -5,6 +5,9 @@ rebuilding of files dependent on support.h. * src/project.c: Hide the unused File Patterns field in the project properties dialog. + * src/build.c, src/project.c: + Allow run for any file (with a path) when a valid project run command + is set.
2007-04-30 Nick Treleaven nick.treleaven@btinternet.com
Modified: trunk/src/build.c =================================================================== --- trunk/src/build.c 2007-05-01 11:47:06 UTC (rev 1496) +++ trunk/src/build.c 2007-05-01 12:27:56 UTC (rev 1497) @@ -1600,7 +1600,7 @@ void build_menu_update(gint idx) { filetype *ft; - gboolean have_path, can_build, can_make, can_run, can_set_args, have_errors; + gboolean have_path, can_build, can_make, can_run, can_stop, can_set_args, have_errors; BuildMenuItems *menu_items;
if (idx == -1) @@ -1654,13 +1654,20 @@ if (menu_items->item_make_object) gtk_widget_set_sensitive(menu_items->item_make_object, can_make);
- can_run = have_path && run_info.pid <= (GPid) 1; - /* can_run only applies item_exec2 - * item_exec is enabled for both run and stop commands */ + if (app->project && NZV(app->project->run_cmd)) + can_run = have_path; // for now run is disabled for all untitled files + else + can_run = have_path && ft->actions->can_exec; + + can_stop = run_info.pid > (GPid) 1; + can_run &= ! can_stop; + + /* item_exec is enabled for both run and stop commands */ if (menu_items->item_exec) - gtk_widget_set_sensitive(menu_items->item_exec, have_path && ft->actions->can_exec); + gtk_widget_set_sensitive(menu_items->item_exec, can_run || can_stop); + /* item_exec2 is disabled if there's a running process already */ if (menu_items->item_exec2) - gtk_widget_set_sensitive(menu_items->item_exec2, can_run && ft->actions->can_exec); + gtk_widget_set_sensitive(menu_items->item_exec2, can_run);
can_set_args = ((ft->actions->can_compile || @@ -1671,11 +1678,12 @@ gtk_widget_set_sensitive(menu_items->item_set_args, can_set_args);
gtk_widget_set_sensitive(app->compile_button, can_build && ft->actions->can_compile); - gtk_widget_set_sensitive(app->run_button, have_path && ft->actions->can_exec); + gtk_widget_set_sensitive(app->run_button, can_run || can_stop);
// show the stop command if a program is running, otherwise show run command - set_stop_button(run_info.pid > (GPid) 1); + set_stop_button(can_stop);
+ // simply enable next error command if the compiler window has any items have_errors = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(msgwindow.store_compiler), NULL) > 0; gtk_widget_set_sensitive(menu_items->item_next_error, have_errors);
Modified: trunk/src/project.c =================================================================== --- trunk/src/project.c 2007-05-01 11:47:06 UTC (rev 1496) +++ trunk/src/project.c 2007-05-01 12:27:56 UTC (rev 1497) @@ -39,6 +39,7 @@ #ifdef G_OS_WIN32 # include "win32.h" #endif +#include "build.h"
ProjectPrefs project_prefs = {NULL}; @@ -298,6 +299,8 @@
g_free(app->project); app->project = NULL; + + build_menu_update(-1); }
@@ -474,8 +477,12 @@ retry: response = gtk_dialog_run(GTK_DIALOG(e->dialog)); if (response == GTK_RESPONSE_OK) + { if (! update_config(e)) goto retry; + // successfully updated properties + build_menu_update(-1); + }
gtk_widget_destroy(e->dialog); g_free(e); @@ -839,6 +846,7 @@
g_key_file_free(config);
+ build_menu_update(-1); return TRUE; }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.