Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove MCPatchBrowser #15376

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
Extension { #name : 'MCPatchBrowser' }
Extension { #name : 'MCMergeBrowser' }

{ #category : '*Monticello-GUI-Diff' }
MCPatchBrowser >> diffSelection [
MCMergeBrowser >> diffSelection [
"Open a diff browser on the selection."

selection ifNotNil:
[selection diff]
]

{ #category : '*Monticello-GUI-Diff' }
MCPatchBrowser >> methodListMenu: aMenu [
MCMergeBrowser >> methodListMenu: aMenu [

selection
ifNotNil: [
Expand Down
7 changes: 0 additions & 7 deletions src/Monticello/MCCacheRepository.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -136,13 +136,6 @@ MCCacheRepository >> useDirectory: aFolder during: aBlock [
aBlock value ] ensure: [ self directory: oldDirectory ]
]

{ #category : 'accessing' }
MCCacheRepository >> versionInfoForFileNamed: aString [
^ self infoCache
at: aString
ifAbsentPut: [ self versionReaderForFileNamed: aString do: [:r | r info]]
]

{ #category : 'interface' }
MCCacheRepository >> versionWithInfo: aVersionInfo ifAbsent: errorBlock [
(self allFileNamesForVersionNamed: aVersionInfo name) do: [:fileName | | version |
Expand Down
117 changes: 112 additions & 5 deletions src/MonticelloGUI/MCMergeBrowser.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ Browser to merge changes
"
Class {
#name : 'MCMergeBrowser',
#superclass : 'MCPatchBrowser',
#superclass : 'MCCodeTool',
#instVars : [
'conflicts',
'merger'
'merger',
'selection'
],
#category : 'MonticelloGUI-Tools',
#package : 'MonticelloGUI',
Expand Down Expand Up @@ -41,6 +42,21 @@ MCMergeBrowser >> cancel [
self answer: false
]

{ #category : 'actions' }
MCMergeBrowser >> changeSetNameForInstall [
"Answer the name of the change set into which my selection will be installed.
Derive this from my label.
If I have no label, use the current change set."

| tokens |
label ifNil: [ ^ChangeSet current name ].
tokens := label findTokens: ' '.
tokens removeAllFoundIn: { 'changes'. 'between'. 'and' }.
(tokens size = 3 and: [ tokens second = '<working' ]) ifTrue: [ ^tokens first, '-to-working' ].
tokens size = 2 ifFalse: [ ^'InstalledPatches' ].
^'{1}-to-{2}' format: tokens
]

{ #category : 'actions' }
MCMergeBrowser >> chooseAllNewerConflicts [
"Notify the potential new state of canMerge."
Expand Down Expand Up @@ -141,11 +157,31 @@ MCMergeBrowser >> innerButtonRow [
(Reject chooseLocal 'reject the selected change' selectionIsConflicted))
]

{ #category : 'actions' }
MCMergeBrowser >> installSelection [
| loader |
selection ifNotNil:
[loader := MCPackageLoader new.
selection applyTo: loader.
loader loadWithName: self changeSetNameForInstall ]
]

{ #category : 'selecting' }
MCMergeBrowser >> invert [
items := items collect: [:ea | ea inverse].
self changed: #list; changed: #text; changed: #selection
]

{ #category : 'accessing' }
MCMergeBrowser >> items [
^ conflicts, items
]

{ #category : 'accessing' }
MCMergeBrowser >> list [
^ self items collect: [:ea | ea summary]
]

{ #category : 'actions' }
MCMergeBrowser >> merge [
merger isMerged
Expand All @@ -160,12 +196,73 @@ MCMergeBrowser >> merger: aMerger [
conflicts := aMerger conflicts sort: [:a :b | a operation <= b operation].
]

{ #category : 'accessing' }
MCMergeBrowser >> patch: aPatch [
items := aPatch operations asSortedCollection
]

{ #category : 'actions' }
MCMergeBrowser >> revertSelection [
| loader |
selection ifNotNil:
[loader := MCPackageLoader new.
selection inverse applyTo: loader.
loader loadWithName: self changeSetNameForInstall ]
]

{ #category : 'subclassresponsibility' }
MCMergeBrowser >> selectedClass [
| definition |
selection ifNil: [ ^ nil ].
(definition := selection definition) ifNil: [ ^ nil ].
definition isMethodDefinition
ifFalse: [ ^ nil ].
^ Smalltalk globals at: definition className ifAbsent: [ ]
]

{ #category : 'subclassresponsibility' }
MCMergeBrowser >> selectedClassOrMetaClass [
| definition |
selection ifNil: [ ^nil ].
(definition := selection definition) ifNil: [ ^nil ].
definition isMethodDefinition ifFalse: [ ^nil ].
^definition actualClass
]

{ #category : 'subclassresponsibility' }
MCMergeBrowser >> selectedMessageCategoryName [
| definition |
selection ifNil: [ ^nil ].
(definition := selection definition) ifNil: [ ^nil ].
definition isMethodDefinition ifFalse: [ ^nil ].
^definition category
]

{ #category : 'subclassresponsibility' }
MCMergeBrowser >> selectedMessageName [
| definition |
selection ifNil: [ ^nil ].
(definition := selection definition) ifNil: [ ^nil ].
definition isMethodDefinition ifFalse: [ ^nil ].
^definition selector
]

{ #category : 'selecting' }
MCMergeBrowser >> selection [
^ selection
ifNil: [0]
ifNotNil: [self items indexOf: selection]
]

{ #category : 'morphic ui' }
MCMergeBrowser >> selection: aNumber [
"Notify change of conflicts too."

super selection: aNumber.
self changed: #selectionIsConflicted

selection := aNumber = 0 ifFalse: [ self items at: aNumber ].
self
changed: #selection;
changed: #text;
changed: #selectionIsConflicted
]

{ #category : 'actions' }
Expand All @@ -174,6 +271,16 @@ MCMergeBrowser >> selectionIsConflicted [
^ selection isConflict
]

{ #category : 'text' }
MCMergeBrowser >> text [
^ selection ifNil: [''] ifNotNil: [selection source]
]

{ #category : 'text' }
MCMergeBrowser >> text: aTextOrString [
self changed: #text
]

{ #category : 'morphic ui' }
MCMergeBrowser >> widgetSpecs [
"ToolBuilder doesn't know about innerButtonRow. Made explicit here."
Expand Down
7 changes: 0 additions & 7 deletions src/MonticelloGUI/MCPatch.extension.st

This file was deleted.

153 changes: 0 additions & 153 deletions src/MonticelloGUI/MCPatchBrowser.class.st

This file was deleted.