Revision: 3634 http://geany.svn.sourceforge.net/geany/?rev=3634&view=rev Author: eht16 Date: 2009-03-19 17:49:52 +0000 (Thu, 19 Mar 2009)
Log Message: ----------- Update build menu items after changing anything in the 'Set Includes and Arguments' dialog. Disable Compile/Run buttons/menu items when Compile/Run commands are set but empty.
Modified Paths: -------------- trunk/ChangeLog trunk/src/build.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-03-17 21:06:10 UTC (rev 3633) +++ trunk/ChangeLog 2009-03-19 17:49:52 UTC (rev 3634) @@ -1,3 +1,12 @@ +2009-03-19 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de> + + * src/build.c: + Update build menu items after changing anything in the + 'Set Includes and Arguments' dialog. + Disable Compile/Run buttons/menu items when Compile/Run commands are + set but empty. + + 2009-03-16 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/search.c:
Modified: trunk/src/build.c =================================================================== --- trunk/src/build.c 2009-03-17 21:06:10 UTC (rev 3633) +++ trunk/src/build.c 2009-03-19 17:49:52 UTC (rev 3634) @@ -1365,8 +1365,12 @@ gint response, gpointer user_data) { - GeanyFiletype *ft = user_data; + GeanyDocument *doc = user_data; + GeanyFiletype *ft;
+ g_return_if_fail(doc != NULL); + + ft = doc->file_type; g_return_if_fail(ft != NULL);
if (response == GTK_RESPONSE_ACCEPT) @@ -1407,6 +1411,8 @@ programs->modified = TRUE; } } + if (programs->modified) + build_menu_update(doc); } }
@@ -1530,7 +1536,7 @@ /* run modally to prevent user changing idx filetype */ response = gtk_dialog_run(GTK_DIALOG(dialog)); /* call the callback manually */ - on_includes_arguments_dialog_response(GTK_DIALOG(dialog), response, ft); + on_includes_arguments_dialog_response(GTK_DIALOG(dialog), response, doc);
gtk_widget_destroy(dialog); } @@ -1605,9 +1611,11 @@ can_build = can_make;
if (menu_items->item_compile) - gtk_widget_set_sensitive(menu_items->item_compile, can_build && ft->actions->can_compile); + gtk_widget_set_sensitive(menu_items->item_compile, + can_build && ft->actions->can_compile && NZV(ft->programs->compiler)); if (menu_items->item_link) - gtk_widget_set_sensitive(menu_items->item_link, can_build && ft->actions->can_link); + gtk_widget_set_sensitive(menu_items->item_link, + can_build && ft->actions->can_link && NZV(ft->programs->linker)); if (menu_items->item_make_all) gtk_widget_set_sensitive(menu_items->item_make_all, can_make); if (menu_items->item_make_custom) @@ -1618,7 +1626,7 @@ 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_run = have_path && ft->actions->can_exec && NZV(ft->programs->run_cmd);
can_stop = run_info.pid > (GPid) 1; can_run &= ! can_stop; @@ -1651,7 +1659,8 @@ if (widgets.toolitem_set_args != NULL) gtk_widget_set_sensitive(widgets.toolitem_set_args, can_set_args);
- ui_widget_set_sensitive(widgets.compile_button, can_build && ft->actions->can_compile); + ui_widget_set_sensitive(widgets.compile_button, + can_build && ft->actions->can_compile && NZV(ft->programs->compiler)); ui_widget_set_sensitive(widgets.build_button, can_make); ui_widget_set_sensitive(widgets.run_button, can_run || can_stop);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.