<br><br><div class="gmail_quote">2008/11/6 Nick Treleaven <span dir="ltr"><<a href="mailto:nick.treleaven@btinternet.com">nick.treleaven@btinternet.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
Sorry for the delay. (As I said in another mail, my net connection was<br>
broken for 2 weeks.)<br>
<div class="Ih2E3d"><br>
On Fri, 17 Oct 2008 19:30:03 +1100<br>
"Lex Trotman" <<a href="mailto:elextr@gmail.com">elextr@gmail.com</a>> wrote:<br>
<br>
</div><div class="Ih2E3d">> I have committed a prototype of the first part of the changes<br>
> proposed for the build system to<br>
> the build system branch.<br>
<br>
</div>Cool. I just made some minor commits to fix a warning and refactor<br>
some GUI code.</blockquote><div><br>Ok, warning that this is still a prototype, GUI code is still being changed to get the full functionality shown in the geany.txt I committed recently.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
BTW there are some formatting issues:<br>
1. Some spaces instead of tabs being used for indentation (e.g. in<br>
build.c).<br>
2. Spacing - instead of:<br>
<br>
if( blah!=foo )some_func( foo );<br>
<br>
use:<br>
<br>
if (blah != foo) some_func(foo);<br>
<br>
Please use the existing code style (see HACKING).</blockquote><div><br>Do you have a configuration for one of the usual source formatters to get the format you want, I AM going to continue to get it wrong because it is different to the standard format I use all day every day at work. The fingers just automatically put spaces on the other side of the ( ) etc. Even if I'm thinking about it, it will get done wrong from time to time ;-).  You are correct that it should be consistent within Geany so if there is a formatter that will generate the format used throughout Geany I will ensure that I use it.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<br>
The indentation is the most important one, could you fix this please?<br>
</blockquote><div><br>Well, all editing has been done in Geany with indentation set to tabs so I don't know where the problem came from??? but I can fix it. <br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
About the code:<br>
1. No real need to check if ptr is null before g_free(ptr).</blockquote><div><br>Ok <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
2. I think we should move the new build_* GeanyProject fields to a<br>
GeanyProjectPrivate struct, similar to<br>
GeanyDocumentPrivate/GeanyFiletypePrivate. The implementation of those<br>
fields might change, so they shouldn't be in the plugin API. I can make<br>
this change unless someone disagrees.<br>
<div class="Ih2E3d"></div></blockquote><div><br>Don't worry, I'll do that because I have already made some changes in that area to support the full functionality.  No point in doing it on the prototype when there are more changes to come.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
> If a project is open the dialog will have extra fields to provide<br>
> labels and commands to replace<br>
> the "Make" series of menu items on the build menu.<br>
<br>
</div>(I guess replacing the make menu items is not implemented yet.)</blockquote><div><br>Did you have a project open? the prototype only adds these items to the menu or the build commands dialog when a project is open. The full version will also show them for preferences which isn't implemented in this version. Coming real soon now though :-) maybe <img goomoji="32B" style="margin: 0pt 0.2ex; vertical-align: middle;" src="cid:32B@goomoji.gmail">  <br>
<br>And underscores in the user defined labels will set the accelerator correctly too.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div class="Ih2E3d"><br>
> On the menu any<br>
> label or command which<br>
> is not set will revert to the default (the same as without any<br>
> project).  By default no labels or<br>
> commands are set in the project file, so unless the user does<br>
> something (sets them) there<br>
> will be no change. These labels and commands are saved and restored<br>
> with the project file.<br>
<br>
</div>Maybe by default they should be set to the default make command<br>
labels and commands. Otherwise the dialog is unintuitive - just empty<br>
boxes.</blockquote><div><br>The full version will work that way, see the manual.  Note these are generated if there is nothing saved in the project or preferences.  That way the menu label strings are translated like any string is.  It is assumed that when a user edits a label they will do it in the language they want and so no translation is needed for the label saved in project or preferences, but it is important that there is no default value saved that isn't translated.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div class="Ih2E3d"><br>
> Note when using commands set in the project file, the "make" command<br>
> path in tools preferences<br>
> is not used so that each command can have a different path. Therefore<br>
> the command entered in<br>
> the "Set Build Menu Commands" dialog must include any path it<br>
> requires.  Any command that<br>
> reverts to default will still use the "make" command path so that it<br>
> operates as usual.<br>
<br>
</div>OK.<br>
<div class="Ih2E3d"><br>
> At the moment there is no way to reset project commands to default<br>
> without hand editing the<br>
> project file.Setting them to blank does just that, it doesn't reset to<br>
> default.  A "reset to default"<br>
> button will be added.<br>
<br>
</div>Hmm, why not just use the default if they're blank?</blockquote><div><br>Because  in the full version blank means don't show this menu item, this makes the build commands operate the same as the filetype commands which do not show unused commands.<br>
<br>NOTE: this brings up one significant change needed for the full version, the can compile, can build, flags of the filetype will no longer be used since the existance (or not) of such a command is what determines if a menu item is shown.  Otherwise users would not be able to add filetype commands to unused filetype menu items.  So in the full version, a commandwhich is not set will mean use the default whilst one set to nothing (item name) will mean don't use. Have to allow 'command set to nothing' just in case someone wants to use the make custom dialog to type the whole command, possibly useful for occasionally used commands whilst still capturing and parsing the command output.<br>
<br>But are there any other important uses of these flags besides controlling what is shown in the build menu?<br> <br><br>Best Regards<br>Lex<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
Regards,<br>
<font color="#888888">Nick<br>
</font><div><div></div><div class="Wj3C7c">_______________________________________________<br>
Geany-devel mailing list<br>
<a href="mailto:Geany-devel@uvena.de">Geany-devel@uvena.de</a><br>
<a href="http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel" target="_blank">http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel</a><br>
</div></div></blockquote></div><br>