예제 #1
0
    def __init__(self, key=None, default=None):
        gtk.Entry.__init__(self)
        self.__setting = GconfSetting(key=key, default=default, type=str)

        string = self.__setting.get_value()
        if string:
            self.set_text(string)
        else:
            self.set_text(_("Unset"))
예제 #2
0
    def __init__(self, label=None, key=None, default=None, tooltip=None):
        super(GconfCheckButton, self).__init__()
        self.__setting = GconfSetting(key=key, default=default, type=bool)

        self.set_label(label)
        self.set_active(self.__setting.get_value())
        if tooltip:
            self.set_tooltip_text(tooltip)

        self.__setting.get_client().notify_add(key, self.value_changed)
        self.connect('toggled', self.button_toggled)
예제 #3
0
    def __init__(self, key):
        super(gtk.Button, self).__init__()

        self.__setting = GconfSetting(key=key)

        reset_image = gtk.image_new_from_stock(gtk.STOCK_REVERT_TO_SAVED,
                                               gtk.ICON_SIZE_MENU)
        self.set_property('image', reset_image)

        self.set_tooltip_text(
            _('Reset setting to default value: %s') % self.get_default_value())
예제 #4
0
    def __init__(self, key=None, min=None, max=None, digits=0, reversed=False):
        gtk.HScale.__init__(self)
        if digits > 0:
            self.__setting = GconfSetting(key=key, type=float)
        else:
            self.__setting = GconfSetting(key=key, type=int)

        if reversed:
            self.__reversed = True
        else:
            self.__reversed = False

        self.set_range(min, max)
        self.set_digits(digits)
        self.set_value_pos(gtk.POS_RIGHT)
        self.connect("value-changed", self.on_value_changed)
        if self.__reversed:
            self.set_value(max - self.__setting.get_value())
        else:
            self.set_value(self.__setting.get_value())
예제 #5
0
    def __init__(self, key=None, texts=None, values=None, type="string"):
        super(GconfComboBox, self).__init__()

        self.__setting = GconfSetting(key=key)
        if type == 'int':
            model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_INT)
        else:
            model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
        self.set_model(model)

        cell = gtk.CellRendererText()
        self.pack_start(cell, True)
        self.add_attribute(cell, 'text', 0)

        current_value = self.__setting.get_value()

        for text, value in dict(zip(texts, values)).items():
            iter = model.append(None)
            model.set(iter, 0, text, 1, value)
            if current_value == value:
                self.set_active_iter(iter)

        self.connect("changed", self.value_changed_cb)
예제 #6
0
class ButtonView(gtk.IconView):
    (
        COLUMN_VALUE,
        COLUMN_LABEL,
    ) = range(2)

    values = {
        'menu': _('Menu'),
        ':': _('Title'),
        'maximize': _('Maximize'),
        'minimize': _('Minimize'),
        'close': _('Close'),
        'spacer': _('Spacer'),
    }

    config = GconfSetting(key='/apps/metacity/general/button_layout')

    def __init__(self):
        gtk.IconView.__init__(self)

        model = self.__create_model()
        self.set_model(model)
        self.update_model()

        self.set_text_column(self.COLUMN_LABEL)
        self.set_reorderable(True)
        self.set_orientation(gtk.ORIENTATION_HORIZONTAL)
        self.connect('selection-changed', self.on_selection_changed)

    def __create_model(self):
        model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)

        return model

    @classmethod
    def get_control_items(cls):
        dict = cls.values.copy()
        dict.pop(':')
        return dict.items()

    @classmethod
    def is_value(cls, value):
        if value == cls.config.get_value():
            return True
        else:
            return False

    def update_model(self, default=None):
        model = self.get_model()
        model.clear()

        value = default or self.config.get_value()
        if value:
            list = value.replace(':', ',:,').split(',')
        else:
            return model

        for k in list:
            k = k.strip()
            if k in self.values:
                iter = model.append()
                model.set(iter, self.COLUMN_VALUE, k, self.COLUMN_LABEL,
                          self.values[k])
            else:
                continue

    def on_selection_changed(self, widget, data=None):
        model = widget.get_model()
        value = ','.join([i[self.COLUMN_VALUE] for i in model])
        value = value.replace(',:', ':').replace(':,', ':')
        self.config.set_value(value)

    def add_button(self, value):
        model = self.get_model()
        iter = model.append()
        model.set(iter, self.COLUMN_VALUE, value, self.COLUMN_LABEL,
                  self.values[value])
        self.on_selection_changed(self)

    def remove_button(self, value):
        model = self.get_model()
        for i, row in enumerate(model):
            if row[self.COLUMN_VALUE] == value:
                del model[i, self.COLUMN_VALUE]
        self.on_selection_changed(self)

    def has_button(self, value):
        model = self.get_model()
        for i, row in enumerate(model):
            if row[self.COLUMN_VALUE] == value:
                return True
        return False
예제 #7
0
    def __init__(self, key, min=0, max=0, step=0):
        self.__setting = GconfSetting(key=key, type=int)
        adjust = gtk.Adjustment(self.__setting.get_value(), min, max, step)

        gtk.SpinButton.__init__(self, adjust)
        self.connect('value-changed', self.on_value_changed)
예제 #8
0
from ubuntutweak.common.config import Config, TweakSettings
from ubuntutweak.common.package import PACKAGE_WORKER, PackageInfo
from ubuntutweak.common.notify import notify
from ubuntutweak.common.misc import URLLister

log = logging.getLogger("SourceCenter")

APP_PARSER = AppParser()
CONFIG = Config()
PPA_MIRROR = []
UNCONVERT = False
WARNING_KEY = '/apps/ubuntu-tweak/disable_thirdparty_warning'
UBUNTU_CN_STR = 'archive.ubuntu.org.cn/ubuntu-cn'
UBUNTU_CN_URL = 'http://archive.ubuntu.org.cn/ubuntu-cn/'
#UBUNTU_CN_URL = 'http://127.0.0.1:8000'
UPDATE_SETTING = GconfSetting(key='/apps/ubuntu-tweak/sourcecenter_update',
                              type=bool)
VERSION_SETTING = GconfSetting(key='/apps/ubuntu-tweak/sourcecenter_version',
                               type=str)

SOURCE_ROOT = os.path.join(consts.CONFIG_ROOT, 'sourcecenter')
SOURCE_VERSION_URL = utdata.get_version_url('/sourcecenter_version/')
UPGRADE_DICT = {}


def get_source_data_url():
    return utdata.get_download_url('/static/utdata/sourcecenter-%s.tar.gz' %
                                   VERSION_SETTING.get_value())


def get_source_logo_from_filename(file_name):
    path = os.path.join(SOURCE_ROOT, file_name)