[squeak-dev] The Trunk: Morphic-cmm.1486.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Apr 27 01:36:12 UTC 2019

Chris Muller uploaded a new version of Morphic to project The Trunk:

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

Name: Morphic-cmm.1486
Author: cmm
Time: 26 April 2019, 8:35:52.194323 pm
UUID: 94a2f848-a9cf-43a7-a2bb-597457bf319f
Ancestors: Morphic-mt.1485

- Fix a glitch in #tryInvokeHalo: which could lead to mis-identification of the correct halo target.
- Update the new Tools menu entry to read "Git Browser".

=============== Diff against Morphic-mt.1485 ===============

Item was changed:
  ----- Method: PasteUpMorph>>tryInvokeHalo: (in category 'events-processing') -----
  tryInvokeHalo: aUserInputEvent 
  	"Invoke halos around the top-most world container at aUserInputEvent's #position.  If it was already halo'd, zero-in on its next inward component morph at that position.  Holding Shift during the click reverses this traversal order."
  	| stack innermost haloTarget |
  	Preferences noviceMode ifTrue: [ ^ self ].
  	Morph haloForAll ifFalse: [ ^ self ].
  	"the stack is the top-most morph to bottom-most."
  	stack := (self morphsAt: aUserInputEvent position unlocked: true) select:
  		[ : each | each wantsHaloFromClick or: [ each handlesMouseDown: aUserInputEvent ] ].
  	innermost := aUserInputEvent hand halo
  		ifNil: [ stack first ]
+ 			[ : existingHalo | (stack copyWithout: existingHalo) "No halos on halos"
- 			[ : existingHalo | stack allButFirst "existingHalo is first on the stack, not a target"
  				detect: [ : each | each owner == self ]
  					[ : worldContainer | "Is existingHalo's target part of the same worldContainer as the morph clicked?"
  					(existingHalo target withAllOwners includes: worldContainer)
  						ifTrue: [ "same hierarchy, let #transferHalo: continue to handle it for now."  ^self ]
  							[ "different hierarchy, remove + add."
  							aUserInputEvent hand removeHalo.
  							aUserInputEvent shiftPressed
  								ifTrue: [ stack second "first is still the just removed halo" ]
  								ifFalse: [ worldContainer ] ] ]
  				ifNone: [ "existingHalo is on the World, defer to #transferHalo: for now."  ^self ] ].
  	"If modifier key is pressed, start at innermost (the target), otherwise the outermost (direct child of the world (self))."
+ 	haloTarget := (innermost == self or: [aUserInputEvent shiftPressed])
- 	haloTarget  := (innermost == self or: [aUserInputEvent shiftPressed])
  		ifTrue: [ innermost ]
  			 [ "Find the outermost owner that wants it."
  			innermost withAllOwners reversed allButFirst
  				detect: [ : each | each wantsHaloFromClick ]
  				ifNone: [ "haloTarget has its own mouseDown handler, don't halo."  ^ self ] ].
  	"Now that we have the haloTarget, show the halo."
  	aUserInputEvent hand
  		newMouseFocus: haloTarget
  		event: aUserInputEvent.
  	haloTarget invokeHaloOrMove: aUserInputEvent.
  	"aUserInputEvent has been consumed, don't let it cause any further side-effects."
  	aUserInputEvent ignore!

Item was changed:
  ----- Method: TheWorldMainDockingBar>>gitInfrastructureMenuItemOn: (in category 'submenu - tools') -----
  gitInfrastructureMenuItemOn: menu 
  	menu addItem:
  		[ : item | item
+ 			 contents: 'Git Browser' translated ;
+ 			 help: 'Browse repositories on github.com' translated ;
- 			 contents: 'Git Infrastructure' translated ;
- 			 help: 'Load tools for accessing github repositories.' translated ;
  			 icon: (self colorIcon: Color lightGray) ;
  			 target: Installer ;
  			 selector: #installGitInfrastructure ]!

Item was changed:
+ (PackageInfo named: 'Morphic') postscript: '"Added Git Browser to Tools menu"
- (PackageInfo named: 'Morphic') postscript: '"updated Tools menu"
  TheWorldMainDockingBar updateInstances'!

More information about the Squeak-dev mailing list