[Ocemp-CVS] ocempgui/ocempgui/widgets ScrolledList.py,1.66,1.67
Status: Beta
Brought to you by:
marcusva
From: Marcus v. A. <mar...@us...> - 2007-03-06 10:04:47
|
Update of /cvsroot/ocemp/ocempgui/ocempgui/widgets In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv9764/ocempgui/widgets Modified Files: ScrolledList.py Log Message: Fixed CTRL+Click combinations in ScrolledList widget class. Index: ScrolledList.py =================================================================== RCS file: /cvsroot/ocemp/ocempgui/ocempgui/widgets/ScrolledList.py,v retrieving revision 1.66 retrieving revision 1.67 diff -u -d -r1.66 -r1.67 --- ScrolledList.py 26 Jan 2007 22:43:27 -0000 1.66 +++ ScrolledList.py 6 Mar 2007 10:04:42 -0000 1.67 @@ -464,12 +464,17 @@ return if self.selectionmode != SELECTION_MULTIPLE: + self._last_direction = None + selection = self.get_selected () + allowed = self.selectionmode != SELECTION_NONE if mods & KMOD_CTRL: - self._set_cursor (item, False) + if selection and item in selection: + selection.remove (item) + self.__deselect (*selection) + self._set_cursor (item, not item.selected and allowed) else: - self._last_direction = None - self.__deselect (*self.get_selected ()) - self._set_cursor (item, self.selectionmode != SELECTION_NONE) + self.__deselect (*selection) + self._set_cursor (item, allowed) return if item.selected: @@ -499,7 +504,7 @@ self._set_cursor (item, True) else: if mods & KMOD_CTRL: - self._set_cursor (item, False) + self._set_cursor (item, True) elif mods & KMOD_SHIFT: # No click on an existing selection. Expand the current. selection = self.get_selected () |