On Thu, Jun 10, 2010 at 17:39, Nick Treleaven nick.treleaven@btinternet.com wrote:
On Thu, 10 Jun 2010 17:24:39 +0200 Jiří Techet techet@gmail.com wrote:
- the GeanyProject structure should be private for the project
implementation and contain those things that are relevant to the session-project (I have similar private structure for my project) 2. app->project should contain a structure GeanyProjectSettings that contains only those members relevant for geany (from looking at the sources, it's mainly base_path - I've seen also file_name and build_filetypes_list, but I'm not sure if these are so much necessary). 3. plugins should be able to change the members of app->project (or just replace it)
BTW, Structure fields in the API are there to avoid having to add setter/getter functions.
I still think that Geany's project support should not be overridden by plugins, only augmented. E.g. maybe a plugin could disable session management, but Geany still decides when to open and close a project.
Can be, I have nothing against it. What I'm trying to say is that it should be this way (in OO terminology):
* there is a CoreProject class with the core project functionality geany requires. What I want is that CoreProject is different from the current SessionProject (I mean the current project support that I'd call session ;-), just a subset of it relevant for geany itself.
* there would be extensions of this core functionality - in OO terms, SessionProject, GProject and GeanyPrj would inherit from CoreProject
Otherwise it's a mess e.g. with project indentation settings.
Glad you said it first, I feel I have been too negative in the past two days ;-). I also don't understand why there are the "editor" options like maximal column width. This seems quite an arbitrary option taken from the preferences dialog. With such logic you could put almost anything from preferences into project. I would just remove it. (On the other hand I understand the indent options, they are definitely useful.)
Regards,
Jiri