--- a/Tools_BrowserList.st Thu Jul 28 17:02:49 2011 +0200
+++ b/Tools_BrowserList.st Thu Jul 28 17:04:26 2011 +0200
@@ -27,7 +27,7 @@
!
Object subclass:#SearchHandler
- instanceVariableNames:'listView searchField searchWindow searchHolder list'
+ instanceVariableNames:'listView listHolder searchField searchWindow searchHolder'
classVariableNames:''
poolDictionaries:''
privateIn:BrowserList
@@ -1473,8 +1473,8 @@
list ignoreReselect:false.
].
- "Unfinished feature"
- (OperatingSystem getLoginName = 'jv') ifTrue:[
+
+ UserPreferences current useInPlaceSearchInBrowserLists ifTrue:[
self supportsSearch ifTrue:[
list notNil ifTrue:[
searchHandler := SearchHandler for: list
@@ -1484,7 +1484,7 @@
]
]
- "Modified (comment): / 27-07-2011 / 22:39:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 28-07-2011 / 09:39:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!BrowserList::SearchHandler class methodsFor:'instance creation'!
@@ -1519,6 +1519,7 @@
key == #Return ifTrue:[self stopSearch].
(key == #CursorUp or:[key == #CursorDown]) ifTrue:[
listView sensor setCtrlDown: false.
+ listView sensor setShiftDown: false.
listView keyPress:key x:x y:y
].
@@ -1615,14 +1616,24 @@
restoreList
- listView listHolder value: list
+ | sel |
+ sel := listView selection.
+ sel notNil ifTrue:[
+ sel isInteger ifTrue:[
+ sel := listHolder identityIndexOf: (listView list at: sel)
+ ] ifFalse:[
+ sel := sel collect:[:each|listHolder value identityIndexOf: (listView list at: each)]
+ ].
+ ].
+ listView listHolder: listHolder.
+ listView selection: sel.
"Created: / 27-07-2011 / 22:14:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
saveList
- list := listView listHolder value
+ listHolder := listView listHolder.
"Created: / 27-07-2011 / 22:14:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
@@ -1671,8 +1682,15 @@
| filter filteredList |
filter := self filter.
- filteredList := list select:[:each|filter value: each].
- listView listHolder value: filteredList.
+ filteredList := listHolder value select:[:each|filter value: each].
+ listView listHolder == listHolder ifTrue:[
+ listView listHolder: (ValueHolder with: filteredList)
+ ] ifFalse:[
+ listView listHolder value: filteredList.
+ ].
+ filteredList size == 1 ifTrue:[
+ listView selection: 1
+ ]
"Created: / 27-07-2011 / 22:18:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
@@ -1680,5 +1698,5 @@
!BrowserList class methodsFor:'documentation'!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools_BrowserList.st,v 1.34 2011-07-27 21:40:41 vrany Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_BrowserList.st,v 1.35 2011-07-28 15:04:26 vrany Exp $'
! !