The Trunk: Morphic-mt.1620.mcz

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

The Trunk: Morphic-mt.1620.mcz

Marcel Taeumel uploaded a new version of Morphic to project The Trunk:

==================== Summary ====================

Name: Morphic-mt.1620
Author: mt
Time: 13 February 2020, 1:50:20.180714 pm
UUID: 6bf64818-7dff-9846-bba7-e19359473664
Ancestors: Morphic-kfr.1619

Adds documentation to that modal-dialog issue related to restoring the mouse focus after dialog invocation.

=============== Diff against Morphic-kfr.1619 ===============

Item was changed:
  ----- Method: DialogWindow>>getUserResponse (in category 'running') -----
  | hand world |
  self message ifEmpty: [messageMorph delete]. "Do not waste space."
  self paneMorph submorphs
  ifEmpty: ["Do not waste space and avoid strange button-row wraps."
  self paneMorph delete.
  self buttonRowMorph wrapDirection: #none].
  hand := self currentHand.
  world := self currentWorld.
  self fullBounds.
  self moveToPreferredPosition.
  self openInWorld: world.
  hand showTemporaryCursor: nil. "Since we are out of context, reset the cursor."
  hand keyboardFocus in: [:priorKeyboardFocus |
  hand mouseFocus in: [:priorMouseFocus |
  self exclusive ifTrue: [hand newMouseFocus: self].
  hand newKeyboardFocus: self.
  [[self isInWorld] whileTrue: [world doOneSubCycle]]
  ifCurtailed: [self cancelDialog].
  hand newKeyboardFocus: priorKeyboardFocus.
+ self flag: #discuss. "Since 2016 we are having this *ping pong* between (a) restoring the prior mouse focus and (b) just clearing it globally. The former solution makes more sense while the latter fixes issues with some modal dialogs. We have to investigate this further."
+ hand releaseMouseFocus.
+ "hand newMouseFocus: priorMouseFocus."]].
- hand releaseMouseFocus]].
  ^ result!