8 from gettext import gettext as _
9 from meabook.ui.fremantle_ui.common import create_button
16 dialog = hildon.Dialog()
17 dialog.set_title(_('Import'))
19 selector = hildon.TouchSelector(text=True)
20 items_dict = {_('Import from LDIF'): 'ldif', \
21 _('Import from database'): 'db'}
22 model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
23 for name, internal_name in items_dict.items():
24 model.append((name, internal_name))
25 if selector.get_num_columns():
26 selector.remove_column(0)
27 selector.append_text_column(model, True)
28 selector.get_column(0).set_property('text-column', 0)
29 selector.set_active(0, 1)
30 # create file format button
31 format_button = hildon.PickerButton(gtk.HILDON_SIZE_AUTO | \
32 gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL)
33 format_button.set_alignment(0, 0, 0, 0)
34 format_button.set_title(_("Import type"))
35 format_button.set_selector(selector)
36 # create file chooser button
37 fname_button = create_button(_('File name'), _('Choose file name'))
38 fname_button.connect('clicked', self.choose_file_name_cb)
40 import_button = dialog.add_button(_('Import'), gtk.RESPONSE_OK)
41 import_button.set_sensitive(False)
43 dialog.vbox.pack_start(format_button)
44 dialog.vbox.pack_start(fname_button)
45 dialog.vbox.show_all()
47 # create class attributes
49 self.import_button = import_button
50 self.format_button = format_button
51 self.fname_button = fname_button
52 self.selector = selector
55 response = self.dialog.run()
57 if response == gtk.RESPONSE_OK:
58 file_format = self.selector.get_model(0)[ \
59 self.selector.get_active(0)][1]
60 result = (file_format, self.fname_button.get_value())
64 def choose_file_name_cb(self, widget):
65 """Shows file chooser dialog."""
67 chooser = gobject.new(hildon.FileChooserDialog, \
68 action=gtk.FILE_CHOOSER_ACTION_OPEN)
69 chooser.set_property('show-files', True)
71 path = chooser.get_filename()
73 widget.set_value(path)
74 self.import_button.set_sensitive(True)