Hi, Sorry for the delay. (As I said in another mail, my net connection was broken for 2 weeks.)
On Fri, 17 Oct 2008 19:30:03 +1100 "Lex Trotman" elextr@gmail.com wrote:
I have committed a prototype of the first part of the changes proposed for the build system to the build system branch.
Cool. I just made some minor commits to fix a warning and refactor some GUI code.
BTW there are some formatting issues: 1. Some spaces instead of tabs being used for indentation (e.g. in build.c). 2. Spacing - instead of:
if( blah!=foo )some_func( foo );
use:
if (blah != foo) some_func(foo);
Please use the existing code style (see HACKING).
The indentation is the most important one, could you fix this please?
About the code: 1. No real need to check if ptr is null before g_free(ptr).
2. I think we should move the new build_* GeanyProject fields to a GeanyProjectPrivate struct, similar to GeanyDocumentPrivate/GeanyFiletypePrivate. The implementation of those fields might change, so they shouldn't be in the plugin API. I can make this change unless someone disagrees.
If a project is open the dialog will have extra fields to provide labels and commands to replace the "Make" series of menu items on the build menu.
(I guess replacing the make menu items is not implemented yet.)
On the menu any label or command which is not set will revert to the default (the same as without any project). By default no labels or commands are set in the project file, so unless the user does something (sets them) there will be no change. These labels and commands are saved and restored with the project file.
Maybe by default they should be set to the default make command labels and commands. Otherwise the dialog is unintuitive - just empty boxes.
Note when using commands set in the project file, the "make" command path in tools preferences is not used so that each command can have a different path. Therefore the command entered in the "Set Build Menu Commands" dialog must include any path it requires. Any command that reverts to default will still use the "make" command path so that it operates as usual.
OK.
At the moment there is no way to reset project commands to default without hand editing the project file.Setting them to blank does just that, it doesn't reset to default. A "reset to default" button will be added.
Hmm, why not just use the default if they're blank?
Regards, Nick