RFC: refactoring window-register as widget-register +
containing window
Chris Lyttle
chris@wilddev.net
22 Nov 2001 20:18:00 -0800
--=-epDy5vQ5kvctPVyOCuJE
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
On Thu, 2001-11-22 at 15:14, Josh Sled wrote:
My comments on this are purely from an end user point of view. As
someone who is spending a lot of time looking at portions of the GnuCash
interface (while doing docs) this seems like a good time to comment on
some aspects of the UI. I would encourage you also to look at the GNOME
2.0 HIG http://developer.gnome.org/projects/gup/hig/draft_hig/ and
http://geocities.com/mpt_nz/ig2h.html
>
>
> RFC:
> Refactoring window-register into a composite widget and containing window.
>
>
> Proposal
> --------
>
> Each of the widget-register's contained UI sub-elts is exposed to the caller
> for modification; for instance, the window-register itself adds the following
> toolbar actions:
>
> . close
>
> . transfer
> . find
> . report
> . print
I feel that even in the main window-register we have to much space being
used. This results in a menubar that stretches across the screen. It
would be nice if we could either cut the size of the toolbar space used
down and/or have a toolbar that only showed text for items where it's
not clear what purpose they have. I have attached a file showing an
example of the sort of icon/text combination I'm thinking of.
(toolbar.png) In this example obviously the print icon itself is clear
enough to not need a text description (I used that as it was the easiest
icon to attach text too). This shows how we could use a text description
beside the icon to minimise screen use and leave other icons whose
purpose is clear without text descriptions. Tooltips can also make the
icon's purpose clearer.
>
> The popup menu, as well, will perhaps want to be modified by the caller; in
> the SX Editor, there is no menubar on the dialog... thus there is no menu bar
> for the actions which are currently in the window-register's Register, Edit
> and Transaction menus. A subset of the menu options provided by the
> window-register [such as modifying the display style, exposing cut/paste
> functionality] should be provided by the context/popup menu, or perhaps in
> the toolbar... but in any case, the caller will want to modify the existing
> menus where necessary to provide all appropriate functionality.
>
In general I think it a good thing to have only the menu items necessary
to use that piece of the register available.
>
> . Creation, by passing in the display_ledger to use, already configured
> for/with the appropriate type/Query.
>
> [ These are the common actions between the toolbar and popup menu... more
> importantly, they seem "common" to both uses of the register. ]
> . Enter
> . Cancel
> . Delete
> . Duplicate
> . Schedule
> . Split
> . Blank
> . Jump
> . Transfer
>
> . Style options
> . Basic, Auto, Journal
> . Double-line
>
> . Copy [split | txn]
> . Cut [split | txn]
> . Paste [split | txn]
>
> Unsupported
> -----------
>
> The following functionality will be supported by the caller, if necessary
> [read: the window-register will support these, as the SX-based callers won't
> use it]
>
> . Sorting
> . Date-range selection
> . Account editing/creation
> . Check/repair
> . Find
> . Report
> . Print
> . Invoice
> . Stock splitting
> . Reconciliation
>
I find it confusing that in the Register windows the menu that I would
expect to be the first one (Transaction) is the 4th. The menu's in
general in GnuCash are fairly confusingly laid out, for example if I'm
going to edit an account's details I would expect to find this action on
an Edit menu, not the Account menu. The current layout means users have
to spend more time searching for a task.
How about a menu layout like this;
Chart of Accounts:
File:
New: -> SubMenu:
File
Account
Account Tree
Report
Scheduled Transaction
Open:-> SubMenu:
File
Account
SubAccount
Report
Scheduled Transaction
Save:
Save As:
I could go into a lot more detail here, but I do think we need to
rearrange the way we have the menu's laid out to make things easier to
find from a users perspective.
> Functionality Vector
> --------------------
>
> A goal of this effort is consistency: the user has experience with the
> window-register, and has created a mental map of actions and effects [and if
> they haven't, it will retard that map creation by having multiple different
> registers in different parts of the program]. Thus, the set of functionality
> that the widget-register supports should be configurable in such a way that
> not-available items ["Schedule..." while editing a Scheduled Transaction's
> template-transaction] are not removed, but only grayed out.
>
> This shall be done with a bitmask to be passed into the widget-register,
> specifying which functionality to turn off. Functionality which is turned
> off is left visually in place, but set to be insensitive, and thus the
> callbacks are not able to be invoked. Probably the right thing, then, to do
> is not attach the callbacks at all.
>
This is good, having greyed out menu's indicates to the user they need
to do something in order to make it work.
The find dialog:
WE were talking on IRC about this, it seems like its interface could use
a bit of cleanup. The second url I mentioned above suggest's about 6
tabs max. We could probably reduce the number of tabs and have multiple
options in one tab rather than a whole tab for just date.
We also talked a bit about the menu's on IRC. The suggestion was made to
have a 'File' menu in the registers which would give the user access to
things like import (a transaction), save (what I'm currently doing),
print and close.
Chris
--=-epDy5vQ5kvctPVyOCuJE
Content-Type: image/png
Content-Disposition: attachment; filename=toolbar.png
Content-Transfer-Encoding: base64
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
g280AAAAAElFTkSuQmCC
--=-epDy5vQ5kvctPVyOCuJE--