def __init__(self, transient_for):
kwargs = {}
if self.use_header_bar:
kwargs['use_header_bar'] = True
Gtk.Dialog.__init__(self, transient_for=transient_for,
title=_("Preferences"), **kwargs)
self.set_default_size(500, -1)
if not self.use_header_bar:
self.add_button(_("Close"), Gtk.ResponseType.CLOSE)
self.set_default_response(Gtk.ResponseType.CLOSE)
else:
# can't do it now, it doesn't have window decorations yet!
GLib.idle_add(self.make_enter_close_the_dialog)
builder = Gtk.Builder.new_from_file(PREFERENCES_UI_FILE)
vbox = builder.get_object('dialog-vbox')
self.get_content_area().add(vbox)
virtual_midnight_entry = builder.get_object('virtual_midnight_entry')
self.virtual_midnight_entry = virtual_midnight_entry
hours_entry = builder.get_object('hours_entry')
office_hours_entry = builder.get_object('office_hours_entry')
name_entry = builder.get_object('name_entry')
sender_entry = builder.get_object('sender_entry')
recipient_entry = builder.get_object('recipient_entry')
self.gsettings = Gio.Settings.new("org.gtimelog")
self.gsettings.bind('hours', hours_entry, 'value', Gio.SettingsBindFlags.DEFAULT)
self.gsettings.bind('office-hours', office_hours_entry, 'value', Gio.SettingsBindFlags.DEFAULT)
self.gsettings.bind('name', name_entry, 'text', Gio.SettingsBindFlags.DEFAULT)
self.gsettings.bind('sender', sender_entry, 'text', Gio.SettingsBindFlags.DEFAULT)
self.gsettings.bind('list-email', recipient_entry, 'text', Gio.SettingsBindFlags.DEFAULT)
self.gsettings.connect('changed::virtual-midnight', self.virtual_midnight_changed)
self.virtual_midnight_changed()
self.virtual_midnight_entry.connect('focus-out-event', self.virtual_midnight_set)
评论列表
文章目录