try:
fb2c = Hermes(self,
twitter = (self.get_use_twitter() and self.get_twitter_credentials()) or None,
- facebook = self.get_use_facebook())
+ facebook = self.get_use_facebook(),
+ empty = self.get_create_empty())
fb2c.load_friends()
fb2c.sync_contacts(resync = force)
gobject.idle_add(self.open_summary, fb2c)
dialog = gtk.Dialog('Accounts', self.window)
dialog.add_button('Save', gtk.RESPONSE_OK)
- use_facebook = hildon.CheckButton(gtk.HILDON_SIZE_FINGER_HEIGHT)
- use_facebook.set_label('Use Facebook')
+ #pa = hildon.PannableArea()
+ #dialog.vbox.add(pa)
+ content = dialog.vbox
+ #content = gtk.VBox()
+ #pa.add(content)
+ #pa.set_size_request(600, 380)
+
+ use_facebook = self.new_checkbox('Use Facebook', content)
use_facebook.set_active(self.get_use_facebook())
- dialog.vbox.add(use_facebook)
- use_twitter = hildon.CheckButton(gtk.HILDON_SIZE_FINGER_HEIGHT)
- use_twitter.set_label('Use Twitter')
+ indent = self.new_indent(content)
+ fb_msg = self.add_linked(indent, use_facebook, gtk.Label('Note: authentication via web page'))
+ fb_msg.set_property('justify', gtk.JUSTIFY_LEFT)
+
+ fb_empty = self.add_linked(indent, use_facebook, self.new_checkbox('Create birthday-only contacts'))
+ fb_empty.set_active(self.get_create_empty())
+
+ use_twitter = self.new_checkbox('Use Twitter', content)
use_twitter.set_active(self.get_use_twitter())
- dialog.vbox.add(use_twitter)
- tw_indent = gtk.HBox()
- tw_user = hildon.Entry(gtk.HILDON_SIZE_FINGER_HEIGHT)
- tw_user.set_property('hildon-input-mode', gtk.HILDON_GTK_INPUT_MODE_FULL)
- tw_user.set_placeholder("Twitter username")
- tw_user.set_property('is-focus', False)
+ indent = self.new_indent(content)
+ tw_user = self.add_linked(indent, use_twitter, self.new_input('Twitter username'))
tw_user.set_text(self.get_twitter_credentials()[0])
- self.sync_edit(use_twitter, tw_user)
- use_twitter.connect('toggled', self.sync_edit, tw_user)
- tw_indent.pack_start(tw_user, padding=48)
- dialog.vbox.add(tw_indent)
-
- tw_indent = gtk.HBox()
- tw_pass = hildon.Entry(gtk.HILDON_SIZE_FINGER_HEIGHT)
- tw_pass.set_placeholder("Twitter password")
+
+ tw_pass = self.add_linked(indent, use_twitter, self.new_input('Twitter password'))
tw_pass.set_property('hildon-input-mode', gtk.HILDON_GTK_INPUT_MODE_FULL |
gtk.HILDON_GTK_INPUT_MODE_INVISIBLE)
tw_pass.set_text(self.get_twitter_credentials()[1])
- self.sync_edit(use_twitter, tw_pass)
- use_twitter.connect('toggled', self.sync_edit, tw_pass)
- tw_indent.pack_start(tw_pass, padding=48)
- dialog.vbox.add(tw_indent)
dialog.show_all()
result = dialog.run()
dialog.hide()
if result == gtk.RESPONSE_OK:
self.set_use_facebook(use_facebook.get_active())
+ self.set_create_empty(fb_empty.get_active())
self.set_use_twitter(use_twitter.get_active(), tw_user.get_text(), tw_pass.get_text())
return result
-
+
+ # -----------------------------------------------------------------------
+ def new_checkbox(self, label, box = None):
+ checkbox = hildon.CheckButton(gtk.HILDON_SIZE_FINGER_HEIGHT)
+ checkbox.set_label(label)
+ if box:
+ box.add(checkbox)
+ return checkbox
+
+
+ # -----------------------------------------------------------------------
+ def new_indent(self, box):
+ outer = gtk.HBox()
+ indent = gtk.VBox()
+ outer.pack_start(indent, padding=48)
+ box.add(outer)
+ return indent
+
+
+ # -----------------------------------------------------------------------
+ def new_input(self, text, box = None):
+ input = hildon.Entry(gtk.HILDON_SIZE_FINGER_HEIGHT)
+ input.set_property('hildon-input-mode', gtk.HILDON_GTK_INPUT_MODE_FULL)
+ input.set_placeholder(text)
+ input.set_property('is-focus', False)
+ if box:
+ box.add(input)
+ return input
+
+
+ # -----------------------------------------------------------------------
+ def add_linked(self, box, ctrl, to_add):
+ box.add(to_add)
+ self.sync_edit(ctrl, to_add)
+ ctrl.connect('toggled', self.sync_edit, to_add)
+ return to_add
+
# -----------------------------------------------------------------------
def sync_edit(self, use_twitter, edit):
def set_use_facebook(self, value):
self.gc.set_bool("/apps/maemo/hermes/use_facebook", value)
+ def get_create_empty(self):
+ return self.gc.get_bool("/apps/maemo/hermes/create_empty")
+
+
+ def set_create_empty(self, value):
+ self.gc.set_bool("/apps/maemo/hermes/create_empty", value)
+
def get_use_twitter(self):
return self.gc.get_bool("/apps/maemo/hermes/use_twitter")