def __init__(self, **kwargs): gtk.Dialog.__init__(self, **kwargs) self.set_title(_('Export')) self.vbox.set_spacing(10) #### dialog_add_button(self, gtk.STOCK_CANCEL, _('_Cancel'), gtk.ResponseType.CANCEL) dialog_add_button(self, gtk.STOCK_OK, _('_OK'), gtk.ResponseType.OK) #### hbox = gtk.HBox() frame = gtk.Frame() frame.set_label(_('Format')) radioBox = gtk.VBox() ## self.radioIcs = gtk.RadioButton(label='iCalendar') self.radioJsonCompact = gtk.RadioButton( label=_('Compact JSON (StarCalendar)'), group=self.radioIcs) self.radioJsonPretty = gtk.RadioButton( label=_('Pretty JSON (StarCalendar)'), group=self.radioIcs) ## pack(radioBox, self.radioJsonCompact) pack(radioBox, self.radioJsonPretty) pack(radioBox, self.radioIcs) ## self.radioJsonCompact.set_active(True) self.radioIcs.connect('clicked', self.formatRadioChanged) self.radioJsonCompact.connect('clicked', self.formatRadioChanged) self.radioJsonPretty.connect('clicked', self.formatRadioChanged) ## frame.add(radioBox) pack(hbox, frame) pack(hbox, gtk.Label(''), 1, 1) pack(self.vbox, hbox) ######## hbox = gtk.HBox(spacing=2) pack(hbox, gtk.Label(_('File') + ':')) self.fpathEntry = gtk.Entry() self.fpathEntry.set_text( join(deskDir, 'events-%.4d-%.2d-%.2d' % core.getSysDate(DATE_GREG))) pack(hbox, self.fpathEntry, 1, 1) pack(self.vbox, hbox) #### self.groupSelect = GroupsTreeCheckList() swin = gtk.ScrolledWindow() swin.add(self.groupSelect) swin.set_policy(gtk.PolicyType.AUTOMATIC, gtk.PolicyType.AUTOMATIC) pack(self.vbox, swin, 1, 1) #### self.vbox.show_all() self.formatRadioChanged() self.resize(600, 600)
def __init__(self, **kwargs): gtk.Dialog.__init__(self, **kwargs) self.set_title(_('Export')) self.vbox.set_spacing(10) #### dialog_add_button(self, gtk.STOCK_CANCEL, _('_Cancel'), gtk.ResponseType.CANCEL) dialog_add_button(self, gtk.STOCK_OK, _('_OK'), gtk.ResponseType.OK) #### hbox = gtk.HBox() frame = gtk.Frame() frame.set_label(_('Format')) radioBox = gtk.VBox() ## self.radioIcs = gtk.RadioButton(label='iCalendar') self.radioJsonCompact = gtk.RadioButton(label=_('Compact JSON (StarCalendar)'), group=self.radioIcs) self.radioJsonPretty = gtk.RadioButton(label=_('Pretty JSON (StarCalendar)'), group=self.radioIcs) ## pack(radioBox, self.radioJsonCompact) pack(radioBox, self.radioJsonPretty) pack(radioBox, self.radioIcs) ## self.radioJsonCompact.set_active(True) self.radioIcs.connect('clicked', self.formatRadioChanged) self.radioJsonCompact.connect('clicked', self.formatRadioChanged) self.radioJsonPretty.connect('clicked', self.formatRadioChanged) ## frame.add(radioBox) pack(hbox, frame) pack(hbox, gtk.Label(''), 1, 1) pack(self.vbox, hbox) ######## hbox = gtk.HBox(spacing=2) pack(hbox, gtk.Label(_('File')+':')) self.fpathEntry = gtk.Entry() self.fpathEntry.set_text(join(deskDir, 'events-%.4d-%.2d-%.2d'%core.getSysDate(DATE_GREG))) pack(hbox, self.fpathEntry, 1, 1) pack(self.vbox, hbox) #### self.groupSelect = GroupsTreeCheckList() swin = gtk.ScrolledWindow() swin.add(self.groupSelect) swin.set_policy(gtk.PolicyType.AUTOMATIC, gtk.PolicyType.AUTOMATIC) pack(self.vbox, swin, 1, 1) #### self.vbox.show_all() self.formatRadioChanged() self.resize(600, 600)
class MultiGroupExportDialog(gtk.Dialog, MyDialog): def __init__(self, **kwargs): gtk.Dialog.__init__(self, **kwargs) self.set_title(_("Export")) self.vbox.set_spacing(10) #### dialog_add_button( self, gtk.STOCK_CANCEL, _("_Cancel"), gtk.ResponseType.CANCEL, ) dialog_add_button( self, gtk.STOCK_OK, _("_OK"), gtk.ResponseType.OK, ) #### hbox = gtk.HBox() frame = gtk.Frame() frame.set_label(_("Format")) radioBox = gtk.VBox() ## self.radioIcs = gtk.RadioButton(label="iCalendar", ) self.radioJsonCompact = gtk.RadioButton( label=_("Compact JSON (StarCalendar)"), group=self.radioIcs, ) self.radioJsonPretty = gtk.RadioButton( label=_("Pretty JSON (StarCalendar)"), group=self.radioIcs, ) ## pack(radioBox, self.radioJsonCompact) pack(radioBox, self.radioJsonPretty) pack(radioBox, self.radioIcs) ## self.radioJsonCompact.set_active(True) self.radioIcs.connect("clicked", self.formatRadioChanged) self.radioJsonCompact.connect("clicked", self.formatRadioChanged) self.radioJsonPretty.connect("clicked", self.formatRadioChanged) ## frame.add(radioBox) pack(hbox, frame) pack(hbox, gtk.Label(""), 1, 1) pack(self.vbox, hbox) ######## hbox = gtk.HBox(spacing=2) pack(hbox, gtk.Label(_("File") + ":")) self.fpathEntry = gtk.Entry() self.fpathEntry.set_text( join( deskDir, "events-%.4d-%.2d-%.2d" % core.getSysDate(DATE_GREG), )) pack(hbox, self.fpathEntry, 1, 1) pack(self.vbox, hbox) #### self.groupSelect = GroupsTreeCheckList() swin = gtk.ScrolledWindow() swin.add(self.groupSelect) swin.set_policy(gtk.PolicyType.AUTOMATIC, gtk.PolicyType.AUTOMATIC) pack(self.vbox, swin, 1, 1) #### self.vbox.show_all() self.formatRadioChanged() self.resize(600, 600) def formatRadioChanged(self, widget=None): #self.dateRangeBox.set_visible(self.radioIcs.get_active()) ### fpath = self.fpathEntry.get_text() if fpath: fpath_nox, ext = splitext(fpath) if fpath_nox: if self.radioIcs.get_active(): if ext != ".ics": ext = ".ics" else: if ext != ".json": ext = ".json" self.fpathEntry.set_text(fpath_nox + ext) def save(self): fpath = self.fpathEntry.get_text() activeGroupIds = self.groupSelect.getValue() if self.radioIcs.get_active(): ui.eventGroups.exportToIcs(fpath, activeGroupIds) else: data = ui.eventGroups.exportData(activeGroupIds) ## what to do with all groupData["info"] s? FIXME if self.radioJsonCompact.get_active(): text = dataToCompactJson(data) elif self.radioJsonPretty.get_active(): text = dataToPrettyJson(data) else: raise RuntimeError open(fpath, "w", encoding="utf-8").write(text) def run(self): if gtk.Dialog.run(self) == gtk.ResponseType.OK: self.waitingDo(self.save) self.destroy()
class MultiGroupExportDialog(gtk.Dialog, MyDialog): def __init__(self, **kwargs): gtk.Dialog.__init__(self, **kwargs) self.set_title(_("Export")) self.vbox.set_spacing(10) #### dialog_add_button( self, gtk.STOCK_CANCEL, _("_Cancel"), gtk.ResponseType.CANCEL, ) dialog_add_button( self, gtk.STOCK_OK, _("_OK"), gtk.ResponseType.OK, ) #### hbox = gtk.HBox() frame = gtk.Frame() frame.set_label(_("Format")) radioBox = gtk.VBox() ## self.radioIcs = gtk.RadioButton( label="iCalendar", ) self.radioJsonCompact = gtk.RadioButton( label=_("Compact JSON (StarCalendar)"), group=self.radioIcs, ) self.radioJsonPretty = gtk.RadioButton( label=_("Pretty JSON (StarCalendar)"), group=self.radioIcs, ) ## pack(radioBox, self.radioJsonCompact) pack(radioBox, self.radioJsonPretty) pack(radioBox, self.radioIcs) ## self.radioJsonCompact.set_active(True) self.radioIcs.connect("clicked", self.formatRadioChanged) self.radioJsonCompact.connect("clicked", self.formatRadioChanged) self.radioJsonPretty.connect("clicked", self.formatRadioChanged) ## frame.add(radioBox) pack(hbox, frame) pack(hbox, gtk.Label(""), 1, 1) pack(self.vbox, hbox) ######## hbox = gtk.HBox(spacing=2) pack(hbox, gtk.Label(_("File") + ":")) self.fpathEntry = gtk.Entry() self.fpathEntry.set_text(join( deskDir, "events-%.4d-%.2d-%.2d" % core.getSysDate(DATE_GREG), )) pack(hbox, self.fpathEntry, 1, 1) pack(self.vbox, hbox) #### self.groupSelect = GroupsTreeCheckList() swin = gtk.ScrolledWindow() swin.add(self.groupSelect) swin.set_policy(gtk.PolicyType.AUTOMATIC, gtk.PolicyType.AUTOMATIC) pack(self.vbox, swin, 1, 1) #### self.vbox.show_all() self.formatRadioChanged() self.resize(600, 600) def formatRadioChanged(self, widget=None): #self.dateRangeBox.set_visible(self.radioIcs.get_active()) ### fpath = self.fpathEntry.get_text() if fpath: fpath_nox, ext = splitext(fpath) if fpath_nox: if self.radioIcs.get_active(): if ext != ".ics": ext = ".ics" else: if ext != ".json": ext = ".json" self.fpathEntry.set_text(fpath_nox + ext) def save(self): fpath = self.fpathEntry.get_text() activeGroupIds = self.groupSelect.getValue() if self.radioIcs.get_active(): ui.eventGroups.exportToIcs(fpath, activeGroupIds) else: data = ui.eventGroups.exportData(activeGroupIds) ## what to do with all groupData["info"] s? FIXME if self.radioJsonCompact.get_active(): text = dataToCompactJson(data) elif self.radioJsonPretty.get_active(): text = dataToPrettyJson(data) else: raise RuntimeError open(fpath, "w", encoding="utf-8").write(text) def run(self): if gtk.Dialog.run(self) == gtk.ResponseType.OK: self.waitingDo(self.save) self.destroy()