[Lazarus] Configure "Build Lazarus" was weird but no more...

Juha Manninen juha.manninen at phnet.fi
Mon Dec 14 23:09:11 CET 2009


On maanantai, 14. joulukuuta 2009 23:13:48 dmitry boyarintsev wrote:
> On Mon, Dec 14, 2009 at 11:51 PM, Juha Manninen <juha.manninen at phnet.fi> 
wrote:
> > IMO this combobox is better than the original 2 tab-pages. This way you
> > get visual feedback of the changes. The original tab-control was just
> > non- intuitive.
> 
> AFAIK, 2 tabs are actually 2 independent build options dialog.
> Settings on one tab won't effect another tab... Personally I never
> used "Quick build options"

Yes they affect each other very much!
This really proves how non-intuitive this UI is. You didn't even realize how 
it works because there was no visual feedback. I was also scratching my head 
for some time when learning about this dialog.


> > What if someone wants to define and save new build options?
> > That was the idea of my configurable build profiles.
> 
> On the current Adv.Build.Dlg there's a button bellow "Save settings".
> It just stores the build options globally, so it's possible to store
> configuration without building.
> 
> Maybe 3 additional buttons can be added: "Save", "Save As" and
> "Delete", to manage custom settings. (i.e. next to the combobox)
> And "Save settings" are renamed to "Close". The button closes the
> dialog silently stores the latest build options as default. On the
> next dialog opening the last "closed" or "built" options are shown.
> 
> IMHO: There's no need in saving/storing additional build options.
> Storing the last saved (or built) options is enough (It is now);

Yes, there is a need for saving build options. The Quick Options page is a 
half-baked solution for that. It is predefined and works for some people but 
not for many other people.
You want to add buttons? My Build Profile window already has buttons for 
adding, deleting and renaming.
Please look at my screenshots. I already defined "Build GTK2 Lazarus" and 
"Build QT Lazarus" and I actually used them. Other "advanced" developers have 
more varied and complicated settings (I guess).


> > There is one problem with your solution though: It shows all the controls
> > all the time. The original idea with Quick Build Selections was to hide
> > the "advanced" options. My solution has a "Hide Details" button for that.
> 
> And that's what i don't like about your idea. I see no reason in
> "Hide" or "Show" details at all.
> 
> a) IDE developers would always use show details (to control components
>  rebuilt). b) Even if they don't change them, they can always be sure about
>  what will be rebuilt.
> c) The usual Lazarus user, would never use this dialog (i.e.
> installing a package rebuilds the IDE without showing the dialog)
> d) If a user ever needs the building dialog, he/she would be
> interested in the "details" anyway (simple human curiosity)
> e) It would be easier to explain a user how to use the build dialog,
> if the dialog is single-step, rather than 2 steps (the main form and
> the details)
> f) There's no other dialog in the IDE that uses "hide/show details"
> style. Every dialog in the IDE, even overloaded with controls, shows
> all possible options at once.

Not every dialog shows all options at once. Look at Environment->Options for 
example. It has a list of topics or headers at left side and then a details 
pane (or page) for the actual options.
True, there is no "Hide Details" button but it would not make sense in that 
context. When using Build Profiles it makes sense.

I would like to agree with your other points.
However some people wanted to hide the "advanced" page and created the quick 
options page. So there apparently is a need for a simple UI for build options.


> Once again: I'm not the one to reject or accept your patch. I'm just
> sharing my thoughts and I'm NOT telling that "hide/show" is bad idea
> at all.

I think this "Hide Details" button is not very essential. It just gives more 
choices for different use cases. If you don't need it then don't use it.

More essential is the concept of configurable profiles.
Imagine a developer who tests libraries or Lazarus itself on different 
platforms and OS and CPU. I could imagine they have use for this.


Regards,
Juha




More information about the Lazarus mailing list