Re: [Geany-devel] More Per-Project Configuration Options

2012-07-11 Thread Braden Walters
I'm pretty sure my last email didn't go through because I did not 
receive it, so I will resend it. If it did actually go through the first 
time, I am sorry for the duplicate.


On 07/10/2012 02:56 AM, Thomas Martitz wrote:

Am 10.07.2012 07:37, schrieb Matthew Brush:

On 12-07-09 04:57 PM, Braden Walters wrote:
Hi. I noticed a problem that affected me back in 0.2x that 
thankfully is

(mostly) solved in 1.22. When I say mostly, I mean it fixes how the
problem affects me right now, but possibly not for others, and I feel
this may also affect me again eventually. The problem I noticed is that
not all configuration options that may change from project-to-project
are actually settings you can change on a per-project basis. The 
options

that concern me the most are those that deal with the format of the
saved file (line ending characters, new line at end of file (fixed in
1.22), tabs/spaces (not a problem), file encoding). I'm interested in
the developers' opinions on this.

Someone in IRC also mentioned that if many more options become
configurable per-project, the global application options might be
rendered useless (as project settings will override everything). 
Perhaps
this could be solved by having a way to reset individual project 
options

(perhaps a list of all things that have been changed, and a Reset to
Global button to reset that individual item so it does not appear in
that project's file).

I'm curious what the core developers' opinion is on this. If it sounds
good, I'd definitely be interested in helping make it possible 
(although

I don't know the Geany code base, I could learn my way around relevant
parts).


Hi,

What about just adding new settings to the project config file 
without messing with the UI? Those who need them can RTM and see what 
settings are available, those who are content with what exists 
currently can go on happily ever after. You can add as many project 
preferences as you care to code and document this way.



I hate needing to edit config files directly. This is not user friendly.




If a user sets something in the project config file, it overrides the 
global config file when that project is open, end of story, no UI 
tricks needed to tell her this, it's just how it is (documented).


The other way(s) discussed seem like they would Eclipse the UI's 
usability.





I actually quite like how Eclipse handles this, it should be 
considered for Geany too:


Each global settings tab (given it can be overridden by a project) has 
a line at the top saying that it can be overridden on a per-project 
basis.


Then, for each project, each tab in the project preferences have a 
checkbox at the top that choose whether to inherit from global 
settings or override all settings in the tab. Unchecking the checkbox 
immediatly applies the global settings to the project. Checking the 
box prefills the settings with the values from the current global 
settings but can be changed obviously.


Note that settings are grouped in tabs, so there is not one checkbox 
per setting, but per tab.


This UI makes it easy to discover if stuff can be/is overriden by a 
project. It makes it easy to revert to global settings. It makes it 
possible without a massive amount new per-setting checkboxes to decide 
whether to override.


PS: Eclipse's way to handle per-file settings is also quite OK IMO but 
I guess that's another topic.


Best regards.
___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel


That actually sounds like a good idea. Here's another idea I had last 
night. If there is no context menu for any item in the settings, that 
could be added for each item. If you change anything to where it'd be 
included in the project configuration and override the global settings, 
perhaps change the colour of the option's label or create some simple 
way of making this noticeable. Then, if the user wants to revert to the 
global settings, he/she could secondary click and select Restore to 
Global Settings. This would allow full customization (you don't have to 
do it on a per-tab basis) and it's not very intrusive into the UI.


___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel


Re: [Geany-devel] More Per-Project Configuration Options

2012-07-10 Thread Thomas Martitz

Am 10.07.2012 07:37, schrieb Matthew Brush:

On 12-07-09 04:57 PM, Braden Walters wrote:

Hi. I noticed a problem that affected me back in 0.2x that thankfully is
(mostly) solved in 1.22. When I say mostly, I mean it fixes how the
problem affects me right now, but possibly not for others, and I feel
this may also affect me again eventually. The problem I noticed is that
not all configuration options that may change from project-to-project
are actually settings you can change on a per-project basis. The options
that concern me the most are those that deal with the format of the
saved file (line ending characters, new line at end of file (fixed in
1.22), tabs/spaces (not a problem), file encoding). I'm interested in
the developers' opinions on this.

Someone in IRC also mentioned that if many more options become
configurable per-project, the global application options might be
rendered useless (as project settings will override everything). Perhaps
this could be solved by having a way to reset individual project options
(perhaps a list of all things that have been changed, and a Reset to
Global button to reset that individual item so it does not appear in
that project's file).

I'm curious what the core developers' opinion is on this. If it sounds
good, I'd definitely be interested in helping make it possible (although
I don't know the Geany code base, I could learn my way around relevant
parts).


Hi,

What about just adding new settings to the project config file without 
messing with the UI? Those who need them can RTM and see what settings 
are available, those who are content with what exists currently can go 
on happily ever after. You can add as many project preferences as you 
care to code and document this way.



I hate needing to edit config files directly. This is not user friendly.




If a user sets something in the project config file, it overrides the 
global config file when that project is open, end of story, no UI 
tricks needed to tell her this, it's just how it is (documented).


The other way(s) discussed seem like they would Eclipse the UI's 
usability.





I actually quite like how Eclipse handles this, it should be considered 
for Geany too:


Each global settings tab (given it can be overridden by a project) has a 
line at the top saying that it can be overridden on a per-project basis.


Then, for each project, each tab in the project preferences have a 
checkbox at the top that choose whether to inherit from global settings 
or override all settings in the tab. Unchecking the checkbox immediatly 
applies the global settings to the project. Checking the box prefills 
the settings with the values from the current global settings but can be 
changed obviously.


Note that settings are grouped in tabs, so there is not one checkbox per 
setting, but per tab.


This UI makes it easy to discover if stuff can be/is overriden by a 
project. It makes it easy to revert to global settings. It makes it 
possible without a massive amount new per-setting checkboxes to decide 
whether to override.


PS: Eclipse's way to handle per-file settings is also quite OK IMO but I 
guess that's another topic.


Best regards.
___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel


Re: [Geany-devel] More Per-Project Configuration Options

2012-07-10 Thread Braden Walters

On 07/10/2012 02:56 AM, Thomas Martitz wrote:

Am 10.07.2012 07:37, schrieb Matthew Brush:

On 12-07-09 04:57 PM, Braden Walters wrote:
Hi. I noticed a problem that affected me back in 0.2x that 
thankfully is

(mostly) solved in 1.22. When I say mostly, I mean it fixes how the
problem affects me right now, but possibly not for others, and I feel
this may also affect me again eventually. The problem I noticed is that
not all configuration options that may change from project-to-project
are actually settings you can change on a per-project basis. The 
options

that concern me the most are those that deal with the format of the
saved file (line ending characters, new line at end of file (fixed in
1.22), tabs/spaces (not a problem), file encoding). I'm interested in
the developers' opinions on this.

Someone in IRC also mentioned that if many more options become
configurable per-project, the global application options might be
rendered useless (as project settings will override everything). 
Perhaps
this could be solved by having a way to reset individual project 
options

(perhaps a list of all things that have been changed, and a Reset to
Global button to reset that individual item so it does not appear in
that project's file).

I'm curious what the core developers' opinion is on this. If it sounds
good, I'd definitely be interested in helping make it possible 
(although

I don't know the Geany code base, I could learn my way around relevant
parts).


Hi,

What about just adding new settings to the project config file 
without messing with the UI? Those who need them can RTM and see what 
settings are available, those who are content with what exists 
currently can go on happily ever after. You can add as many project 
preferences as you care to code and document this way.



I hate needing to edit config files directly. This is not user friendly.




If a user sets something in the project config file, it overrides the 
global config file when that project is open, end of story, no UI 
tricks needed to tell her this, it's just how it is (documented).


The other way(s) discussed seem like they would Eclipse the UI's 
usability.





I actually quite like how Eclipse handles this, it should be 
considered for Geany too:


Each global settings tab (given it can be overridden by a project) has 
a line at the top saying that it can be overridden on a per-project 
basis.


Then, for each project, each tab in the project preferences have a 
checkbox at the top that choose whether to inherit from global 
settings or override all settings in the tab. Unchecking the checkbox 
immediatly applies the global settings to the project. Checking the 
box prefills the settings with the values from the current global 
settings but can be changed obviously.


Note that settings are grouped in tabs, so there is not one checkbox 
per setting, but per tab.


This UI makes it easy to discover if stuff can be/is overriden by a 
project. It makes it easy to revert to global settings. It makes it 
possible without a massive amount new per-setting checkboxes to decide 
whether to override.


PS: Eclipse's way to handle per-file settings is also quite OK IMO but 
I guess that's another topic.


Best regards.
___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel


That actually sounds like a good idea. Here's another idea I had last 
night. If there is no context menu for any item in the settings, that 
could be added for each item. If you change anything to where it'd be 
included in the project configuration and override the global settings, 
perhaps change the colour of the option's label or create some simple 
way of making this noticeable. Then, if the user wants to revert to the 
global settings, he/she could secondary click and select Restore to 
Global Settings. This would allow full customization (you don't have to 
do it on a per-tab basis) and it's not very intrusive into the UI.


___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel


Re: [Geany-devel] More Per-Project Configuration Options

2012-07-10 Thread Matthew Brush

On 12-07-09 11:56 PM, Thomas Martitz wrote:

Am 10.07.2012 07:37, schrieb Matthew Brush:

On 12-07-09 04:57 PM, Braden Walters wrote:

Hi. I noticed a problem that affected me back in 0.2x that thankfully is
(mostly) solved in 1.22. When I say mostly, I mean it fixes how the
problem affects me right now, but possibly not for others, and I feel
this may also affect me again eventually. The problem I noticed is that
not all configuration options that may change from project-to-project
are actually settings you can change on a per-project basis. The options
that concern me the most are those that deal with the format of the
saved file (line ending characters, new line at end of file (fixed in
1.22), tabs/spaces (not a problem), file encoding). I'm interested in
the developers' opinions on this.

Someone in IRC also mentioned that if many more options become
configurable per-project, the global application options might be
rendered useless (as project settings will override everything). Perhaps
this could be solved by having a way to reset individual project options
(perhaps a list of all things that have been changed, and a Reset to
Global button to reset that individual item so it does not appear in
that project's file).

I'm curious what the core developers' opinion is on this. If it sounds
good, I'd definitely be interested in helping make it possible (although
I don't know the Geany code base, I could learn my way around relevant
parts).


Hi,

What about just adding new settings to the project config file without
messing with the UI? Those who need them can RTM and see what settings
are available, those who are content with what exists currently can go
on happily ever after. You can add as many project preferences as you
care to code and document this way.



I hate needing to edit config files directly. This is not user friendly.



I never meant to imply it would be user friendly (ie. like something 
my Grandma could use), just that it would avoid messing with the UI 
until most of the coding is actually done. In the future some (or all) 
of the preferences could be moved to the GUI and we could discuss the 
colour of the bikeshed at that point once the code is actually working.


Besides, it's not like it's unheard of for Geany (or even other editors 
like ST2) to make you edit config files.






If a user sets something in the project config file, it overrides the
global config file when that project is open, end of story, no UI
tricks needed to tell her this, it's just how it is (documented).

The other way(s) discussed seem like they would Eclipse the UI's
usability.




I actually quite like how Eclipse handles this, it should be considered
for Geany too:



Last time I tried it I got very confused and was overwhelmed with the 
sheer volume of user-interface elements I was seeing. It may be logical 
but it's not very simple, IMO.



Each global settings tab (given it can be overridden by a project) has a
line at the top saying that it can be overridden on a per-project basis.

Then, for each project, each tab in the project preferences have a
checkbox at the top that choose whether to inherit from global settings
or override all settings in the tab. Unchecking the checkbox immediatly
applies the global settings to the project. Checking the box prefills
the settings with the values from the current global settings but can be
changed obviously.

Note that settings are grouped in tabs, so there is not one checkbox per
setting, but per tab.

This UI makes it easy to discover if stuff can be/is overriden by a
project. It makes it easy to revert to global settings. It makes it
possible without a massive amount new per-setting checkboxes to decide
whether to override.

PS: Eclipse's way to handle per-file settings is also quite OK IMO but I
guess that's another topic.

Best regards.
___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel



Cheers,
Matthew Brush
___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel


Re: [Geany-devel] More Per-Project Configuration Options

2012-07-09 Thread Lex Trotman
On 10 July 2012 09:57, Braden Walters meobl...@aol.com wrote:
 Hi. I noticed a problem that affected me back in 0.2x that thankfully is
 (mostly) solved in 1.22. When I say mostly, I mean it fixes how the problem
 affects me right now, but possibly not for others, and I feel this may also
 affect me again eventually. The problem I noticed is that not all
 configuration options that may change from project-to-project are actually
 settings you can change on a per-project basis. The options that concern me
 the most are those that deal with the format of the saved file (line ending
 characters, new line at end of file (fixed in 1.22), tabs/spaces (not a
 problem), file encoding). I'm interested in the developers' opinions on
 this.


The right answer to this is that everything should be able to be
configured in a project, but that not everything has to be.  This just
means that project settings override global/user ones.  But it does
make the UI more complex, it needs another preferences dialog for
projects with an extra checkbox per field which indicates if that
value is to be saved in the project file.

This is the way the build system settings work ATM, two dialogs, and
in an effort to reduce confusion the user settings are greyed out if
the setting is set in the project file.  But it ends up needing a very
complex UI and still not all build settings supported by the system
are configurable by UI, no agreement could be reached over how to make
it non-threatening for noobs but still powerful for advanced users.
And ocassionally it provakes screems of confusion, though usually from
those who havn't RTFM and wiki.

All these problems would apply to the whole preferences system if it
worked this way.

Also it would require consideration of how this would interact with
plugin prefs.  How much visibility would plugins need and how much
more complicated would it make plugins handling of their prefs?

On the implementation side, not all of Geany prefs are handled in one
place, so it would probably mean touching quite a lot of the system.

 Someone in IRC also mentioned that if many more options become configurable
 per-project, the global application options might be rendered useless (as
 project settings will override everything). Perhaps this could be solved by
 having a way to reset individual project options (perhaps a list of all
 things that have been changed, and a Reset to Global button to reset that
 individual item so it does not appear in that project's file).

Just a save in project checkbox, that lets you save/unsave it w/o
changing the value.


 I'm curious what the core developers' opinion is on this. If it sounds good,
 I'd definitely be interested in helping make it possible (although I don't
 know the Geany code base, I could learn my way around relevant parts).

The principle is fine, but the build system experience is that the
practice is harder to balance simplicity with power.  Also, whilst the
capabilities are absolutely essential for a few use-cases, most of the
time it will go unused.

Therefore given the effort required and the likely intrusiveness of
the implementation, I don't think it should be implemented at the
moment, unless someone wants to do it in a separate fork and can get
comprehensive testing of that fork without merging it back into Geany.

Cheers
Lex


 ___
 Geany-devel mailing list
 Geany-devel@uvena.de
 https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel


Re: [Geany-devel] More Per-Project Configuration Options

2012-07-09 Thread Braden Walters
Regarding the UI, I don't think it's necessary to put a checkbox next to 
everything. You could include a separate tab (something like Details) 
which would then have a list of all changes made to the individual 
project. And then a button to remove that and restore to defaults. This 
would simplify at least the UI, because it'd just be a subset of the 
global preferences with an extra tab for the Details (or whatever it'd 
be called). Does this concept make sense?


Regarding plugins. That could be a problem. Perhaps at first plugin 
preferences should not be available on a per-project basis, as I could 
imagine that could be something quite complex to tag onto an already big 
job. Or is there another problem regarding plugins that I am not 
recognizing?


On 07/09/2012 10:26 PM, Lex Trotman wrote:

On 10 July 2012 09:57, Braden Walters meobl...@aol.com wrote:

Hi. I noticed a problem that affected me back in 0.2x that thankfully is
(mostly) solved in 1.22. When I say mostly, I mean it fixes how the problem
affects me right now, but possibly not for others, and I feel this may also
affect me again eventually. The problem I noticed is that not all
configuration options that may change from project-to-project are actually
settings you can change on a per-project basis. The options that concern me
the most are those that deal with the format of the saved file (line ending
characters, new line at end of file (fixed in 1.22), tabs/spaces (not a
problem), file encoding). I'm interested in the developers' opinions on
this.


The right answer to this is that everything should be able to be
configured in a project, but that not everything has to be.  This just
means that project settings override global/user ones.  But it does
make the UI more complex, it needs another preferences dialog for
projects with an extra checkbox per field which indicates if that
value is to be saved in the project file.

This is the way the build system settings work ATM, two dialogs, and
in an effort to reduce confusion the user settings are greyed out if
the setting is set in the project file.  But it ends up needing a very
complex UI and still not all build settings supported by the system
are configurable by UI, no agreement could be reached over how to make
it non-threatening for noobs but still powerful for advanced users.
And ocassionally it provakes screems of confusion, though usually from
those who havn't RTFM and wiki.

All these problems would apply to the whole preferences system if it
worked this way.

Also it would require consideration of how this would interact with
plugin prefs.  How much visibility would plugins need and how much
more complicated would it make plugins handling of their prefs?

On the implementation side, not all of Geany prefs are handled in one
place, so it would probably mean touching quite a lot of the system.


Someone in IRC also mentioned that if many more options become configurable
per-project, the global application options might be rendered useless (as
project settings will override everything). Perhaps this could be solved by
having a way to reset individual project options (perhaps a list of all
things that have been changed, and a Reset to Global button to reset that
individual item so it does not appear in that project's file).

Just a save in project checkbox, that lets you save/unsave it w/o
changing the value.


I'm curious what the core developers' opinion is on this. If it sounds good,
I'd definitely be interested in helping make it possible (although I don't
know the Geany code base, I could learn my way around relevant parts).

The principle is fine, but the build system experience is that the
practice is harder to balance simplicity with power.  Also, whilst the
capabilities are absolutely essential for a few use-cases, most of the
time it will go unused.

Therefore given the effort required and the likely intrusiveness of
the implementation, I don't think it should be implemented at the
moment, unless someone wants to do it in a separate fork and can get
comprehensive testing of that fork without merging it back into Geany.

Cheers
Lex



___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel

___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel



___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel


Re: [Geany-devel] More Per-Project Configuration Options

2012-07-09 Thread Lex Trotman
On 10 July 2012 12:34, Braden Walters meobl...@aol.com wrote:
 Regarding the UI, I don't think it's necessary to put a checkbox next to
 everything. You could include a separate tab (something like Details)
 which would then have a list of all changes made to the individual project.
 And then a button to remove that and restore to defaults. This would
 simplify at least the UI, because it'd just be a subset of the global
 preferences with an extra tab for the Details (or whatever it'd be
 called). Does this concept make sense?

Its not just settings that have different values that should be saved
in projects. Ones that you want to make sure that they do *not* change
when user settings change also need to be stored (that was covered on
IRC).

Therefore it still needs the checkbox per setting (or some other
boolean UI mechanism), and it should be on the same page so you can
see which are set by the project and which are not.


 Regarding plugins. That could be a problem. Perhaps at first plugin
 preferences should not be available on a per-project basis, as I could
 imagine that could be something quite complex to tag onto an already big
 job. Or is there another problem regarding plugins that I am not
 recognizing?

Well plugins are maintained by people outside the project, with
varying skills and experience, time availability etc.  The Geany
project can't force plugins to do anything, so any changes need to
work as-is unless the plugin maintainer opts in to using the extra
functionality.  This is a decision by the *plugin* not Geany and so
Geany has to somehow notice and accomodate that decision as plugins
are loaded.

Cheers
Lex




 On 07/09/2012 10:26 PM, Lex Trotman wrote:

 On 10 July 2012 09:57, Braden Walters meobl...@aol.com wrote:

 Hi. I noticed a problem that affected me back in 0.2x that thankfully is
 (mostly) solved in 1.22. When I say mostly, I mean it fixes how the
 problem
 affects me right now, but possibly not for others, and I feel this may
 also
 affect me again eventually. The problem I noticed is that not all
 configuration options that may change from project-to-project are
 actually
 settings you can change on a per-project basis. The options that concern
 me
 the most are those that deal with the format of the saved file (line
 ending
 characters, new line at end of file (fixed in 1.22), tabs/spaces (not a
 problem), file encoding). I'm interested in the developers' opinions on
 this.

 The right answer to this is that everything should be able to be
 configured in a project, but that not everything has to be.  This just
 means that project settings override global/user ones.  But it does
 make the UI more complex, it needs another preferences dialog for
 projects with an extra checkbox per field which indicates if that
 value is to be saved in the project file.

 This is the way the build system settings work ATM, two dialogs, and
 in an effort to reduce confusion the user settings are greyed out if
 the setting is set in the project file.  But it ends up needing a very
 complex UI and still not all build settings supported by the system
 are configurable by UI, no agreement could be reached over how to make
 it non-threatening for noobs but still powerful for advanced users.
 And ocassionally it provakes screems of confusion, though usually from
 those who havn't RTFM and wiki.

 All these problems would apply to the whole preferences system if it
 worked this way.

 Also it would require consideration of how this would interact with
 plugin prefs.  How much visibility would plugins need and how much
 more complicated would it make plugins handling of their prefs?

 On the implementation side, not all of Geany prefs are handled in one
 place, so it would probably mean touching quite a lot of the system.

 Someone in IRC also mentioned that if many more options become
 configurable
 per-project, the global application options might be rendered useless (as
 project settings will override everything). Perhaps this could be solved
 by
 having a way to reset individual project options (perhaps a list of all
 things that have been changed, and a Reset to Global button to reset
 that
 individual item so it does not appear in that project's file).

 Just a save in project checkbox, that lets you save/unsave it w/o
 changing the value.

 I'm curious what the core developers' opinion is on this. If it sounds
 good,
 I'd definitely be interested in helping make it possible (although I
 don't
 know the Geany code base, I could learn my way around relevant parts).

 The principle is fine, but the build system experience is that the
 practice is harder to balance simplicity with power.  Also, whilst the
 capabilities are absolutely essential for a few use-cases, most of the
 time it will go unused.

 Therefore given the effort required and the likely intrusiveness of
 the implementation, I don't think it should be implemented at the
 moment, unless someone wants to do it in a separate fork 

Re: [Geany-devel] More Per-Project Configuration Options

2012-07-09 Thread Braden Walters
Well, here's how I imagined it. Suppose you have global settings and you 
have it set to UNIX line endings and end files with a new line. You open 
a new project and by default, it's set to UNIX line endings and end 
files with a new line, but this _does not_ appear in the projects file 
nor in the list on what I below referred to as the Details tab. If at 
this point you change the global settings, settings in the project 
change as well (because nothing is actually defined in the project 
file). Now suppose you switch to Windows line endings in the project. 
Now it will add an entry to the project file, and this will also appear 
in the Details list as Default end of line characters. If you change 
the global settings for line endings, this would not change the settings 
for this project (the project would still override the settings, because 
it's still defined in the project file). If you, in the project 
settings, change back to UNIX line endings, you will now have UNIX line 
endings in the project file, Default end of line characters will still 
appear in the Details list, and it'll still override any changes in the 
global configuration. To make it stop overriding changes in the global 
configuration, you would go to the Details list, select the 
configuration option, and select Restore to Global Configuration or 
something like this. This would remove that item from the project 
configuration and it'd return to the original state.


Does this make sense? Is this possible and would this be both user 
friendly and feasible to implement?


On 07/09/2012 10:49 PM, Lex Trotman wrote:

On 10 July 2012 12:34, Braden Walters meobl...@aol.com wrote:

Regarding the UI, I don't think it's necessary to put a checkbox next to
everything. You could include a separate tab (something like Details)
which would then have a list of all changes made to the individual project.
And then a button to remove that and restore to defaults. This would
simplify at least the UI, because it'd just be a subset of the global
preferences with an extra tab for the Details (or whatever it'd be
called). Does this concept make sense?

Its not just settings that have different values that should be saved
in projects. Ones that you want to make sure that they do *not* change
when user settings change also need to be stored (that was covered on
IRC).

Therefore it still needs the checkbox per setting (or some other
boolean UI mechanism), and it should be on the same page so you can
see which are set by the project and which are not.


Regarding plugins. That could be a problem. Perhaps at first plugin
preferences should not be available on a per-project basis, as I could
imagine that could be something quite complex to tag onto an already big
job. Or is there another problem regarding plugins that I am not
recognizing?

Well plugins are maintained by people outside the project, with
varying skills and experience, time availability etc.  The Geany
project can't force plugins to do anything, so any changes need to
work as-is unless the plugin maintainer opts in to using the extra
functionality.  This is a decision by the *plugin* not Geany and so
Geany has to somehow notice and accomodate that decision as plugins
are loaded.

Cheers
Lex




On 07/09/2012 10:26 PM, Lex Trotman wrote:

On 10 July 2012 09:57, Braden Walters meobl...@aol.com wrote:

Hi. I noticed a problem that affected me back in 0.2x that thankfully is
(mostly) solved in 1.22. When I say mostly, I mean it fixes how the
problem
affects me right now, but possibly not for others, and I feel this may
also
affect me again eventually. The problem I noticed is that not all
configuration options that may change from project-to-project are
actually
settings you can change on a per-project basis. The options that concern
me
the most are those that deal with the format of the saved file (line
ending
characters, new line at end of file (fixed in 1.22), tabs/spaces (not a
problem), file encoding). I'm interested in the developers' opinions on
this.


The right answer to this is that everything should be able to be
configured in a project, but that not everything has to be.  This just
means that project settings override global/user ones.  But it does
make the UI more complex, it needs another preferences dialog for
projects with an extra checkbox per field which indicates if that
value is to be saved in the project file.

This is the way the build system settings work ATM, two dialogs, and
in an effort to reduce confusion the user settings are greyed out if
the setting is set in the project file.  But it ends up needing a very
complex UI and still not all build settings supported by the system
are configurable by UI, no agreement could be reached over how to make
it non-threatening for noobs but still powerful for advanced users.
And ocassionally it provakes screems of confusion, though usually from
those who havn't RTFM and wiki.

All these problems would apply to the whole preferences 

Re: [Geany-devel] More Per-Project Configuration Options

2012-07-09 Thread Matthew Brush

On 12-07-09 04:57 PM, Braden Walters wrote:

Hi. I noticed a problem that affected me back in 0.2x that thankfully is
(mostly) solved in 1.22. When I say mostly, I mean it fixes how the
problem affects me right now, but possibly not for others, and I feel
this may also affect me again eventually. The problem I noticed is that
not all configuration options that may change from project-to-project
are actually settings you can change on a per-project basis. The options
that concern me the most are those that deal with the format of the
saved file (line ending characters, new line at end of file (fixed in
1.22), tabs/spaces (not a problem), file encoding). I'm interested in
the developers' opinions on this.

Someone in IRC also mentioned that if many more options become
configurable per-project, the global application options might be
rendered useless (as project settings will override everything). Perhaps
this could be solved by having a way to reset individual project options
(perhaps a list of all things that have been changed, and a Reset to
Global button to reset that individual item so it does not appear in
that project's file).

I'm curious what the core developers' opinion is on this. If it sounds
good, I'd definitely be interested in helping make it possible (although
I don't know the Geany code base, I could learn my way around relevant
parts).


Hi,

What about just adding new settings to the project config file without 
messing with the UI? Those who need them can RTM and see what settings 
are available, those who are content with what exists currently can go 
on happily ever after. You can add as many project preferences as you 
care to code and document this way.


If a user sets something in the project config file, it overrides the 
global config file when that project is open, end of story, no UI tricks 
needed to tell her this, it's just how it is (documented).


The other way(s) discussed seem like they would Eclipse the UI's usability.

My $0.02

Cheers,
Matthew Brush
___
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel