[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.
Re: [lmi] Allow switching skin while lmi is running,
Greg Chicares <=