The Trunk: Morphic-cmm.1486.mcz

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

The Trunk: Morphic-cmm.1486.mcz

commits-2
Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.1486.mcz

==================== 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 ]
  ifNotNil:
+ [ : 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 ]
  ifFound:
  [ : 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 ]
  ifFalse:
  [ "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 ]
  ifFalse:
  [ "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'!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-cmm.1486.mcz

Chris Muller-3
Just replaced this by 1487, which actually _opens_ the Git Browser,
instead of only installsGitInfrastructure.

On Fri, Apr 26, 2019 at 8:36 PM <[hidden email]> wrote:

>
> Chris Muller uploaded a new version of Morphic to project The Trunk:
> http://source.squeak.org/trunk/Morphic-cmm.1486.mcz
>
> ==================== 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 ]
>                 ifNotNil:
> +                       [ : 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 ]
>                                 ifFound:
>                                         [ : 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 ]
>                                                 ifFalse:
>                                                         [ "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 ]
>                 ifFalse:
>                          [ "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'!
>
>