def __init__(self): TweakModule.__init__(self) valid_themes = theme.get_valid_themes() valid_icon_themes = theme.get_valid_icon_themes() valid_cursor_themes = theme.get_valid_cursor_themes() valid_window_themes = theme.get_valid_window_themes() theme_choose_button = Gtk.FileChooserButton() theme_choose_button.connect('file-set', self.on_file_set) icon_label, self.icon_theme, icon_reset_button = WidgetFactory.create('ComboBox', label=self.utext_icon_theme, key='org.gnome.desktop.interface.icon-theme', backend='gsettings', texts=valid_icon_themes, values=valid_icon_themes, enable_reset=True) if system.CODENAME == 'precise': window_theme_label, window_theme_combox, window_theme_reset_button = WidgetFactory.create('ComboBox', label=self.utext_window_theme, key='/apps/metacity/general/theme', backend='gconf', texts=valid_window_themes, values=valid_window_themes, enable_reset=True) else: window_theme_label, window_theme_combox, window_theme_reset_button = WidgetFactory.create('ComboBox', label=self.utext_window_theme, key='org.gnome.desktop.wm.preferences.theme', backend='gsettings', texts=valid_window_themes, values=valid_window_themes, enable_reset=True) theme_box = GridPack( WidgetFactory.create('ComboBox', label=self.utext_gtk_theme, key='org.gnome.desktop.interface.gtk-theme', backend='gsettings', texts=valid_themes, values=valid_themes, enable_reset=True), (icon_label, self.icon_theme, icon_reset_button), WidgetFactory.create('ComboBox', label=self.utext_cursor_theme, key='org.gnome.desktop.interface.cursor-theme', backend='gsettings', texts=valid_cursor_themes, values=valid_cursor_themes, enable_reset=True), (window_theme_label, window_theme_combox, window_theme_reset_button), Gtk.Separator(), (Gtk.Label(_('Install theme:')), theme_choose_button), ) self.add_start(theme_box, False, False, 0)
def __init__(self): TweakModule.__init__(self, 'loginsettings.ui') valid_themes = theme.get_valid_themes() valid_icon_themes = theme.get_valid_icon_themes() notes_label = Gtk.Label() notes_label.set_property('halign', Gtk.Align.START) notes_label.set_markup('<span size="smaller">%s</span>' % \ _('Note: you may need to reboot to take effect')) notes_label._ut_left = 1 self.login_box = GridPack( WidgetFactory.create('Switch', label=self.utext_allow_guest, key='/etc/lightdm/lightdm.conf::SeatDefaults#allow-guest', default=True, backend='systemconfig'), notes_label, WidgetFactory.create('Switch', label=self.utext_draw_grid, key='50_unity-greeter.gschema.override::com.canonical.unity-greeter#draw-grid', backend='systemconfig'), WidgetFactory.create('Switch', label=self.utext_login_sound, key='50_unity-greeter.gschema.override::com.canonical.unity-greeter#play-ready-sound', backend='systemconfig'), WidgetFactory.create('ComboBox', label=self.utext_gtk_theme, key='50_unity-greeter.gschema.override::com.canonical.unity-greeter#theme-name', backend='systemconfig', texts=valid_themes, values=valid_themes), WidgetFactory.create('ComboBox', label=self.utext_icon_theme, key='50_unity-greeter.gschema.override::com.canonical.unity-greeter#icon-theme-name', backend='systemconfig', texts=valid_icon_themes, values=valid_icon_themes), ) self.login_box.set_sensitive(False) self.add_start(self.login_box, False, False, 0) if system.CODENAME != 'saucy': self.add_start(Gtk.Separator(), False, False, 6) self._setup_logo_image() self._setup_background_image() box = ListPack('', (self.main_vbox)) self.add_start(box, False, False, 0)
def __init__(self): TweakModule.__init__(self) valid_themes = theme.get_valid_themes() valid_icon_themes = theme.get_valid_icon_themes() valid_cursor_themes = theme.get_valid_cursor_themes() valid_window_themes = theme.get_valid_window_themes() theme_choose_button = Gtk.FileChooserButton() theme_choose_button.connect('file-set', self.on_file_set) icon_label, self.icon_theme, icon_reset_button = WidgetFactory.create( 'ComboBox', label=self.utext_icon_theme, key='org.gnome.desktop.interface.icon-theme', backend='gsettings', texts=valid_icon_themes, values=valid_icon_themes, enable_reset=True) theme_box = GridPack( WidgetFactory.create('ComboBox', label=self.utext_gtk_theme, key='org.gnome.desktop.interface.gtk-theme', backend='gsettings', texts=valid_themes, values=valid_themes, enable_reset=True), (icon_label, self.icon_theme, icon_reset_button), WidgetFactory.create( 'ComboBox', label=self.utext_cursor_theme, key='org.gnome.desktop.interface.cursor-theme', backend='gsettings', texts=valid_cursor_themes, values=valid_cursor_themes, enable_reset=True), WidgetFactory.create('ComboBox', label=self.utext_window_theme, key='/apps/metacity/general/theme', backend='gconf', texts=valid_window_themes, values=valid_window_themes, enable_reset=True), Gtk.Separator(), (Gtk.Label(_('Install theme:')), theme_choose_button), ) self.add_start(theme_box, False, False, 0)
def __init__(self): TweakModule.__init__(self, 'loginsettings.ui') if system.CODENAME != 'oneiric': valid_themes = theme.get_valid_themes() valid_icon_themes = theme.get_valid_icon_themes() self.login_box = GridPack( WidgetFactory.create('Switch', label=self.utext_draw_grid, key='50_unity-greeter.gschema.override::com.canonical.unity-greeter#draw-grid', backend='systemconfig'), WidgetFactory.create('Switch', label=self.utext_login_sound, key='50_unity-greeter.gschema.override::com.canonical.unity-greeter#play-ready-sound', backend='systemconfig'), WidgetFactory.create('ComboBox', label=self.utext_gtk_theme, key='50_unity-greeter.gschema.override::com.canonical.unity-greeter#theme-name', backend='systemconfig', texts=valid_themes, values=valid_themes), WidgetFactory.create('ComboBox', label=self.utext_icon_theme, key='50_unity-greeter.gschema.override::com.canonical.unity-greeter#icon-theme-name', backend='systemconfig', texts=valid_icon_themes, values=valid_icon_themes), ) self.login_box.set_sensitive(False) self.add_start(self.login_box, False, False, 0) self.add_start(Gtk.Separator(), False, False, 6) self._setup_logo_image() self._setup_background_image() box = ListPack('', (self.main_vbox)) self.add_start(box, False, False, 0)
Gtk.Separator(), (Gtk.Label(_('Install theme:')), theme_choose_button), ) self.add_start(theme_box, False, False, 0) def on_file_set(self, widget): try: tf = ThemeFile(widget.get_filename()) except Exception, e: log.error(e) ErrorDialog(message=_('Theme file is invalid')).launch() else: if tf.install(): log.debug("Theme installed! Now update the combox") valid_icon_themes = theme.get_valid_icon_themes() self.icon_theme.update_texts_values_pair( valid_icon_themes, valid_icon_themes) dialog = QuestionDialog( title=_('"%s" installed successfully' % tf.theme_name), message= _('Would you like to set your icon theme to "%s" immediatelly?' ) % tf.theme_name) response = dialog.launch() if response == Gtk.ResponseType.YES: self.icon_theme.get_setting().set_value(tf.install_name) def _get_valid_icon_themes(self): # This function is taken from gnome-tweak-tool dirs = ('/usr/share/icons', os.path.join(os.path.expanduser("~"), ".icons"))
Gtk.Separator(), (Gtk.Label(_('Install theme:')), theme_choose_button), ) self.add_start(theme_box, False, False, 0) def on_file_set(self, widget): try: tf = ThemeFile(widget.get_filename()) except Exception, e: log.error(e) ErrorDialog(message=_('Theme file is invalid')).launch() else: if tf.install(): log.debug("Theme installed! Now update the combox") valid_icon_themes = theme.get_valid_icon_themes() self.icon_theme.update_texts_values_pair(valid_icon_themes, valid_icon_themes) dialog = QuestionDialog(title=_('"%s" installed successfully' % tf.theme_name), message=_('Would you like to set your icon theme to "%s" immediatelly?') % tf.theme_name) response = dialog.launch() if response == Gtk.ResponseType.YES: self.icon_theme.get_setting().set_value(tf.install_name) def _get_valid_icon_themes(self): # This function is taken from gnome-tweak-tool dirs = ( '/usr/share/icons', os.path.join(os.path.expanduser("~"), ".icons")) valid = walk_directories(dirs, lambda d: os.path.isdir(d) and \ not os.path.exists(os.path.join(d, "cursors")))