From: Eero T. <oa...@we...> - 2004-10-31 12:00:34
|
Hi, I've looked a bit into how Gramps UI works and there are still some small things that seem a bit strange. Currently some dialogs are transient for their parents, some are not. Mostly this seems to be so that dialogs opened directly from the main Gramps interface are not transient, whereas further dialogs are. Setting transiency for a dialog guarantees that the dialog keeps above the window from which it was opened (window manager does that). Transiency should be used (at least) when window is modal to some other window. Modal means that while a modal window is open, the data in the window for which it's modal, cannot be edited nor it's controls used. Stable version of Gramps has the problem that some of it's dialogs are modal (e.g. errors), but their transiency is not set for their parents as they should. Development version of Gramps seems to have moved away from modality, but I'm wondering is this deliberate decision or "an accident"? For advanced users it could be nice to have e.g. multiple "Edit Person" dialogs open (for different persons), but for others it's probably just more confusing. For other dialogs I think there's not much reason not to have them as modal & transient for their parents. E.g. Why user would want to have multiple "Column editor" windows open like she currently can do (in dev-version of Gramps)? Regardless of whether there's a decision that modal dialogs are good for majority of Gramps users, the default keyboard actions should IMHO be used wherever possible so that users can quickly dismiss annoying windows: - Esc cancels a dialog (like it now does in Column Editor, but not in many other dialogs). I'm not sure how this is done in Gtk - Enter accepts a dialog. This can happen only if focus is by default on the OK button. I think this is good choice for dialogs where: - user just views data (that is fully visible without scrolling) - all changes in the dialog are done with mouse (i.e. user doesn't need to type there anything like names etc.) For dialogs where user normally needs to change something it's a bit different matter... If I get some kind of answer on whether the UI should or should not be modal, I could start listing dialogs which could use better tranciency and/or Esc/Cancel handling. - Eero |