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 | |
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')
-rw-r--r-- | iw/language_gui.py | 4 | ||||
-rw-r--r-- | iw/language_support_gui.py | 5 | ||||
-rw-r--r-- | iw/mouse_gui.py | 4 | ||||
-rw-r--r-- | iw/package_gui.py | 33 | ||||
-rw-r--r-- | iw/xconfig_gui.py | 6 |
5 files changed, 51 insertions, 1 deletions
diff --git a/iw/language_gui.py b/iw/language_gui.py index c2d5b28fd..540cf6abf 100644 --- a/iw/language_gui.py +++ b/iw/language_gui.py @@ -16,6 +16,8 @@ import gtk from iw_gui import * from rhpl.translate import _, N_ +from gui import setupTreeViewFixupIdleHandler + class LanguageWindow (InstallWindow): windowTitle = N_("Language Selection") @@ -98,6 +100,8 @@ class LanguageWindow (InstallWindow): sw.set_policy (gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) sw.add (self.listView) + setupTreeViewFixupIdleHandler(self.listView, self.listStore) + mainBox.pack_start (hbox, gtk.FALSE, gtk.FALSE, 10) mainBox.pack_start (sw, gtk.TRUE, gtk.TRUE) diff --git a/iw/language_support_gui.py b/iw/language_support_gui.py index 65ca1847e..066eb7792 100644 --- a/iw/language_support_gui.py +++ b/iw/language_support_gui.py @@ -18,6 +18,8 @@ from iw_gui import * from flags import flags from rhpl.translate import _, N_ +from gui import setupTreeViewFixupIdleHandler + class LanguageSupportWindow (InstallWindow): windowTitle = _("Additional Language Support") htmlTag = "langsupport" @@ -239,4 +241,7 @@ class LanguageSupportWindow (InstallWindow): store = self.languageList.get_model() + setupTreeViewFixupIdleHandler(self.languageList, store) + + return vbox diff --git a/iw/mouse_gui.py b/iw/mouse_gui.py index ec53c0f74..1cb742118 100644 --- a/iw/mouse_gui.py +++ b/iw/mouse_gui.py @@ -20,6 +20,8 @@ from re import * from rhpl.translate import _, N_ from flags import flags +from gui import setupTreeViewFixupIdleHandler + class MouseWindow(InstallWindow): windowTitle = N_("Mouse Configuration") htmlTag = "mouse" @@ -245,6 +247,8 @@ class MouseWindow(InstallWindow): box.pack_start(sw) label.set_mnemonic_widget(self.mouseview) + setupTreeViewFixupIdleHandler(self.mouseview, self.mousestore) + # then the port list frame = gtk.Frame() frame.set_shadow_type(gtk.SHADOW_IN) 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) diff --git a/iw/xconfig_gui.py b/iw/xconfig_gui.py index 6e00cadea..8dc361d20 100644 --- a/iw/xconfig_gui.py +++ b/iw/xconfig_gui.py @@ -30,6 +30,8 @@ from rhpl.videocard import Videocard_blacklist from desktop import ENABLE_DESKTOP_CHOICE +from gui import setupTreeViewFixupIdleHandler + ddc_monitor_string = _("DDC Probed Monitor") unprobed_monitor_string = _("Unprobed Monitor") @@ -737,6 +739,8 @@ class MonitorWindow (InstallWindow): synctable.attach(align, 3, 4, 1, 2) box.pack_start (synctable, gtk.FALSE, gtk.FALSE) + + setupTreeViewFixupIdleHandler(self.monitorview, self.monitorstore) return box @@ -1069,4 +1073,6 @@ class XConfigWindow (InstallWindow): self.probedMem = self.videocard.primaryCard(useProbed=1).getVideoRam() self.setCurrent(self.currentCard, self.currentMem) + setupTreeViewFixupIdleHandler(self.cardview, self.cardstore) + return self.topbox |