diff options
author | Matt Wilson <msw@redhat.com> | 1999-08-04 09:24:26 +0000 |
---|---|---|
committer | Matt Wilson <msw@redhat.com> | 1999-08-04 09:24:26 +0000 |
commit | 6ef2cb1ea395c7e9fa5bdfe8fe0d7c169a8d8790 (patch) | |
tree | f2e4daf8e6930b12d74fcf2d4aeed832427cd09b | |
parent | 3d7505f2dd7c5732a7efff3f9a7e3976dad37061 (diff) | |
download | anaconda-6ef2cb1ea395c7e9fa5bdfe8fe0d7c169a8d8790.tar.gz anaconda-6ef2cb1ea395c7e9fa5bdfe8fe0d7c169a8d8790.tar.xz anaconda-6ef2cb1ea395c7e9fa5bdfe8fe0d7c169a8d8790.zip |
keyboard selection dialog
-rw-r--r-- | text.py | 22 | ||||
-rw-r--r-- | todo.py | 124 |
2 files changed, 135 insertions, 11 deletions
@@ -34,6 +34,23 @@ class LanguageWindow: todo.language.set (languages.keys()[choice]) return INSTALL_OK +class KeyboardWindow: + def run(self, screen, todo): + keyboards = todo.keyboard.available () + keyboards.sort () + current = todo.keyboard.get () + + (button, choice) = \ + ListboxChoiceWindow(screen, _("Keyboard Selection"), + _("Which model keyboard is attached to this computer?"), keyboards, + buttons = [_("Ok"), _("Back")], width = 30, scroll = 1, height = 8) + + if button == string.lower (_("Back")): + return INSTALL_BACK + todo.keyboard.set (keyboards[choice]) + return INSTALL_OK + + class RootPasswordWindow: def run(self, screen, todo): toplevel = GridForm (screen, _("Root Password"), 1, 3) @@ -323,7 +340,7 @@ class IndividualPackageWindow: return INSTALL_OK -class MouseConfigWindow: +class MouseWindow: def run(self, screen, todo): mice = todo.mouse.available () mice.sort () @@ -548,12 +565,13 @@ class InstallInterface: individual = Flag(0) steps = [ [_("Language Selection"), LanguageWindow, (self.screen, todo)], + [_("Keyboard Selection"), KeyboardWindow, (self.screen, todo)], [_("Welcome"), WelcomeWindow, (self.screen,)], [_("Partition"), PartitionWindow, (self.screen, todo)], [_("Network Setup"), NetworkWindow, (self.screen, todo)], [_("Package Groups"), PackageGroupWindow, (self.screen, todo, individual)], [_("Individual Packages"), IndividualPackageWindow, (self.screen, todo, individual)], - [_("Mouse Configuration"), MouseConfigWindow, (self.screen, todo)], + [_("Mouse Configuration"), MouseWindow, (self.screen, todo)], [_("Root Password"), RootPasswordWindow, (self.screen, todo)], [_("Installation Begins"), BeginInstallWindow, (self.screen, todo)], ] @@ -204,7 +204,6 @@ class Mouse (SimpleConfigFile): "MM HitTablet (serial)" : ("MMHitTab", "MMHittab", "ttyS"), } - def available (self): return self.mice.keys () @@ -219,6 +218,103 @@ class Mouse (SimpleConfigFile): self.info["XMOUSETYPE"] = x11 self.info["FULLNAME"] = mouse +class Keyboard (SimpleConfigFile): + # XXX fixme - externalize + def __init__ (self): + self.info = {} + + def available (self): + return [ + "azerty", + "be-latin1", + "be2-latin1", + "fr-latin0", + "fr-latin1", + "fr-pc", + "fr", + "wangbe", + "ANSI-dvorak", + "dvorak-l", + "dvorak-r", + "dvorak", + "pc-dvorak-latin1", + "tr_f-latin5", + "trf", + "bg", + "cf", + "cz-lat2-prog", + "cz-lat2", + "defkeymap", + "defkeymap_V1.0", + "dk-latin1", + "dk", + "emacs", + "emacs2", + "es", + "fi-latin1", + "fi", + "gr-pc", + "gr", + "hebrew", + "hu101", + "is-latin1", + "it-ibm", + "it", + "it2", + "jp106", + "la-latin1", + "lt", + "lt.l4", + "nl", + "no-latin1", + "no", + "pc110", + "pl", + "pt-latin1", + "pt-old", + "ro", + "ru-cp1251", + "ru-ms", + "ru-yawerty", + "ru", + "ru1", + "ru2", + "ru_win", + "se-latin1", + "sk-prog-qwerty", + "sk-prog", + "sk-qwerty", + "tr_q-latin5", + "tralt", + "trf", + "trq", + "ua", + "uk", + "us", + "croat", + "cz-us-qwertz", + "de-latin1-nodeadkeys", + "de-latin1", + "de", + "fr_CH-latin1", + "fr_CH", + "hu", + "sg-latin1-lk450", + "sg-latin1", + "sg", + "sk-prog-qwertz", + "sk-qwertz", + "slovene", + ] + + def set (self, keytable): + self.info["KEYTABLE"] = keytable + + def get (self): + if self.info.has_key ("KEYTABLE"): + return self.info["KEYTABLE"] + + class Authentication: def __init__ (self): self.domain = "" @@ -243,6 +339,7 @@ class ToDo: self.network = Network () self.rootpassword = Password () self.mouse = Mouse () + self.keyboard = Keyboard () self.auth = Authentication () def umountFilesystems(self): @@ -285,18 +382,21 @@ class ToDo: def writeFstab(self): format = "%-23s %-23s %-7s %-15s %d %d\n"; - f = open(self.instPath + "/etc/fstab", "w") - self.mounts.sort(mountListCmp) + f = open (self.instPath + "/etc/fstab", "w") + self.mounts.sort (mountListCmp) for n in self.mounts: (dev, fs, reformat) = n if (fs == '/'): - f.write(format % ( '/dev/' + dev, fs, 'ext2', 'defaults', 1, 1)) + f.write (format % ( '/dev/' + dev, fs, 'ext2', 'defaults', 1, 1)) else: - f.write(format % ( '/dev/' + dev, fs, 'ext2', 'defaults', 1, 2)) - f.write(format % ("/mnt/floppy", "/dev/fd0", 'ext', 'noauto', 0, 0)) - f.write(format % ("none", "/proc", 'proc', 'defaults', 0, 0)) - f.write(format % ("none", "/dev/pts", 'devpts', 'gid=5,mode=620', 0, 0)) - f.close() + f.write (format % ( '/dev/' + dev, fs, 'ext2', 'defaults', 1, 2)) + f.write (format % ("/mnt/floppy", "/dev/fd0", 'ext', 'noauto', 0, 0)) + f.write (format % ("none", "/proc", 'proc', 'defaults', 0, 0)) + f.write (format % ("none", "/dev/pts", 'devpts', 'gid=5,mode=620', 0, 0)) + f.close () + # touch mtab + open (self.instPath + "/etc/mtab", "w+") + f.close () def writeLanguage(self): f = open(self.instPath + "/etc/sysconfig/i18n", "w") @@ -308,6 +408,11 @@ class ToDo: f.write(str (self.mouse)) f.close() + def writeKeyboard(self): + f = open(self.instPath + "/etc/sysconfig/keyboard", "w") + f.write(str (self.keyboard)) + f.close() + def installLilo(self): if not self.liloDevice: return @@ -489,6 +594,7 @@ class ToDo: self.writeFstab () self.writeLanguage () self.writeMouse () + self.writeKeyboard () self.writeNetworkConfig () self.writeRootPassword () self.installLilo () |