class ClientManagerWidget(BaseManagerWidget): def __init__(self, parent, db, *args): BaseManagerWidget.__init__(self, parent, db, ClientView, 'ClientManager') def initActions(self): collection = self.actionCollection() self.newAction = KStdAction.openNew(self.slotNew, collection) self.editaddressAction = EditAddresses(self.slotEditAddresses, collection) self.configureAction = ConfigureKonsultant(self.slotConfigure, collection) print self.editaddressAction def initMenus(self): mainMenu = KPopupMenu(self) self.newAction.plug(mainMenu) self.editaddressAction.plug(mainMenu) self.configureAction.plug(mainMenu) self.menuBar().insertItem('&Main', mainMenu) self.menuBar().insertItem('&Help', self.helpMenu('')) def initlistView(self): self.listView.addColumn('client') self.listView.setRootIsDecorated(True) clients = KListViewItem(self.listView, 'clients') rows = self.db.mcursor.select(fields=['clientid', 'client'], table='clients') for row in rows: c = KListViewItem(clients, row['client']) c.clientid = row.clientid def slotConfigure(self): ConfigureDialog(self) def slotNew(self): self.testAction('new') def slotEditAddresses(self): print 'hello' AddressSelector(self, self.db) def testAction(self, action): KMessageBox.error(self, QString('<html>action <b>%s</b> not ready</html>' % action)) def selectionChanged(self): current = self.listView.currentItem() if hasattr(current, 'clientid'): self.setClientView(current.clientid) else: self.view.setText('<b>clients</b>') def setClientView(self, clientid): self.view.set_client(clientid)
class KonsultantMainWindow(KMainWindow): def __init__(self, app, *args): KMainWindow.__init__(self, *args) self.app = app self.icons = KIconLoader() if self.app.pgpool is not None: self.systray = KSystemTray(self) self.systray.setPixmap(self.icons.loadIcon('connect_no', 1)) self.systray.show() self.initActions() self.initMenus() self.initToolbar() self.db = app.db self.cfg = app.cfg def initActions(self): collection = self.actionCollection() self.editaddressAction = EditAddresses(self.slotEditAddresses, collection) self.manageclientsAction = ManageClients(self.slotManageClients, collection) self.manageticketsAction = ManageTickets(self.slotManageTickets, collection) self.configureAction = ConfigureKonsultant(self.slotConfigure, collection) self.quitAction = KStdAction.quit(self.app.quit, collection) def initMenus(self): mainMenu = KPopupMenu(self) menus = [mainMenu] if self.app.pgpool is not None: trayMenu = self.systray.contextMenu() menus.append(trayMenu) self.menuBar().insertItem('&Main', mainMenu) self.menuBar().insertItem('&Help', self.helpMenu('')) for menu in menus: self.editaddressAction.plug(menu) self.manageclientsAction.plug(menu) self.manageticketsAction.plug(menu) self.configureAction.plug(menu) self.quitAction.plug(menu) def initToolbar(self): toolbar = self.toolBar() actions = [self.manageclientsAction, self.manageticketsAction, self.editaddressAction, self.configureAction, self.quitAction] for action in actions: action.plug(toolbar) def slotEditAddresses(self): AddressSelector(self, self.db, 'AddressBrowser', modal=False) def slotManageClients(self): win = ClientManagerWidget(self, self.app) win.show() def slotManageTickets(self): win = TicketManagerWidget(self, self.db) win.show() def slotConfigure(self): print 'Configure Konsultant' c = ConfigureDialog(self, self.cfg) c.show()
class ClientManagerWidget(BaseManagerWidget): def __init__(self, parent, app, *args): BaseManagerWidget.__init__(self, parent, app, ClientView, 'ClientManager') self.cfg = self.app.cfg self.cfg.setGroup('client-gui') size = self.cfg.readEntry('mainwinsize') w, h = [int(x.strip()) for x in str(size).split(',')] #self.resize(QSize(w, h)) self.dialogs = {} self.manager = ClientManager(self.app) self.initToolbar() self.resize(800, 600) def initActions(self): collection = self.actionCollection() self.newAction = KStdAction.openNew(self.slotNew, collection) self.quitAction = KStdAction.quit(self.app.quit, collection) self.editaddressAction = EditAddresses(self.slotEditAddresses, collection) self.configureAction = ConfigureKonsultant(self.slotConfigure, collection) self.manageTicketsAction = ManageTickets(self.slotManageTickets, collection) print self.editaddressAction def initMenus(self): mainMenu = KPopupMenu(self) self.newAction.plug(mainMenu) self.manageTicketsAction.plug(mainMenu) self.editaddressAction.plug(mainMenu) self.quitAction.plug(mainMenu) self.configureAction.plug(mainMenu) self.menuBar().insertItem('&Main', mainMenu) self.menuBar().insertItem('&Help', self.helpMenu('')) def initlistView(self): self.listView.addColumn('client') self.listView.setRootIsDecorated(True) self.refreshlistView() def initToolbar(self): toolbar = self.toolBar() actions = [self.newAction, self.manageTicketsAction, self.editaddressAction, self.quitAction] for action in actions: action.plug(toolbar) def refreshlistView(self): self.listView.clear() clients = KListViewItem(self.listView, 'clients') rows = self.db.mcursor.select(fields=['clientid', 'client'], table='clients') for row in rows: c = KListViewItem(clients, row['client']) c.clientid = row.clientid def slotConfigure(self): ConfigureDialog(self) def slotNew(self): dlg = ClientDialog(self, self.db) dlg.connect(dlg, SIGNAL('okClicked()'), self.insertClientok) self.dialogs['new-client'] = dlg def slotEditAddresses(self): AddressSelector(self, self.app) def testAction(self, action): KMessageBox.error(self, QString('<html>action <b>%s</b> not ready</html>' % action)) def selectionChanged(self): current = self.listView.currentItem() if hasattr(current, 'clientid'): self.setClientView(current.clientid) else: self.view.setText('<b>clients</b>') def insertClientok(self): dlg = self.dialogs['new-client'] data = dict([(k,v.text()) for k,v in dlg.grid.entries.items()]) clientid = self.manager.insertClient(str(dlg.grid.entries['client'].text())) self.setClientView(clientid) self.refreshlistView() def setClientView(self, clientid): self.view.set_client(clientid) def slotManageTickets(self): TicketManagerWidget(self, self.app, self.db)