def addserverdialog(db): server_type=browse.var(interop.anchor['servertype'].default) brw=browse.DialogBrowse(desktop.main_window,u'Konfigurace serverů') brw.vbox(border=5) brw.label(text=u'Typ serveru:') brw.combo(model=list(interop.anchor['servertype']),valuemodel=server_type,autosave=True) brw.defokcancel() brw.endsizer() if brw.run()==wx.ID_OK: songdb.DBServer.insertobject(db,{'type':server_type.get().name}) db.commit() interop.send_flag('reloaddb')
def updateserver(self,ev): try: dlg=wx.ProgressDialog(u"Aktualizace ze serveru",u"Aktualizace ze serveru",parent=desktop.main_window) db, serverid = self.serverctrl.getcurdbtuple() server = db.server(serverid).iserver() self.getcurdb().clearserver(serverid) s = server.download_db() xml = etree.parse(StringIO(s)) self.getcurdb().importxml(xml, serverid) interop.send_flag('reloaddb') finally: dlg.Destroy()
def editgroupdialog(group): brw=browse.DialogBrowse(desktop.main_window,u'Upravit skupinu') brw.vbox() brw.grid(rows=2,cols=2,border=5) brw.label(text=u'Jméno') brw.edit(model=browse.attr(group,'name')) brw.label(text=u'Web') brw.edit(model=browse.attr(group,'url')) brw.endsizer() brw.defokcancel() brw.endsizer() if brw.run()==wx.ID_OK: group.commit() interop.send_flag('reloaddb')
def editsong(song): brw=browse.DialogBrowse(desktop.main_window,u'Úprava písně') brw.vbox() brw.hbox(border=5) brw.label(text=u'Název:') brw.edit(model=browse.attr(song,'title')) brw.label(text=u'Autor:') brw.edit(model=browse.attr(song,'author')) brw.label(text=u'Skupina:') brw.combo(model=songdb.DBGroup.enum(song.db),valuemodel=browse.attr(song,'groupobj')) brw.endsizer() brw.memo(proportion=1,size=(-1,300),model=browse.attr(song,'text')) brw.hbox(border=5,layoutflags=wx.CENTER) brw.button(text='OK',event=lambda ev:brw.ok()) brw.button(text='Storno',event=lambda ev:brw.cancel()) brw.endsizer() brw.endsizer() if brw.run()==wx.ID_OK: song.commit() interop.send_flag('reloaddb')
def addgroupdialog(db): server=browse.var(dbobject.EmptyDBObject()) name=browse.var('??') url=browse.var('') brw=browse.DialogBrowse(desktop.main_window,u'Přidat skupinu') brw.vbox() brw.grid(rows=2,cols=2,border=5) brw.label(text=u'Server (už nepůjde měnit)') #print [songdb.EmptyDBObject()]+songdb.DBServer.enum(db) brw.combo(model=([dbobject.EmptyDBObject()]+songdb.DBServer.enum(db)),valuemodel=server) brw.label(text=u'Jméno') brw.edit(model=name) brw.label(text=u'Web') brw.edit(model=url) brw.endsizer() brw.defokcancel() brw.endsizer() if brw.run()==wx.ID_OK: songdb.DBGroup.insertobject(db,{'name':name.get(),'url':url.get(),'serverid':server.get().id}) db.commit() interop.send_flag('reloaddb')
def dbimportdialog(db): def addfile(ev): file=utils.open_dialog(desktop.main_window,'*.*') if file: brw['files'].append(file) files=[] filter=browse.var(interop.anchor['importfilter'].default) server=browse.var(dbobject.EmptyDBObject()) brw=browse.DialogBrowse(desktop.main_window,u'Import') brw.vbox(border=5) brw.label(text=u'Soubory:') brw.listbox(model=files,id='files') brw.button(text=u'Přidat',event=addfile) brw.hbox(border=5) brw.label(text=u'Filtry:') brw.combo(model=list(interop.anchor['importfilter']),valuemodel=filter) brw.endsizer() brw.hbox(border=5) brw.label(text=u'Server:') brw.combo(model=[dbobject.EmptyDBObject()]+songdb.DBServer.enum(db),valuemodel=server) brw.endsizer() brw.defokcancel() brw.endsizer() if brw.run()==wx.ID_OK: try: dlg=wx.ProgressDialog(u"Import písní",u"Import písní",parent=desktop.main_window) xml=filter.get().getsongxml(files) db.importxml(xml,server.get().id) finally: dlg.Destroy() interop.send_flag('reloaddb')
def recreate_menu(): interop.send_flag('recreate_menu')
def editserverdialog(server): server_object=server.iserver() if server_object.edit(): server.assign(server_object) server.commit() interop.send_flag('reloaddb')
def clearserver(self,ev): self.getcurdb().clearserver(self.serverctrl.getcurdbtuple()[1]) interop.send_flag('reloaddb')
def wantformat(self): interop.send_flag('format_songbook')