[squeak-dev] The Inbox: Monticello-ct.716.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Feb 17 00:04:28 UTC 2020
Christoph Thiede uploaded a new version of Monticello to project The Inbox:
http://source.squeak.org/inbox/Monticello-ct.716.mcz
==================== Summary ====================
Name: Monticello-ct.716
Author: ct
Time: 17 February 2020, 1:04:25.4 am
UUID: 5524340c-418f-f64c-9788-982834460df7
Ancestors: Monticello-cmm.708
Refines OperationsBrowser menu commands: Allows to revert all/install all when selection is empty. Also fixes a bug that destroyed the selection if a single operation was reinstalled.
=============== Diff against Monticello-cmm.708 ===============
Item was changed:
----- Method: MCOperationsBrowser>>advanceSelection (in category 'selecting') -----
advanceSelection
+ selection ifNil: [^ self].
self selection < items size
ifTrue: [self selection: self selection + 1]!
Item was added:
+ ----- Method: MCOperationsBrowser>>installOperations: (in category 'actions') -----
+ installOperations: operations
+
+ | loader |
+ loader := MCPackageLoader new.
+ operations do: [:operation |
+ operation applyTo: loader].
+ loader loadWithName: self changeSetNameForInstall.
+ self reverts removeAllFoundIn: operations.
+ self changed: #list; changed: #selection.!
Item was changed:
----- Method: MCOperationsBrowser>>installSelection (in category 'actions') -----
installSelection
+
+ self installOperations: (selection
+ ifNotNil: [{selection}]
+ ifNil: [items]).!
- | loader |
- selection ifNotNil:
- [loader := MCPackageLoader new.
- selection applyTo: loader.
- loader loadWithName: self changeSetNameForInstall.
- self reverts remove: selection ifAbsent: [].
- self changed: #list ]!
Item was changed:
----- Method: MCOperationsBrowser>>methodListMenu: (in category 'menus') -----
methodListMenu: aMenu
+ aMenu addList: #(
+ ('install' installSelection)
+ ('revert (x)' revertSelection)).
selection ifNotNil:
[aMenu addList: #(
+ ('browse origin' browseSelectionOrigin))].
+ aMenu addLine.
- ('install' installSelection)
- ('revert (x)' revertSelection)
- ('browse origin' browseSelectionOrigin)
- -)].
self unchangedMethods ifNotEmpty:
[aMenu addList: #(
('revert unchanged methods...' revertUnchangedMethods)
-)].
super methodListMenu: aMenu.
^ aMenu!
Item was added:
+ ----- Method: MCOperationsBrowser>>revertOperations: (in category 'actions') -----
+ revertOperations: operations
+
+ | loader |
+ loader := MCPackageLoader new.
+ operations do: [:operation |
+ operation inverse applyTo: loader].
+ self environmentInDisplayingImage beCurrentDuring: [loader loadWithName: self changeSetNameForInstall].
+ self reverts addAll: operations.
+ self changed: #list; changed: #selection.!
Item was changed:
----- Method: MCOperationsBrowser>>revertSelection (in category 'actions') -----
revertSelection
+
+ selection
+ ifNotNil: [
+ self revertOperations: {selection}.
+ self advanceSelection ]
+ ifNil: [
+ self revertOperations: items ].!
- | loader |
- selection ifNotNil:
- [loader := MCPackageLoader new.
- selection inverse applyTo: loader.
- self environmentInDisplayingImage beCurrentDuring: [loader loadWithName: self changeSetNameForInstall].
- self reverts add: selection.
- self
- advanceSelection;
- changed: #list ]!
More information about the Squeak-dev
mailing list
|