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 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 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 ask_servers(): servers=[] 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'Servery:') brw.listbox(model=servers,id='servers',size=(200,200)) brw.grid(cols=2,rows=2,border=5) brw.button(text=u'Přidat server typu:',event=lambda ev:brw['servers'].append(server_type.get().create())) brw.combo(model=list(interop.anchor['servertype']),valuemodel=server_type,autosave=True) brw.button(text=u'Ubrat',event=lambda ev:brw['servers'].eraseact()) brw.button(text=u'Upravit',event=lambda ev:(brw['servers'].getitem().edit(),brw['servers'].reloadact())) brw.button(text=u'<<',event=lambda ev:brw['servers'].moveup()) brw.button(text=u'>>',event=lambda ev:brw['servers'].movedown()) 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: return servers return None