diff options
Diffstat (limited to 'iw/language_support_gui.py')
-rw-r--r-- | iw/language_support_gui.py | 287 |
1 files changed, 0 insertions, 287 deletions
diff --git a/iw/language_support_gui.py b/iw/language_support_gui.py deleted file mode 100644 index 0d8e9d5d7..000000000 --- a/iw/language_support_gui.py +++ /dev/null @@ -1,287 +0,0 @@ -# -# langauge_support_gui.py: dialog for selection of which languages to support. -# -# Copyright 2001-2002 Red Hat, Inc. -# -# This software may be freely redistributed under the terms of the GNU -# library public license. -# -# You should have received a copy of the GNU Library Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# - -import checklist -import gtk -import gui -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" - - def getNext (self): - self.supportedLangs = [] - - for row in range(self.maxrows): - if self.languageList.get_active(row) == 1: - selected = self.languageList.get_text (row, 1) - self.supportedLangs.append (selected) - - curidx = self.deflang_combo.get_active() - self.defaultLang = self.deflang_values[curidx] - self.langs.setSupported (self.supportedLangs) - self.langs.setDefault (self.defaultLang) - - return None - - def toggled_language(self, data, row): - olddef = self.defaultLang - oldidx = None - for row in range(self.maxrows): - selected = self.languageList.get_text (row, 1) - if selected == olddef: - oldidx = row - break - - self.rebuild_combo() - - # if no default lang now restore - # this can happen if they clicked on the only remaining selected - # language. If we dont reset to previous default lang selected - # the UI is confusing because there is no default lang and no - # langauges supported - if self.defaultLang is None or self.defaultLang == "": - self.languageList.set_active(oldidx, True) - self.rebuild_combo() - - def rebuild_combo(self): - list = [] - - for row in range(self.maxrows): - if self.languageList.get_active(row) == 1: - selected = self.languageList.get_text (row, 1) - list.append (selected) - - if len(list) == 0: - list = [""] - self.ics.setNextEnabled (False) - else: - self.ics.setNextEnabled (True) - - curidx = self.deflang_combo.get_active() - if curidx >= 0 and len(self.deflang_values) > 0: - self.defaultLang = self.deflang_values[curidx] - else: - self.defaultLang = None - - if self.defaultLang is not None and self.defaultLang in list: - index = list.index(self.defaultLang) - else: - index = 0 - self.defaultLang = list[0] - - self.createDefaultLangMenu(list) - self.deflang_combo.set_active(index) - - def select_all (self, data): - self.ics.setNextEnabled (True) - for row in range(self.maxrows): - self.languageList.set_active(row, True) - - self.rebuild_combo() - - def select_default (self, data): - self.ics.setNextEnabled (True) - - curidx = self.deflang_combo.get_active() - if curidx >= 0: - deflang = self.deflang_values[curidx] - - for row in range(self.maxrows): - if self.languageList.get_text(row, 1) == deflang: - self.languageList.set_active(row, True) - else: - self.languageList.set_active(row, False) - - self.rebuild_combo() - - def reset (self, data): - self.ics.setNextEnabled (True) - list = [] - - for row in range(self.maxrows): - item = self.languageList.get_text (row, 1) - - if item in self.origLangs: - self.languageList.set_active(row, True) - list.append (item) - else: - self.languageList.set_active(row, False) - - self.defaultLang = self.oldDefaultLang - self.createDefaultLangMenu(list) - self.deflang_combo.set_active(self.deflang_values.index(self.defaultLang)) - - def setCurrent(self, currentDefault, recenter=1): - parent = None - - store = self.languageList.get_model() - row = 0 - - # iterate over the list looking for the default locale - while (row < self.languageList.num_rows): - if self.languageList.get_text(row, 1) == currentDefault: - path = store.get_path(store.get_iter((row,))) - col = self.languageList.get_column(0) - self.languageList.set_cursor(path, col, False) - self.languageList.scroll_to_cell(path, col, True, 0.5, 0.5) - break - row = row + 1 - - def createDefaultLangMenu(self, supported): - if self.deflang_combo is None: - self.deflang_combo = gtk.combo_box_new_text() - else: - for i in range(len(self.deflang_values), 0, -1): - self.deflang_combo.remove_text(i - 1) - - sel = None - curidx = 0 - values = [] - for locale in self.languages: - if locale == self.defaultLang or (locale in supported): - self.deflang_combo.append_text(locale) - - if locale == self.defaultLang: - sel = curidx - else: - curidx = curidx + 1 - - values.append(locale) - - if sel is not None: - self.deflang_combo.set_active(sel) - - self.deflang_values = values - - # LanguageSupportWindow tag="langsupport" - def getScreen (self, langs): - self.langs = langs - self.languages = self.langs.getAllSupported () - self.supportedLangs = self.langs.getSupported() - self.origLangs = [] - for i in self.supportedLangs: - self.origLangs.append(i) - - self.defaultLang = self.langs.getDefault() - self.oldDefaultLang = self.defaultLang - - # first time we hit this point in install this is not initialized - if self.origLangs == []: - self.origLangs.append(self.defaultLang) - - vbox = gtk.VBox (False, 10) - vbox.set_border_width(5) - hbox = gtk.HBox (False) - - # create option menu of default langs - label = gui.MnemonicLabel(_("Select the _default language for the system: ")) - self.deflang_combo = None - self.deflang_values = None - self.createDefaultLangMenu(self.supportedLangs) - label.set_mnemonic_widget(self.deflang_combo) - - hbox.pack_start (label, False, 20) - hbox.pack_start (self.deflang_combo, False, 20) - vbox.pack_start (hbox, False, 50) - - sep = gtk.HSeparator () - vbox.pack_start (sep, False, 15) - - label = gui.MnemonicLabel(_("Select _additional languages to install " - "on the system:")) - - label.set_alignment (0.0, 0.5) - label.set_line_wrap (True) - label.set_size_request(400, -1) - vbox.pack_start (label, False) - - hbox = gtk.HBox (False, 5) - - # langs we want to support - self.languageList = checklist.CheckList(1) - label.set_mnemonic_widget(self.languageList) - - self.maxrows = 0 - list = [] - - for locale in self.languages: - if locale == self.defaultLang or (locale in self.supportedLangs): - self.languageList.append_row((locale, ""), True) - list.append(locale) - else: - self.languageList.append_row((locale, ""), False) - - self.maxrows = self.maxrows + 1 - - self.setCurrent(self.defaultLang) - - sw = gtk.ScrolledWindow () - sw.set_policy (gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) - sw.add (self.languageList) - sw.set_shadow_type(gtk.SHADOW_IN) - - vbox2 = gtk.VBox (False, 12) - - all_button = gtk.Button (_("_Select All")) - all_button.set_size_request(160, -1) - all_button.connect ('clicked', self.select_all) - a1 = gtk.Alignment (0.5, 0.5) - a1.add (all_button) - - # this one tends to be too long - default_button = gtk.Button() - label = gui.MnemonicLabel(_("Select Default _Only")) - label.set_size_request(150,-1) - label.set_line_wrap(True) - label.set_justify(gtk.JUSTIFY_CENTER) - label.set_mnemonic_widget(default_button) - default_button.add(label) - default_button.set_size_request(160, -1) - default_button.connect ('clicked', self.select_default) - a2 = gtk.Alignment (0.5, 0.5) - a2.add (default_button) - - reset_button = gtk.Button (_("Rese_t")) - reset_button.set_size_request(160, -1) - reset_button.connect ('clicked', self.reset) - a3 = gtk.Alignment (0.5, 0.5) - a3.add (reset_button) - - vbox2.pack_start (a1, False, 10) - vbox2.pack_start (a2, False) - vbox2.pack_start (a3, False) - hbox.pack_start (sw, True, 10) - hbox.pack_start (vbox2, False, 10) - vbox.pack_start (hbox, True) - - # default button -# alignment = gtk.Alignment (0.0, 0.0) -# button = gtk.Button (_("Select as default")) -# alignment.add (button) - - # connect CB for when they change selected langs - self.languageList.checkboxrenderer.connect("toggled", - self.toggled_language) - - store = self.languageList.get_model() - - setupTreeViewFixupIdleHandler(self.languageList, store) - - - return vbox |