Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.1539.mcz
==================== Summary ====================
Name: Morphic-mt.1539 Author: mt Time: 23 September 2019, 2:21:49.394954 pm UUID: 73a17c57-fcfe-ab48-98c4-592cd316443b Ancestors: Morphic-ct.1538
Try to improve usability of the world's docking bar "Projects" menu: - gray-out items that are not useful - revise action words in labels - add "enter parent project" ... assuming that users now about the tree-structure of projects - separate "close this project" with a line
=============== Diff against Morphic-ct.1538 ===============
Item was added: + ----- Method: MenuMorph>>addUpdatingItem: (in category 'construction') ----- + addUpdatingItem: aBlock + | item | + item := UpdatingMenuItemMorph new. + aBlock value: item. + self addMenuItem: item!
Item was added: + ----- Method: TheWorldMainDockingBar>>canCloseProject (in category 'submenu - projects') ----- + canCloseProject + + ^ self canEnterParentProject!
Item was added: + ----- Method: TheWorldMainDockingBar>>canEnterParentProject (in category 'submenu - projects') ----- + canEnterParentProject + + ^ Project current isTopProject not!
Item was added: + ----- Method: TheWorldMainDockingBar>>canEnterPreviousProject (in category 'submenu - projects') ----- + canEnterPreviousProject + + ^ Project current previousProject notNil!
Item was added: + ----- Method: TheWorldMainDockingBar>>closeProject (in category 'submenu - projects') ----- + closeProject + + Project current close.!
Item was changed: ----- Method: TheWorldMainDockingBar>>closeProjectMenuItemOn: (in category 'submenu - projects') ----- closeProjectMenuItemOn: menu
+ menu addUpdatingItem: [ :item | - menu addItem: [ :item | item + contents: 'Close This Project' translated; - contents: 'Close Project' translated; help: 'Close this project and return to parent one' translated; + target: self; + selector: #closeProject; + enablementSelector: #canCloseProject ]! - target: Project current; - selector: #close ]!
Item was added: + ----- Method: TheWorldMainDockingBar>>enterParentProject (in category 'submenu - projects') ----- + enterParentProject + + ^ Project returnToParentProject!
Item was added: + ----- Method: TheWorldMainDockingBar>>enterPreviousProject (in category 'submenu - projects') ----- + enterPreviousProject + + ^ Project returnToPreviousProject!
Item was changed: ----- Method: TheWorldMainDockingBar>>jumpToProjectMenuItemOn: (in category 'submenu - projects') ----- jumpToProjectMenuItemOn: menu
menu addItem: [ :item | item + contents: 'Enter Project' translated; - contents: 'Jump To Project' translated; icon: MenuIcons smallProjectJumpIcon; subMenuUpdater: self selector: #updateJumpToProjectSubMenu: ]!
Item was changed: ----- Method: TheWorldMainDockingBar>>loadProjectMenuItemOn: (in category 'submenu - projects') ----- loadProjectMenuItemOn: menu
menu addItem: [ :item | item contents: 'Load Project' translated; + help: 'Load a project from a file and enter it on success' translated; - help: 'Load a project from a file' translated; target: self; selector: #loadProject ]!
Item was changed: ----- Method: TheWorldMainDockingBar>>newProjectMenuItemOn: (in category 'submenu - projects') ----- newProjectMenuItemOn: menu
Project allSubclasses do: [ :each | menu addItem: [ :item | item + contents: ('Create ', each name) translated; + help: ('Create a new ', each name, ' and open a viewer for it.') translated; - contents: ('New ', each name) translated; - help: ('Start a new ', each name) translated; target: self; selector: #newProject:; arguments: { each } ] ] !
Item was added: + ----- Method: TheWorldMainDockingBar>>parentProjectMenuItemOn: (in category 'submenu - projects') ----- + parentProjectMenuItemOn: menu + + menu addUpdatingItem: [ :item | + item + contents: 'Enter Parent Project' translated; + help: 'Return to the parent project' translated; + target: self; + selector: #enterParentProject; + enablementSelector: #canEnterParentProject ]!
Item was changed: ----- Method: TheWorldMainDockingBar>>previousProjectMenuItemOn: (in category 'submenu - projects') ----- previousProjectMenuItemOn: menu
+ menu addUpdatingItem: [ :item | - menu addItem: [ :item | item + contents: 'Enter Previous Project' translated; - contents: 'Previous Project' translated; help: 'Return to the most-recently-visited project' translated; + target: self; + selector: #enterPreviousProject; + enablementSelector: #canEnterPreviousProject ]! - target: Project current world; - selector: #goBack ]!
Item was changed: ----- Method: TheWorldMainDockingBar>>projectsMenuOn: (in category 'construction') ----- projectsMenuOn: aDockingBar
aDockingBar addItem: [ :item | item contents: 'Projects' translated; addSubMenu: [ :menu | self newProjectMenuItemOn: menu. menu addLine. self saveProjectMenuItemOn: menu; loadProjectMenuItemOn: menu. menu addLine. self + parentProjectMenuItemOn: menu; previousProjectMenuItemOn: menu; + jumpToProjectMenuItemOn: menu. + menu addLine. + self closeProjectMenuItemOn: menu ] ] - jumpToProjectMenuItemOn: menu; - closeProjectMenuItemOn: menu ] ] !
packages@lists.squeakfoundation.org