RiverWare Bug Report #3985 -- edit 10-12-2006 [Phil -- bug list]
"Accounting system config dialog can trash slots"

The "[X] Apply To All Existing Accounts" (checkbox) function currently applies ALL ACCOUNT SLOT configurations to all Accounts in the model. (See the bottom panel of the "Before changes" screenshot).

This is rarely what the user wants to happen. More likely, the user expects that only the changed Account Slot configurations would be applied to all existing accounts.

There should be a visual indication of which Account Slot configurations will be applied to all Account Slots. By default, that set of Slots should be the items which have been changed (in the course of the "current use" of the dialog) -- but the user should be able to add or remove Slot configurations from that set.

I propose the following changes, modeled loosely after some of the provisions of the Object Account Summary Dialog's selection ListView panels (in particular, the TimeStep Selection Panel -- more or less):

  1. Use of QCheckListItems (instead of QListViewItems) -- i.e. with a checkbox indicating inclusion or exclusion within the set of Slot configurations to be applied to all Account Slots (and potentially, any other relevant future operations).
     
  2. A checkbox to show or hide unchecked items.

Also, the automatic vertical geometry management of the main sections of the Water Accounting System Configuration allows for viewing of only a very small subset of the Slot Configurations. (Notice from the vertical scroll bar that less than 20% of the Slot Config items are simultaneously viewable -- and this is with the window adjusted to about the full height of the screen). There is no usefulness to viewing the different configuration sections along with the Slot Configuration section. The sections should be put in separate tabbed panes. The Accounting Types ListViews can also use more vertical space, so I propose three tabbed panes:

  1. General (mostly, the Date/Time Spinners)
  2. Types (Water Owners, Water Types, Release Types, Destination Types).
  3. Account Slots

The enabledness of the Tabs and the "OK" and "Apply" buttons would be managed in a manner similar to that of the Open Account dialog: When there are any un-applied changes in any of the tabs, only those tabs with changes are active (that is -- generally only one tab, unless changes have side-effects on properties on other tabs). The user must apply the changes before moving on to a different tab ... or Cancel the dialog. (I believe that this will not apply to the General tab -- there doesn't seem to be any "applyable" settings there). [For an implementation example, see QtAccounting/OpenAccountDlg.cpp].

Screenshots:

Before changes:

Old Water Account System Config dialog box

Reference:
Obj Acct Sum / Tstep Sel

Reference:
Open Acct Dlg / Units Tab
in modified (un-applied) state.