diff options
author | Mike Fulbright <msf@redhat.com> | 2002-07-22 19:30:23 +0000 |
---|---|---|
committer | Mike Fulbright <msf@redhat.com> | 2002-07-22 19:30:23 +0000 |
commit | 8ae09272ddc8b74df6a7cf4360d07ff7fd053ae0 (patch) | |
tree | 8b1f53f33b68539a278412e7c1998cfe80c854fb /iw/package_gui.py | |
parent | 907533a4342bcc8c4b6947b6f5555a91949840d2 (diff) | |
download | anaconda-8ae09272ddc8b74df6a7cf4360d07ff7fd053ae0.tar.gz anaconda-8ae09272ddc8b74df6a7cf4360d07ff7fd053ae0.tar.xz anaconda-8ae09272ddc8b74df6a7cf4360d07ff7fd053ae0.zip |
hack is back to make list/tree views to scroll_to correctly
Diffstat (limited to 'iw/package_gui.py')
-rw-r--r-- | iw/package_gui.py | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/iw/package_gui.py b/iw/package_gui.py index 41ba01191..de2a35d69 100644 --- a/iw/package_gui.py +++ b/iw/package_gui.py @@ -929,7 +929,29 @@ class PackageSelectionWindow (InstallWindow): self.setCompCountLabel(comp, count) return - + + def focusIdleHandler(self, data): + if not self.needToFocus: + return + + if self.scrolledWindow is None: + return + + vadj = self.scrolledWindow.get_vadjustment() + swmin = vadj.lower + swmax = vadj.upper + pagesize = vadj.page_size + curval = vadj.get_value() + + self.scrolledWindow.get_vadjustment().set_value(swmax-pagesize) + + if self.idleid is not None: + gtk.idle_remove(self.idleid) + + self.idleid = None + self.needToFocus = 0 + + def getScreen(self, comps, langSupport, instClass, dispatch): @@ -1102,13 +1124,22 @@ class PackageSelectionWindow (InstallWindow): topbox.set_focus_hadjustment(sw.get_hadjustment()) topbox.set_focus_vadjustment(sw.get_vadjustment()) + # save so we can scrfoll if needed + self.scrolledWindow = sw + self.needToFocus = 0 + # if special case we do things a little differently if minimalActive: self.setComponentsSensitive(minimalComp, 0) sw.set_focus_child(minimalCB) + self.needToFocus = 1 elif everythingActive: self.setComponentsSensitive(everythingComp, 0) sw.set_focus_child(everythingCB) + self.needToFocus = 1 + + if self.needToFocus: + self.idleid = gtk.idle_add(self.focusIdleHandler, None) # pack rest of screen hbox = gtk.HBox (gtk.FALSE, 5) |