Exemplo n.º 1
0
    def update_options(self, app):
        used = set()

        for name, widget in list(app.client_option_widgets.items()):
            name = name.replace('_', '-')
            used.add(name)

            try:
                set_widget_str_value(widget, self.options[name])

            except Exception as e:  # Don't let one bad widget kill everything
                print('WARNING: failed to set widget "%s": %s' % (name, e))

        # Setup passkey and password entries
        app.passkey_validator.set_good()
        app.password_validator.set_good()
        app.proxy_pass_validator.set_good()

        # Set folding power
        if 'power' in self.options:
            used.add('power')
            self.update_power(app)

        # Set proxy options
        if 'proxy-enable' in self.options:
            proxy_enable = parse_bool(self.get('proxy-enable'))
            app.proxy_frame.set_sensitive(proxy_enable)
            app.proxy_auth_frame.set_sensitive(proxy_enable)

        if self.have('proxy'):
            proxy = self.get('proxy')
            if ':' in proxy:
                proxy_addr, proxy_port = proxy.split(':', 1)
            else:
                proxy_addr, proxy_port = proxy, '8080'
            set_widget_str_value(app.client_option_widgets['proxy'],
                                 proxy_addr)
            set_widget_str_value(app.proxy_port, proxy_port)

        # Set core priority radio button
        core_idle = not self.have('core-priority') or \
            self.get('core-priority') == 'idle'
        app.client_option_widgets['core_priority'].set_active(core_idle)
        app.core_priority_low.set_active(not core_idle)

        # Extra core options
        app.core_option_list.clear()
        if self.have('extra-core-args'):
            used.add('extra-core-args')

            args = self.get('extra-core-args').split()
            for arg in args:
                app.core_option_list.append([arg])

        # Remaining options
        app.option_list.clear()
        for name, value in list(self.options.items()):
            if name not in used:
                app.option_list.append([name, value])
Exemplo n.º 2
0
    def update_options(self, app):
        used = set()

        for name, widget in app.client_option_widgets.items():
            name = name.replace('_', '-')
            used.add(name)

            try:
                set_widget_str_value(widget, self.options[name])

            except: # Don't let one bad widget kill everything
                print 'WARNING: failed to set widget "%s"' % name

        # Setup passkey and password entries
        app.passkey_validator.set_good()
        app.password_validator.set_good()
        app.proxy_pass_validator.set_good()

        # Set folding power
        if 'power' in self.options:
            used.add('power')
            self.update_power(app)

        # Set proxy options
        if 'proxy-enable' in self.options:
            proxy_enable = parse_bool(self.get('proxy-enable'))
            app.proxy_frame.set_sensitive(proxy_enable)
            app.proxy_auth_frame.set_sensitive(proxy_enable)

        if self.have('proxy'):
            proxy = self.get('proxy')
            if ':' in proxy: proxy_addr, proxy_port = proxy.split(':', 1)
            else: proxy_addr, proxy_port = proxy, '8080'
            set_widget_str_value(app.client_option_widgets['proxy'], proxy_addr)
            set_widget_str_value(app.proxy_port, proxy_port)

        # Set core priority radio button
        core_idle = not self.have('core-priority') or \
            self.get('core-priority') == 'idle'
        app.client_option_widgets['core_priority'].set_active(core_idle)
        app.core_priority_low.set_active(not core_idle)

        # Extra core options
        app.core_option_list.clear()
        if self.have('extra-core-args'):
            used.add('extra-core-args')

            args = self.get('extra-core-args').split()
            for arg in args: app.core_option_list.append([arg])

        # Remaining options
        app.option_list.clear()
        for name, value in self.options.items():
            if name not in used:
                app.option_list.append([name, value])