Ejemplo n.º 1
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)

        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)
Ejemplo n.º 2
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)
Ejemplo n.º 3
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)
Ejemplo n.º 4
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)
Ejemplo n.º 5
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"))
Ejemplo n.º 6
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"))
        valid = walk_directories(dirs, lambda d:
                    os.path.isdir(d) and \
                        not os.path.exists(os.path.join(d, "cursors")))