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"))
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)
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())
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())
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)
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
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)
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)