def set_language_choices(self, choices, choice_map): BaseFrontend.set_language_choices(self, choices, choice_map) self.userinterface.language_list.clear() self.lang_store = QStringList() for choice in choices: self.lang_store.append(QString(choice)) self.userinterface.language_list.addItems(self.lang_store)
def set_language_choices(self, choices, choice_map): BaseFrontend.set_language_choices(self, choices, choice_map) self.language_iconview.connect( 'selection-changed', self.on_language_iconview_selection_changed) list_store = gtk.ListStore(gobject.TYPE_STRING) self.language_iconview.set_model(list_store) self.language_iconview.set_text_column(0) for choice in choices: list_store.append([choice])
def set_language_choices(self, choices, choice_map): BaseFrontend.set_language_choices(self, choices, choice_map) self.language_iconview.connect('selection-changed', self.on_language_iconview_selection_changed) list_store = gtk.ListStore(gobject.TYPE_STRING) self.language_iconview.set_model(list_store) self.language_iconview.set_text_column(0) for choice in choices: list_store.append([choice])
def __init__(self): BaseFrontend.__init__(self) self.db.info('oem-config/text/oem_config') self.previous_excepthook = sys.excepthook sys.excepthook = self.excepthook # Set default language. dbfilter = language.Language(self, self.db) dbfilter.cleanup()
def __init__(self): BaseFrontend.__init__(self) self.db.info('oem-config/text/oem_config') self.previous_excepthook = sys.excepthook sys.excepthook = self.excepthook # Set default language. dbfilter = language.Language(self, self.db) dbfilter.cleanup()
def set_keyboard (self, layout): BaseFrontend.set_keyboard(self, layout) model = self.keyboardlayoutview.get_model() if model is None: return iterator = model.iter_children(None) while iterator is not None: if unicode(model.get_value(iterator, 0)) == layout: path = model.get_path(iterator) self.keyboardlayoutview.get_selection().select_path(path) self.keyboardlayoutview.scroll_to_cell( path, use_align=True, row_align=0.5) break iterator = model.iter_next(iterator)
def set_keyboard(self, layout): BaseFrontend.set_keyboard(self, layout) model = self.keyboardlayoutview.get_model() if model is None: return iterator = model.iter_children(None) while iterator is not None: if unicode(model.get_value(iterator, 0)) == layout: path = model.get_path(iterator) self.keyboardlayoutview.get_selection().select_path(path) self.keyboardlayoutview.scroll_to_cell(path, use_align=True, row_align=0.5) break iterator = model.iter_next(iterator)
def debconffilter_done (self, dbfilter): ##FIXME in Qt 4 without this disconnect it calls watch_debconf_fd_helper_read once more causing ## a crash after the keyboard stage. No idea why. self.app.disconnect(self.socketNotifierRead, SIGNAL("activated(int)"), self.watch_debconf_fd_helper_read) # TODO cjwatson 2006-02-10: handle dbfilter.status self.app.disconnect(self.socketNotifierWrite, SIGNAL("activated(int)"), self.watch_debconf_fd_helper_write) self.app.disconnect(self.socketNotifierException, SIGNAL("activated(int)"), self.watch_debconf_fd_helper_exception) if BaseFrontend.debconffilter_done(self, dbfilter): self.app.exit()
def debconffilter_done(self, dbfilter): if BaseFrontend.debconffilter_done(self, dbfilter): gtk.main_quit()
def __init__(self): def add_subpage(self, steps, name): """Inserts a subpage into the notebook. This assumes the file shares the same base name as the page you are looking for.""" gladefile = GLADEDIR + '/' + name + '.glade' gladexml = gtk.glade.XML(gladefile, name) widget = gladexml.get_widget(name) steps.append_page(widget) add_widgets(self, gladexml) gladexml.signal_autoconnect(self) def add_widgets(self, glade): """Makes all widgets callable by the toplevel.""" for widget in glade.get_widget_prefix(""): self.all_widgets.add(widget) setattr(self, widget.get_name(), widget) # We generally want labels to be selectable so that people can # easily report problems in them # (https://launchpad.net/bugs/41618), but GTK+ likes to put # selectable labels in the focus chain, and I can't seem to turn # this off in glade and have it stick. Accordingly, make sure # labels are unfocusable here. if isinstance(widget, gtk.Label): widget.set_property('can-focus', False) elif isinstance(widget, gtk.Button): widget.set_property('use-underline', True) BaseFrontend.__init__(self) self.previous_excepthook = sys.excepthook sys.excepthook = self.excepthook self.all_widgets = set() self.language_questions = ('oem_config', 'language_heading_label', 'step_label', 'back', 'next') self.current_page = None self.username_edited = False self.allowed_change_step = True self.allowed_go_forward = True self.watch = gtk.gdk.Cursor(gtk.gdk.WATCH) self.apply_changes = False # Set default language. dbfilter = language.Language(self, self.debconf_communicator()) dbfilter.cleanup() dbfilter.db.shutdown() if 'OEM_CONFIG_GLADE' in os.environ: gladefile = os.environ['OEM_CONFIG_GLADE'] else: gladefile = '%s/oem-config.glade' % GLADEDIR self.glade = gtk.glade.XML(gladefile) add_widgets(self, self.glade) steps = self.glade.get_widget("steps") for page in self.pages: add_subpage(self, steps, page) def win_size_req(win, req): s = win.get_screen() m = s.get_monitor_geometry(0) w = -1 h = -1 # What's the size of the WM border? total_frame = win.window.get_frame_extents() (cur_x, cur_y, cur_w, cur_h, depth) = win.window.get_geometry() wm_w = total_frame.width - cur_w wm_h = total_frame.height - cur_h if req.width > m.width - wm_w: w = m.width - wm_w if req.height > m.height - wm_h: h = m.height - wm_h win.set_size_request(w, h) win.resize(w, h) if 'OEM_CONFIG_ONLY' in os.environ: self.oem_config.fullscreen() else: self.oem_config.connect('size-request', win_size_req) self.translate_widgets() if 'UBIQUITY_OLD_TZMAP' in os.environ: self.tzmap = TimezoneMap(self) self.tzmap.tzmap.show() else: self.tzdb = oem_config.tz.Database() self.tzmap = timezone_map.TimezoneMap( self.tzdb, '/usr/share/oem-config/pixmaps/timezone') self.tzmap.connect('city-selected', self.select_city) self.timezone_map_window.add(self.tzmap) self.setup_timezone_page() self.tzmap.show() if 'OEM_CONFIG_DEBUG' in os.environ: self.password_debug_warning_label.show()
def debconffilter_done(self, dbfilter): if BaseFrontend.debconffilter_done(self, dbfilter): gtk.main_quit()
def __init__(self): def add_subpage(self, steps, name): """Inserts a subpage into the notebook. This assumes the file shares the same base name as the page you are looking for.""" gladefile = GLADEDIR + '/' + name + '.glade' gladexml = gtk.glade.XML(gladefile, name) widget = gladexml.get_widget(name) steps.append_page(widget) add_widgets(self, gladexml) gladexml.signal_autoconnect(self) def add_widgets(self, glade): """Makes all widgets callable by the toplevel.""" for widget in glade.get_widget_prefix(""): self.all_widgets.add(widget) setattr(self, widget.get_name(), widget) # We generally want labels to be selectable so that people can # easily report problems in them # (https://launchpad.net/bugs/41618), but GTK+ likes to put # selectable labels in the focus chain, and I can't seem to turn # this off in glade and have it stick. Accordingly, make sure # labels are unfocusable here. if isinstance(widget, gtk.Label): widget.set_property('can-focus', False) elif isinstance(widget, gtk.Button): widget.set_property('use-underline', True) BaseFrontend.__init__(self) self.previous_excepthook = sys.excepthook sys.excepthook = self.excepthook self.all_widgets = set() self.language_questions = ('oem_config', 'language_heading_label', 'step_label', 'back', 'next') self.current_page = None self.username_edited = False self.allowed_change_step = True self.allowed_go_forward = True self.watch = gtk.gdk.Cursor(gtk.gdk.WATCH) self.apply_changes = False # Set default language. dbfilter = language.Language(self, self.debconf_communicator()) dbfilter.cleanup() dbfilter.db.shutdown() if 'OEM_CONFIG_GLADE' in os.environ: gladefile = os.environ['OEM_CONFIG_GLADE'] else: gladefile = '%s/oem-config.glade' % GLADEDIR self.glade = gtk.glade.XML(gladefile) add_widgets(self, self.glade) steps = self.glade.get_widget("steps") for page in self.pages: add_subpage(self, steps, page) def win_size_req(win, req): s = win.get_screen() m = s.get_monitor_geometry(0) w = -1 h = -1 # What's the size of the WM border? total_frame = win.window.get_frame_extents() (cur_x, cur_y, cur_w, cur_h, depth) = win.window.get_geometry() wm_w = total_frame.width - cur_w wm_h = total_frame.height - cur_h if req.width > m.width - wm_w: w = m.width - wm_w if req.height > m.height - wm_h: h = m.height - wm_h win.set_size_request(w, h) win.resize(w, h) if 'OEM_CONFIG_ONLY' in os.environ: self.oem_config.fullscreen() else: self.oem_config.connect('size-request', win_size_req) self.translate_widgets() if 'UBIQUITY_OLD_TZMAP' in os.environ: self.tzmap = TimezoneMap(self) self.tzmap.tzmap.show() else: self.tzdb = oem_config.tz.Database() self.tzmap = timezone_map.TimezoneMap(self.tzdb, '/usr/share/oem-config/pixmaps/timezone') self.tzmap.connect('city-selected', self.select_city) self.timezone_map_window.add(self.tzmap) self.setup_timezone_page() self.tzmap.show() if 'OEM_CONFIG_DEBUG' in os.environ: self.password_debug_warning_label.show()
def __init__(self): BaseFrontend.__init__(self) self.previous_excepthook = sys.excepthook sys.excepthook = self.excepthook self.debconf_callbacks = {} self.language_questions = ('oem_config', 'language_label', 'language_heading_label', 'timezone_heading_label', 'keyboard_heading_label', 'user_heading_label', 'back', 'next') self.current_step = None # Set default language. dbfilter = language.Language(self, self.debconf_communicator()) dbfilter.cleanup() dbfilter.db.shutdown() self.allowed_change_step = True self.allowed_go_forward = True self.mainLoopRunning = False self.apply_changes = False appName = "oem-config" catalog = "" programName = ki18n("OEM Config") version = "1.0" description = ki18n("Sets up the system") license = KAboutData.License_GPL copyright = ki18n("2006, 2007 Anirudh Ramesh. 2008 Canonical Ltd.") text = ki18n("none") homePage = "http://www.kubuntu.org" bugEmail = "" aboutData = KAboutData(appName, catalog, programName, version, description, license, copyright, text, homePage, bugEmail) KCmdLineArgs.init(['oem-config', '-style=oxygen'], aboutData) self.app = KApplication() # We want to hide the minimise button if running in the ubiquity-only mode (no desktop) # To achieve this we need to set window flags to Dialog but we also need a parent widget which is showing # else Qt tried to be clever and puts the minimise button back self.parentWidget = QWidget() self.parentWidget.show() # The parent for our actual user interface window, this is needed only because Oxygen widget # style refuses to draw our background on a top level widget self.parent2 = QWidget(self.parentWidget) self.parent2.setAutoFillBackground(True) self.parent2.setWindowState(Qt.WindowFullScreen) self.parent2.setWindowFlags(Qt.Dialog) layout = QVBoxLayout(self.parent2) layout.setContentsMargins(0, 0, 0, 0) self.userinterface = OEMConfUI(self.parent2) self.userinterface.setFrontend(self) layout.addWidget(self.userinterface) self.parent2.show() self.userinterface.next.setIcon(KIcon("go-next")) self.userinterface.back.setIcon(KIcon("go-previous")) self.translate_widgets() self.customize_installer() self.tzmap = TimezoneMap(self) map_vbox = QVBoxLayout(self.userinterface.map_frame) map_vbox.setMargin(0) map_vbox.addWidget(self.tzmap)
def set_keyboard(self, layout): BaseFrontend.set_keyboard(self, layout) index = self.key_store_1.indexOf(QRegExp("^"+layout+"$")) if index != -1: self.userinterface.keyboard_list_1.setCurrentRow(index)