lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] Allow switching skin while lmi is running


From: Greg Chicares
Subject: Re: [lmi] Allow switching skin while lmi is running
Date: Mon, 30 May 2016 20:14:42 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.8.0

On 2016-05-30 14:04, Greg Chicares wrote:
> See
>   https://github.com/vadz/lmi/pull/27

Dialog updates pushed: 42f470e01c67ccb32b00fcbc967f4971b406b71d.

Dynamic skin selection was the hard part; adding other members of
class configurable_settings would be easy, and this is probably
the best time to add any that we want. Here's a list of that
class's members, along with some layout ideas.

----configurable_settings member---  --tab--    ----control type---
calculation_summary_columns_         view       array of comboboxes
use_builtin_calculation_summary_     view       checkbox
default_input_filename_              input      textctrl
skin_filename_                       input      listbox or combobox
print_directory_                     reports    textctrl
seconds_to_pause_between_printouts_  reports    spinctrl
spreadsheet_file_extension_          reports    textctrl
custom_input_0_filename_             custom     textctrl
custom_input_1_filename_             custom     textctrl
custom_output_0_filename_            custom     textctrl
custom_output_1_filename_            custom     textctrl
cgi_bin_log_filename_                internal   textctrl
libraries_to_preload_                internal   textctrl
offer_hobsons_choice_                internal   checkbox
xsl_fo_command_                      internal   textctrl

Now that "File | Preferences" shows multiple tabs, I shortened the
tab label "Calculation summary columns" to "View" to prevent it
from scrolling out of view when the other tab is selected. (IMO,
"Reports" suggests external files, and "Columns" would misleadingly
suggest that selections would apply to supplemental reports, so
"View" seemed preferable to those other ideas).

"View" really seems to belong on a tab of its own, particularly
because the array of comboboxes occupies so much space. The table
above proposes other possible tabs. First, we need to decide which,
if any, of these members we want to expose in this dialog. Starting
from the bottom, I think we want to keep the "internal" items hidden:

  cgi_bin_log_filename_: not used in production
  libraries_to_preload_: end users should use this only with our
                           explicit guidance (it really was important
                           for exactly one end user, once)
  offer_hobsons_choice_: we should withdraw this misfeature
  xsl_fo_command_: anyone who's qualified to change this would not
                           balk at editing XML by hand

And the "custom" items support exactly one broker, for whom the
defaults are already set appropriately. That leaves:

  default_input_filename_
  print_directory_
  seconds_to_pause_between_printouts_
  spreadsheet_file_extension_

which might be useful. Kim would have a better idea what end users
might actually want.

If we want to add a few more items, we'll need to consider whether
to put them on separate tabs as above (which would be sparse) or to
combine them (perhaps on today's "View" tab, whose skin-selection
listbox could be shrunk or replaced with a combobox...and whose
label would need to be changed, e.g. to "General").

I looked at class global_settings; the only option there that
might arguably be added to "File | Preferences" is data_directory,
but that might not be feasible because this dialog edits the file
  ${data_directory}/configurable_settings.xml
so there's a self-reference problem. I also looked at the "pyx"
and "idiosyncrasy" options and concluded that most of them are
hidden for good reasons:
  idiosyncrasyT is useful only for debugging
  idiosyncrasyV is pretty much obsolete
  idiosyncrasy_daily_interest_accounting would ideally be
    a member of class Input, just like the general-account rate
  idiosyncrasyZ and pyx=values_tsv would ideally be menu commands
This would be a good time to suggest anything else that we might
want to show on this dialog.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]