summaryrefslogtreecommitdiffstats
path: root/iw
diff options
context:
space:
mode:
authorMike Fulbright <msf@redhat.com>2002-07-22 19:30:23 +0000
committerMike Fulbright <msf@redhat.com>2002-07-22 19:30:23 +0000
commit8ae09272ddc8b74df6a7cf4360d07ff7fd053ae0 (patch)
tree8b1f53f33b68539a278412e7c1998cfe80c854fb /iw
parent907533a4342bcc8c4b6947b6f5555a91949840d2 (diff)
downloadanaconda-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.py4
-rw-r--r--iw/language_support_gui.py5
-rw-r--r--iw/mouse_gui.py4
-rw-r--r--iw/package_gui.py33
-rw-r--r--iw/xconfig_gui.py6
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