Nicolas Cellier uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-nice.402.mcz ==================== Summary ==================== Name: Monticello-nice.402 Author: nice Time: 21 September 2010, 10:07:31.697 pm UUID: c2733a1b-b7e0-4344-b89b-74d62de4a9b9 Ancestors: Monticello-cmm.401 Officialize my inbox proposal: Feature 1: let Keep and Reject buttons select the next unresolved conflict in the list. Feature 2: if there is no more conflict in the list, let Keep and Reject select the next non conflict in the list. The first feature is powerfull for deciding fast without many keyboard/mouse motions. It should be complemented by a shortcut key. The second feature is questionnable because Reject cannot reject non conflict, so the label is misleading. On the other hand, having a button uniformly selecting next change is convenient. =============== Diff against Monticello-cmm.401 =============== Item was changed: ----- Method: MCMergeBrowser>>chooseLocal (in category 'as yet unclassified') ----- chooseLocal self conflictSelectionDo: [selection chooseLocal. + self changed: #text; changed: #list]. + self selectNextUnresolvedConflict! - self changed: #text; changed: #list]! Item was changed: ----- Method: MCMergeBrowser>>chooseRemote (in category 'as yet unclassified') ----- chooseRemote self conflictSelectionDo: [selection chooseRemote. + self changed: #text; changed: #list]. + self selectNextUnresolvedConflict! - self changed: #text; changed: #list]! Item was changed: ----- Method: MCMergeBrowser>>conflictSelectionDo: (in category 'as yet unclassified') ----- conflictSelectionDo: aBlock self selectionIsConflicted + ifTrue: aBlock! - ifTrue: aBlock - ifFalse: [self inform: 'You must have a conflict selected']! Item was changed: ----- Method: MCMergeBrowser>>innerButtonRow (in category 'as yet unclassified') ----- innerButtonRow ^ self buttonRow: + #((Keep chooseRemote 'keep the selected change' ) + (Reject chooseLocal 'reject the selected change' ))! - #((Keep chooseRemote 'keep the selected change' selectionIsConflicted) - (Reject chooseLocal 'reject the selected change' selectionIsConflicted))! Item was added: + ----- Method: MCMergeBrowser>>selectNextUnresolvedConflict (in category 'as yet unclassified') ----- + selectNextUnresolvedConflict + "Try and select the next unresolved conflict starting at current selection in the list, wrapping at beginning. + If there is no more unresolved conflict, then simply move to next non conflict item in the list. + This method makes assumption that conflicts are always sorted before non conflicts items." + (self findListMorph: #list) + ifNotNil: + [:aMorph | + | currentIndex nextUnresolvedIndex | + currentIndex := aMorph getCurrentSelectionIndex min: conflicts size. + nextUnresolvedIndex := (currentIndex + 1 to: currentIndex + conflicts size - 1) + detect: + [:i | + | nextItem | + ((nextItem := conflicts atWrap: i) isKindOf: MCConflict) + and: [nextItem isResolved not]] + ifNone: [0]. + nextUnresolvedIndex = 0 + ifTrue: [items size > 1 ifTrue: [self selection: (aMorph getCurrentSelectionIndex max: conflicts size) - conflicts size \\ items size + conflicts size + 1]] + ifFalse: [self selection: nextUnresolvedIndex - 1 \\ conflicts size + 1].].! |
Free forum by Nabble | Edit this page |