--- a/Tools__ChangeList.st Thu Apr 11 11:33:26 2013 +0200
+++ b/Tools__ChangeList.st Sun Apr 14 08:49:03 2013 +0200
@@ -28,8 +28,9 @@
"{ NameSpace: Tools }"
BrowserListWithFilter subclass:#ChangeList
- instanceVariableNames:'listHolder showRemovedHolder showSameHolder allowRemoveHolder
- allowAcceptHolder applyAction'
+ instanceVariableNames:'listHolder showRemovedHolder showSameHolder
+ showConflictsOnlyHolder allowRemoveHolder allowAcceptHolder
+ applyAction'
classVariableNames:'LastSelectionConditionString'
poolDictionaries:''
category:'Interface-Browsers-ChangeSet'
@@ -327,6 +328,7 @@
#selectionHolder
#showRemovedHolder
#showSameHolder
+ #showConflictsOnlyHolder
).
"Modified: / 24-01-2012 / 19:54:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -470,6 +472,35 @@
^ listHolder
!
+showConflictsOnlyHolder
+ "return/create the 'showConflictsOnlyHolder' value holder (automatically generated)"
+
+ showConflictsOnlyHolder isNil ifTrue:[
+ showConflictsOnlyHolder := ValueHolder with: true.
+ showConflictsOnlyHolder addDependent: self.
+ ].
+ ^ showConflictsOnlyHolder
+!
+
+showConflictsOnlyHolder:something
+ "set the 'showConflictsOnlyHolder' value holder (automatically generated)"
+
+ |oldValue newValue|
+
+ showConflictsOnlyHolder notNil ifTrue:[
+ oldValue := showConflictsOnlyHolder value.
+ showConflictsOnlyHolder removeDependent:self.
+ ].
+ showConflictsOnlyHolder := something.
+ showConflictsOnlyHolder notNil ifTrue:[
+ showConflictsOnlyHolder addDependent:self.
+ ].
+ newValue := showConflictsOnlyHolder value.
+ oldValue ~~ newValue ifTrue:[
+ self update:#value with:newValue from:showConflictsOnlyHolder.
+ ].
+!
+
showRemovedHolder
"return/create the 'showRemovedHolder' value holder (automatically generated)"
@@ -532,11 +563,15 @@
!ChangeList methodsFor:'change & update'!
+selectionChanged
+ super selectionChanged
+!
+
update: aspect with: param from: sender
sender == selectionHolder ifTrue:[
self selectionChanged.
- ^self
+ ^ self
].
sender == showSameHolder ifTrue:[
self updateList
@@ -544,6 +579,9 @@
sender == showRemovedHolder ifTrue:[
self updateList
].
+ sender == showConflictsOnlyHolder ifTrue:[
+ self updateList
+ ].
^super update: aspect with: param from: sender
@@ -609,6 +647,7 @@
^Iterator on:
[:whatToDo|
+
selectionHolder value do:
[:changeListItem| | change |
change := changeListItem change.
@@ -857,20 +896,31 @@
!
updateList
- |inGenerator changeset newList |
+ |inGenerator changeset newList|
+
+ self withWaitCursorDo:[
+ inGenerator := self inGeneratorHolder value.
+ changeset := inGenerator ifNil:[ #() ] ifNotNil:[ inGenerator ].
+ self showConflictsOnlyHolder value ifTrue:[
+ newList := changeset select: [:chg |
+ chg isConflict
+ ].
+ ] ifFalse:[
+ | showRemoved showSame |
- inGenerator := self inGeneratorHolder value.
- changeset := inGenerator ifNil:[ #() ] ifNotNil:[ inGenerator ].
- newList := changeset
- select:
- [:chg |
- (self showRemovedHolder value or:[ chg removed not ])
- and:[self showSameHolder value or:[chg delta ~~ #=]]
- ].
- newList := self filterList: newList.
- newList := newList collect:[:chg | self listEntryFor:chg ].
- self listHolder value ~= newList ifTrue:[
- self listHolder value: newList.
+ showRemoved := self showRemovedHolder value.
+ showSame := self showSameHolder value.
+
+ newList := changeset select: [:chg |
+ (showRemoved or:[ chg removed not ])
+ and:[showSame or:[chg delta ~~ #=]]
+ ].
+ ].
+ newList := self filterList: newList.
+ newList := newList collect:[:chg | self listEntryFor:chg ].
+ self listHolder value ~= newList ifTrue:[
+ self listHolder value: newList.
+ ]
]
"Modified: / 29-11-2011 / 15:38:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -976,13 +1026,26 @@
children isNil ifTrue:[
change isCompositeChange ifTrue:[
children := OrderedCollection new: change changes size.
- change changes do:[:chg|
- ((self application showRemovedHolder value or:[ chg removed not ])
- and:[self application showSameHolder value or:[chg delta ~~ #=]])
- ifTrue:[
- children add: ((self application listEntryFor: chg) parent: self)
- ]
- ].
+ self application showConflictsOnlyHolder value ifTrue:[
+ change changes do:[:chg|
+ (chg isConflict) ifTrue:[
+ children add: ((self application listEntryFor: chg) parent: self)
+ ]
+ ].
+ ] ifFalse:[
+ |showRemoved showSame|
+
+ showRemoved := self application showRemovedHolder value.
+ showSame := self application showSameHolder value.
+
+ change changes do:[:chg|
+ ((showRemoved or:[ chg removed not ])
+ and:[showSame or:[chg delta ~~ #=]])
+ ifTrue:[
+ children add: ((self application listEntryFor: chg) parent: self)
+ ]
+ ].
+ ]
] ifFalse:[
children := #()
]
@@ -1122,11 +1185,11 @@
!ChangeList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.22 2013-04-04 00:42:59 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.23 2013-04-14 06:49:03 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.22 2013-04-04 00:42:59 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.23 2013-04-14 06:49:03 cg Exp $'
!
version_SVN