Beispiel #1
0
 def __init__(self,
              parent,
              table,
              fields,
              idcol,
              groupfields,
              mainview,
              name='PaellaRecordSelector'):
     #PaellaManagerWidget.__init__(self, parent, mainview, name=name)
     QSplitter.__init__(self, parent, name)
     BasePaellaWidget.initPaellaCommon(self)
     self.current = currentobject()
     self.table = table
     self.fields = fields
     self.idcol = idcol
     self.groupfields = groupfields
     self.listView = KListView(self)
     self.vsplit = QSplitter(self)
     self.vsplit.setOrientation(self.Vertical)
     self.mainView = mainview(self.vsplit)
     self.recordForm = EditableRecordFrame(self, fields)
     self.connect(self.listView, SIGNAL('selectionChanged()'),
                  self.groupChanged)
     self.connect(self.recordForm.insButton, SIGNAL('clicked()'),
                  self.insertRecord)
     self.connect(self.recordForm.updButton, SIGNAL('clicked()'),
                  self.updateRecord)
     self.initlistView()
     self.setSource(self.handleURL)
Beispiel #2
0
class PaellaRecordSelector(QSplitter, BasePaellaWidget):
    def __init__(self, parent, table, fields, idcol, groupfields,
                 mainview, name='PaellaRecordSelector'):
        #PaellaManagerWidget.__init__(self, parent, mainview, name=name)
        QSplitter.__init__(self, parent, name)
        BasePaellaWidget.initPaellaCommon(self)
        self.current = currentobject()
        self.table = table
        self.fields = fields
        self.idcol = idcol
        self.groupfields = groupfields
        self.listView = KListView(self)
        self.vsplit = QSplitter(self)
        self.vsplit.setOrientation(self.Vertical)
        self.mainView = mainview(self.vsplit)
        self.recordForm = EditableRecordFrame(self, fields)
        self.connect(self.listView, SIGNAL('selectionChanged()'),
                     self.groupChanged)
        self.connect(self.recordForm.insButton, SIGNAL('clicked()'),
                     self.insertRecord)
        self.connect(self.recordForm.updButton, SIGNAL('clicked()'),
                     self.updateRecord)
        self.initlistView()
        self.setSource(self.handleURL)
        
    def initlistView(self):
        self.listView.addColumn('group')
        self.listView.setRootIsDecorated(True)
class ImportsMainWindow(BaseMainWindow):
    def __init__(self, parent, name='ImportsMainWindow'):
        BaseMainWindow.__init__(self, parent, name=name)
        self.handler = AbandonGamesHandler(self.app)
        self.splitView = QSplitter(self)
        self.listView = KListView(self.splitView)
        self.connect(self.listView,
                     SIGNAL('selectionChanged()'), self.selectionChanged)
        
        self.initlistView()
        self.textView = MainAbandoniaPart(self.splitView)
        self.setCentralWidget(self.splitView)
        
        
    def initlistView(self):
        self.listView.addColumn('games', -1)
        self.refreshListView()
        
    def refreshListView(self):
        self.listView.clear()
        gameids = self.handler.get_all_html_ids()
        print 'in initlistView', gameids
        for gameid in gameids:
            #item = KListViewItem(self.listView, str(gameid))
            #item.gameid = gameid
            self.handler.get_game_data(gameid)
            item = KListViewItem(self.listView, self.handler.parser.title)
            item.gameid = gameid
            
    def selectionChanged(self):
        item = self.listView.currentItem()
        self.handler.get_game_data(item.gameid)
        print 'in selectionChanged', self.handler.parser.gameid
        self.textView.set_game_info(self.handler)
Beispiel #4
0
 def __init__(self, app, parent, name='FamilyList'):
     KListView.__init__(self, parent, name)
     dbwidget(self, app)
     self.family = Family(self.conn)
     
     self.setRootIsDecorated(True)
     self.addColumn('family')
     self.refreshlistView()
Beispiel #5
0
    def __init__(self, app, parent, name='FamilyList'):
        KListView.__init__(self, parent, name)
        dbwidget(self, app)
        self.family = Family(self.conn)

        self.setRootIsDecorated(True)
        self.addColumn('family')
        self.refreshlistView()
Beispiel #6
0
 def __init__(self, app, parent):
     KDialogBase.__init__(self, parent, 'SuiteSelector')
     dbwidget(self, app)
     self.suites = Suites(self.conn)
     self.listView = KListView(self)
     self.listView.addColumn('suite')
     self.setMainWidget(self.listView)
     self.refreshlistView()
     self.show()
Beispiel #7
0
    def __init__(self, parent, name='FamilyList'):
        KListView.__init__(self, parent, name)
        self.app = get_application_pointer()
        self.conn = self.app.conn

        self.family = Family(self.conn)

        self.setRootIsDecorated(True)
        self.addColumn('family')
        self.refreshlistView()
 def __init__(self, app, parent, clientid):
     KListView.__init__(self, parent)
     self.app = app
     self.manager = ClientManager(self.app)
     self.clientid = clientid
     self.addColumn('tag')
     self.addColumn('value')
     self.setRootIsDecorated(True)
     self.connect(self, SIGNAL('rightButtonClicked()'), self.popupmymenu)
     self.refreshlistView()
Beispiel #9
0
 def __init__(self, app, parent, etype='default', name='EnvironmentList'):
     KListView.__init__(self, parent, name)
     dbwidget(self, app)
     self.etype = etype
     self.environ = ETYPE[self.etype](self.conn)
     self.cursor = StatementCursor(self.conn)
     self.cursor.set_table('%s_environment' % self.etype)
     self.setRootIsDecorated(True)
     for field in ['section', 'option', 'value']:
         self.addColumn(field)
Beispiel #10
0
 def __init__(self, app, parent, etype='default', name='EnvironmentList'):
     KListView.__init__(self, parent, name)
     dbwidget(self, app)
     self.etype = etype
     self.environ = ETYPE[self.etype](self.conn)
     self.cursor = StatementCursor(self.conn)
     self.cursor.set_table('%s_environment' % self.etype)
     self.setRootIsDecorated(True)
     for field in ['section', 'option', 'value']:
         self.addColumn(field)
Beispiel #11
0
 def __init__(self, parent, name='FamilyList'):
     KListView.__init__(self, parent, name)
     self.app = get_application_pointer()
     self.conn = self.app.conn
     
     self.family = Family(self.conn)
     
     self.setRootIsDecorated(True)
     self.addColumn('family')
     self.refreshlistView()
Beispiel #12
0
 def __init__(self, app, parent, ftype='template', name='TraitList'):
     KListView.__init__(self, parent, name)
     dbwidget(self, app)
     self.ftype = ftype
     self.scripts = None
     self.templates = None
     self.traits = None
     self.setRootIsDecorated(True)
     self.addColumn('trait/file')
     self.addColumn('name')
     self.addColumn('package')
Beispiel #13
0
 def __init__(self, parent, etype='default', name='EnvironmentList'):
     KListView.__init__(self, parent, name)
     self.app = get_application_pointer()
     self.conn = self.app.conn
     self.etype = etype
     self.environ = ETYPE[self.etype](self.conn)
     self.cursor = self.conn.cursor(statement=True)
     self.cursor.set_table('%s_environment' % self.etype)
     self.setRootIsDecorated(True)
     for field in ['section', 'option', 'value']:
         self.addColumn(field)
Beispiel #14
0
 def __init__(self, app, parent, ftype='template', name='TraitList'):
     KListView.__init__(self, parent, name)
     dbwidget(self, app)
     self.ftype = ftype
     self.scripts = None
     self.templates = None
     self.traits = None
     self.setRootIsDecorated(True)
     self.addColumn('trait/file')
     self.addColumn('name')
     self.addColumn('package')
Beispiel #15
0
 def __init__(self, parent, etype='default', name='EnvironmentList'):
     KListView.__init__(self, parent, name)
     self.app = get_application_pointer()
     self.conn = self.app.conn
     self.etype = etype
     self.environ = ETYPE[self.etype](self.conn)
     self.cursor = self.conn.cursor(statement=True)
     self.cursor.set_table('%s_environment' % self.etype)
     self.setRootIsDecorated(True)
     for field in ['section', 'option', 'value']:
         self.addColumn(field)
Beispiel #16
0
 def __init__(self, parent):
     BasePaellaWindow.__init__(self, parent, name='ClientsMainWindow')
     self.initPaellaCommon()
     self.initActions()
     self.initMenus()
     self.initToolbar()
     self.cursor = self.conn.cursor(statement=True)
     self.listView = KListView(self)
     self.setCentralWidget(self.listView)
     self.refreshListView()
     self.resize(600, 800)
     self.setCaption('Paella Profiles')
Beispiel #17
0
 def __init__(self, parent, file_type='template', name='TraitListView'):
     KListView.__init__(self, parent, name)
     self.app = get_application_pointer()
     self.conn = self.app.conn
     self.file_type = file_type
     self.scripts = None
     self.templates = None
     self.traits = None
     self.trait = None
     self.setRootIsDecorated(True)
     self.addColumn('trait/file')
     self.addColumn('name')
     self.addColumn('package')
 def __init__(self, parent, name='EntityTypeWindow'):
     BaseMainWindow.__init__(self, parent, name=name)
     self.splitView = QSplitter(self, 'splitView')
     self.etypeView = KListView(self.splitView, 'etypes_view')
     self.extfieldsView = KListView(self.splitView, 'extfields_view')
     self.initActions()
     self.initMenus()
     self.initToolbar()
     self.setCentralWidget(self.splitView)
     self.connect(self.etypeView,
                  SIGNAL('selectionChanged()'), self.selectionChanged)
     self.initlistView()
     self.current_etype = None
Beispiel #19
0
 def __init__(self, parent, file_type='template', name='TraitListView'):
     KListView.__init__(self, parent, name)
     self.app = get_application_pointer()
     self.conn = self.app.conn
     self.file_type = file_type
     self.scripts = None
     self.templates = None
     self.traits = None
     self.trait = None
     self.setRootIsDecorated(True)
     self.addColumn('trait/file')
     self.addColumn('name')
     self.addColumn('package')
Beispiel #20
0
 def __init__(self, parent=None, name='PaellaMainWindowSmall'):
     print 'using window', name
     BasePaellaMainWindow.__init__(self, parent, name)
     # In this window, we use a listbox to select the other
     # parts of the application
     self.listView = KListView(self)
     self.listView.setRootIsDecorated(True)
     self.listView.addColumn('widget')
     self.setCentralWidget(self.listView)
     if self.app.conn is not None:
         self.refreshListView()
     self.setCaption('Main Menu')
     self.connect(self.listView, SIGNAL('selectionChanged()'),
                  self.selectionChanged)
Beispiel #21
0
 def slotManagekernels(self):
     self._killmainView()
     self._managing = 'kernels'
     table = 'kernels'
     rows = self.cursor.select(table='kernels')
     self.mainView = KListView(self)
     self.mainView.setRootIsDecorated(True)
     self.setCentralWidget(self.mainView)
     self.mainView.addColumn('kernel')
     self.connect(self.mainView,
                  SIGNAL('rightButtonClicked(QListViewItem *, const QPoint &, int )'),
                  self.slotMouseIsPressed)
     for row in rows:
         KListViewItem(self.mainView, row.kernel)
     self.mainView.show()
Beispiel #22
0
class SimpleSplitWindow(KMainWindow):
    def __init__(self, app, parent, view, name):
        KMainWindow.__init__(self, parent, name)
        self.app = app
        self.conn = app.conn
        self.mainView = QSplitter(self, 'mainView')
        self.listView = KListView(self.mainView)
        self.listView.setRootIsDecorated(True)
        self.view = view(self.app, self.mainView)
        self.setCentralWidget(self.mainView)
        if hasattr(self, 'initlistView'):
            self.initlistView()
        self.connect(self.listView,
                     SIGNAL('selectionChanged()'), self.selectionChanged)
        self.show()
class ProfileSelectorDialog(BaseDialogWindow):
    def __init__(self, parent, name='ProfileSelectorDialog'):
        BaseDialogWindow.__init__(self, parent, name=name)
        self.dbox = self.app.make_new_dosbox_object()
        profiles = self.dbox.get_profile_list()
        self.listView = KListView(self)
        self.listView.addColumn('profile')
        self.setMainWidget(self.listView)
        for profile in profiles:
            item = KListViewItem(self.listView, profile)
            item.profile = profile

    def get_selected_profile(self):
        item = self.listView.currentItem()
        return item.profile
Beispiel #24
0
class SuiteSelector(KDialogBase):
    def __init__(self, app, parent):
        KDialogBase.__init__(self, parent, 'SuiteSelector')
        dbwidget(self, app)
        self.suites = Suites(self.conn)
        self.listView = KListView(self)
        self.listView.addColumn('suite')
        self.setMainWidget(self.listView)
        self.refreshlistView()
        self.show()
        
    def refreshlistView(self):
        self.listView.clear()
        for suite in self.suites.list():
            item = KListViewItem(self.listView, suite)
            item.suite = suite
Beispiel #25
0
class BaseSplitWindow(BaseMainWindow):
    def __init__(self, parent, view, listview=None, name='BaseSplitWIndow'):
        BaseMainWindow.__init__(self, parent, name=name)
        self.splitter = QSplitter(self, 'mainView')
        if listview is None:
            self.listView = KListView(self.splitter)
        else:
            self.listView = listview(self.splitter)
        self.mainView = view(self.splitter)
        self.setCentralWidget(self.splitter)
        if hasattr(self, 'initlistView'):
            self.initlistView()
        elif hasattr(self.listView, 'initlistView'):
            self.listView.initlistView()
        self.connect(self.listView,
                     SIGNAL('selectionChanged()'), self.selectionChanged)
Beispiel #26
0
    def __init__(self, parent, name='MainEntityWindow'):
        BaseToolboxWindow.__init__(self, parent, name=name)
        self.splitView = QSplitter(self, 'splitView')
        self.listView = KListView(self.splitView, 'entities_view')
        self.textView = RtorrentInfoPart(self.splitView)
        self.initActions()
        self.initMenus()
        self.initToolbar()
        
        self.app.rtserver = Server(url="http://roujin/RPC2")
        self.app.rtorrent = Rtorrent(self.app.rtserver)

        #self._sortby = 'name'
        self.initlistView()

        self.connect(self.listView,
                     SIGNAL('selectionChanged()'), self.selectionChanged)
        self.connect(self.textView,
                     PYSIGNAL('EntityInfoUpdated'), self.refreshDisplay)
        self.setCentralWidget(self.splitView)

        
        # dialogs
        self._new_entity_dlg = None
        
        # resize window
        self.resize(400, 500)
        self.splitView.setSizes([75, 325])

        self.setAcceptDrops(True)
    def __init__(self, parent):
        KMainWindow.__init__(self, parent, 'Uncover Truth Frontend')
        self.app = get_application_pointer()
        self.splitView = QSplitter(self, 'splitView')
        self.listView = KListView(self.splitView, 'guests_view')
        self.textView = InfoPart(self.splitView)
        self.initlistView()

        self.connect(self.listView,
                     SIGNAL('selectionChanged()'), self.selectionChanged)
        self.connect(self.textView,
                     PYSIGNAL('GuestInfoUpdated'), self.refreshDisplay)
        self.setCentralWidget(self.splitView)

        collection = self.actionCollection()
        self.quitAction = KStdAction.quit(self.close, collection)
        self.newGuestAction = KStdAction.openNew(self.slotNewGuest, collection)
        self.selectAllAction = KStdAction.selectAll(self.slotSelectAll,
                                                    collection)
        mainmenu = KPopupMenu(self)
        self.newGuestAction.plug(mainmenu)
        self.selectAllAction.plug(mainmenu)
        self.quitAction.plug(mainmenu)
        menubar = self.menuBar()
        menubar.insertItem('&Main', mainmenu)

        toolbar = self.toolBar()
        self.newGuestAction.plug(toolbar)
        self.quitAction.plug(toolbar)
        
        self.new_guest_dialog = None

        # resize window
        self.resize(400, 500)
        self.splitView.setSizes([75, 325])
Beispiel #28
0
 def slotManagefilesystem(self):
     self._killmainView()
     self._managing = 'filesystems'
     self.mainView = FilesystemManager(self.app, self)
     self.setCentralWidget(self.mainView)
     self.mainView.show()
     print 'manage filesystems'
Beispiel #29
0
 def slotManagefilesystem(self):
     self._killmainView()
     self._managing = 'filesystems'
     self.mainView = FilesystemManager(self.app, self)
     self.setCentralWidget(self.mainView)
     self.mainView.show()
     print 'manage filesystems'
Beispiel #30
0
class SuiteSelector(KDialogBase):
    def __init__(self, app, parent):
        KDialogBase.__init__(self, parent, 'SuiteSelector')
        dbwidget(self, app)
        self.suites = Suites(self.conn)
        self.listView = KListView(self)
        self.listView.addColumn('suite')
        self.setMainWidget(self.listView)
        self.refreshlistView()
        self.show()

    def refreshlistView(self):
        self.listView.clear()
        for suite in self.suites.list():
            item = KListViewItem(self.listView, suite)
            item.suite = suite
Beispiel #31
0
 def __init__(self, app, parent):
     KMainWindow.__init__(self, parent, 'AdminWidget')
     self.app = app
     self.db = app.db
     self.manager = AdminDb(self.app)
     self.mainView = QSplitter(self, 'main view')
     self.listView = KListView(self.mainView)
     self.groupView = KListView(self.mainView)
     self.setCentralWidget(self.mainView)
     self.initActions()
     self.initMenus()
     self.initToolbar()
     self.initlistView()
     self.connect(self.listView,
                  SIGNAL('selectionChanged()'), self.selectionChanged)
     self.dialogs = {}
     self.show()
Beispiel #32
0
 def __init__(self, app, *args):
     KMainWindow.__init__(self, *args)
     self.app = app
     self.icons = KIconLoader()
     self.initActions()
     self.initMenus()
     self.initToolbar()
     self.conn = app.conn
     self.cfg = app.cfg
     self.cursor = StatementCursor(self.conn)
     self.listView = KListView(self)
     self.listView.setRootIsDecorated(True)
     self.listView.addColumn('widget')
     self.setCentralWidget(self.listView)
     self.refreshListView()
     self.connect(self.listView, SIGNAL('selectionChanged()'),
                  self.selectionChanged)
Beispiel #33
0
 def __init__(self, app, parent):
     KDialogBase.__init__(self, parent, 'SuiteSelector')
     dbwidget(self, app)
     self.suites = Suites(self.conn)
     self.listView = KListView(self)
     self.listView.addColumn('suite')
     self.setMainWidget(self.listView)
     self.refreshlistView()
     self.show()
Beispiel #34
0
 def __init__(self, app, parent, view, name):
     QSplitter.__init__(self, parent, name)
     self.app = app
     self.listView = KListView(self)
     self.view = view(self.app, self)
     self.initlistView()
     self.connect(self.listView, SIGNAL('selectionChanged()'),
                  self.selectionChanged)
     self.show()
Beispiel #35
0
class BaseTagDialogFrame(QFrame):
    def __init__(self, parent, name='BaseEntityDataFrame'):
        QFrame.__init__(self, parent, name)
        self.entityid = None
        numrows = 5
        numcols = 1
        margin = 0
        space = 1
        self.grid = QGridLayout(self, numrows, numcols,
                                margin, space, 'BaseEntityDataLayout')
        self.app = get_application_pointer()

        self.lbl = QLabel('Select the tags', self)
        self.grid.addWidget(self.lbl, 0, 0)

        self.listView = KListView(self)
        self.listView.addColumn('tagname', -1)
        self.listView.clear()
        self.grid.addMultiCellWidget(self.listView, 1, 4, 0, 0)
Beispiel #36
0
 def slotManagemachine_type(self):
     self._killmainView()
     self._managing = 'machine_types'
     self.mainView = MachineTypeManager(self.app, self)
     self.setCentralWidget(self.mainView)
     self.connect(self.mainView.listView,
                  SIGNAL('rightButtonClicked(QListViewItem *, const QPoint &, int )'),
                  self.slotMouseIsPressed)
     self.mainView.show()
     print 'manage machine_types'
Beispiel #37
0
 def slotManagemachine_type(self):
     self._killmainView()
     self._managing = 'machine_types'
     self.mainView = MachineTypeManager(self.app, self)
     self.setCentralWidget(self.mainView)
     self.connect(self.mainView.listView,
                  SIGNAL('rightButtonClicked(QListViewItem *, const QPoint &, int )'),
                  self.slotMouseIsPressed)
     self.mainView.show()
     print 'manage machine_types'
 def __init__(self, parent, name='ImportsMainWindow'):
     BaseMainWindow.__init__(self, parent, name=name)
     self.handler = AbandonGamesHandler(self.app)
     self.splitView = QSplitter(self)
     self.listView = KListView(self.splitView)
     self.connect(self.listView,
                  SIGNAL('selectionChanged()'), self.selectionChanged)
     
     self.initlistView()
     self.textView = MainAbandoniaPart(self.splitView)
     self.setCentralWidget(self.splitView)
Beispiel #39
0
 def __init__(self, parent):
     BasePaellaWindow.__init__(self, parent, name='ClientsMainWindow')
     self.initPaellaCommon()
     self.initActions()
     self.initMenus()
     self.initToolbar()
     self.cursor = self.conn.cursor(statement=True)
     self.listView = KListView(self)
     self.setCentralWidget(self.listView)
     self.refreshListView()
     self.resize(600, 800)
     self.setCaption('Paella Profiles')
Beispiel #40
0
 def __init__(self, app, *args):
     KMainWindow.__init__(self, *args)
     self.app = app
     self.icons = KIconLoader()
     self._environ_types = ['default', 'current']
     self._differ_types = ['trait', 'family']
     self.conn = app.conn
     self.cfg = app.cfg
     self.cursor = StatementCursor(self.conn)
     self._suites = [x.suite for x in self.cursor.select(table='suites')]
     self.initActions()
     self.initMenus()
     self.initToolbar()
     self.listView = KListView(self)
     self.listView.setRootIsDecorated(True)
     self.listView.addColumn('widget')
     self.setCentralWidget(self.listView)
     self.refreshListView()
     self.setCaption('Main Menu')
     self.connect(self.listView,
                  SIGNAL('selectionChanged()'), self.selectionChanged)
Beispiel #41
0
 def __init__(self, parent=None, name="PaellaMainWindowSmall"):
     print "using window", name
     BasePaellaMainWindow.__init__(self, parent, name)
     # In this window, we use a listbox to select the other
     # parts of the application
     self.listView = KListView(self)
     self.listView.setRootIsDecorated(True)
     self.listView.addColumn("widget")
     self.setCentralWidget(self.listView)
     if self.app.conn is not None:
         self.refreshListView()
     self.setCaption("Main Menu")
     self.connect(self.listView, SIGNAL("selectionChanged()"), self.selectionChanged)
Beispiel #42
0
 def slotManagemachine(self):
     self._killmainView()
     self._managing = 'machines'
     table='machines'
     rows = self.cursor.select(table='machines')
     columns = ['machine', 'machine_type', 'kernel', 'profile', 'filesystem']
     self.mainView = MachineManager(self.app, self)
     self.setCentralWidget(self.mainView)
     self.connect(self.mainView.listView,
                  SIGNAL('rightButtonClicked(QListViewItem *, const QPoint &, int )'),
                  self.slotMouseIsPressed)
     self.mainView.show()
     print 'manage machines'
     print '%d machines' % len(rows)
Beispiel #43
0
 def slotManagemachine(self):
     self._killmainView()
     self._managing = 'machines'
     table='machines'
     rows = self.cursor.select(table='machines')
     columns = ['machine', 'machine_type', 'kernel', 'profile', 'filesystem']
     self.mainView = MachineManager(self.app, self)
     self.setCentralWidget(self.mainView)
     self.connect(self.mainView.listView,
                  SIGNAL('rightButtonClicked(QListViewItem *, const QPoint &, int )'),
                  self.slotMouseIsPressed)
     self.mainView.show()
     print 'manage machines'
     print '%d machines' % len(rows)
Beispiel #44
0
 def slotManagekernels(self):
     self._killmainView()
     self._managing = 'kernels'
     table = 'kernels'
     rows = self.cursor.select(table='kernels')
     self.mainView = KListView(self)
     self.mainView.setRootIsDecorated(True)
     self.setCentralWidget(self.mainView)
     self.mainView.addColumn('kernel')
     self.connect(self.mainView,
                  SIGNAL('rightButtonClicked(QListViewItem *, const QPoint &, int )'),
                  self.slotMouseIsPressed)
     for row in rows:
         KListViewItem(self.mainView, row.kernel)
     self.mainView.show()
Beispiel #45
0
class ClientsMainWindow(BasePaellaWindow):
    def __init__(self, parent):
        BasePaellaWindow.__init__(self, parent, name='ClientsMainWindow')
        self.initPaellaCommon()
        self.initActions()
        self.initMenus()
        self.initToolbar()
        self.cursor = self.conn.cursor(statement=True)
        self.listView = KListView(self)
        self.setCentralWidget(self.listView)
        self.refreshListView()
        self.resize(600, 800)
        self.setCaption('Paella Profiles')

    def initActions(self):
        collection = self.actionCollection()
        self.quitAction = KStdAction.quit(self.close, collection)
        self.newClientAction = KStdAction.openNew(self.slotNewClient,
                                                  collection)

    def initMenus(self):
        mainmenu = KPopupMenu(self)
        menubar = self.menuBar()
        menubar.insertItem('&Main', mainmenu)
        menubar.insertItem('&Help', self.helpMenu(''))
        self.newClientAction.plug(mainmenu)
        self.quitAction.plug(mainmenu)

    def initToolbar(self):
        toolbar = self.toolBar()
        self.newClientAction.plug(toolbar)
        self.quitAction.plug(toolbar)

    def initlistView(self):
        self.listView.setRootIsDecorated(False)
        self.listView.addColumn('profile')

    def refreshListView(self):
        self.listView.clear()
        for row in self.profile.select(fields=['profile', 'suite'],
                                       order=['profile']):
            item = KListViewItem(self.listView, row.profile)
            item.profile = row.profile

    def slotNewClient(self):
        KMessageBox.information(self, 'New Client not ready yet.')

    def selectionChanged(self):
        item = self.listView.currentItem()
        self.mainView.set_profile(item.profile)
    def __init__(self, parent):
        KMainWindow.__init__(self, parent, 'PyKDE Dosbox Frontend')
        # setup app pointer
        self.app = get_application_pointer()
        self._init_common()
        self.setAcceptDrops(True)
        
        # place a splitter in the window
        self.splitView = QSplitter(self, 'splitView')
        # place a listview in the splitter (on the left)
        self.listView = KListView(self.splitView, 'games_view')
        # fill listview
        self.initlistView()
        # try to resize splitter
        # this is a kind of ugly hack, but seems to work ok
        x, y = self.myconfig.get_xy('mainwindow', 'mainwindow_size')
        self.splitView.setSizes([int(.1*x), int(.9*x)])
        # setup signals
        self.connect(self.listView,
                     SIGNAL('selectionChanged()'), self.selectionChanged)
        
        # place text browser in splitter
        #self.textView = InfoBrowser(self.splitView)
        # i may eventually use the KHTMLPart instead
        # of the KTextBrowser
        if self.app.myconfig.getboolean('mainwindow', 'use_khtml_part'):
            self.textView = InfoPart(self.splitView)
        else:
            self.textView = InfoBrowser(self.splitView)
        self.connect(self.textView, PYSIGNAL('GameInfoSet'), self.selectGame)

        self.statusbar = KStatusBar(self)
        self._set_current_profile(self.app.dosbox.current_profile)
        # set main widget
        self.setCentralWidget(self.splitView)

        # setup dialog pointers
        # it would be nice if I knew a better way to get
        # information from dialogs
        self.new_game_dir_dialog = None
        self.add_new_game_dlg = None
        self.set_profile_dlg = None
        
        # here we add some methods to the dcop object
        self.app.dcop.addMethod('void selectGame (QString)',  self.selectGame)
        self.app.dcop.addMethod('void launchSelectedGame()', self.slotLaunchDosbox)
Beispiel #47
0
 def __init__(self, app, *args):
     KMainWindow.__init__(self, *args)
     self.app = app
     self.icons = KIconLoader()
     self.initActions()
     self.initMenus()
     self.initToolbar()
     self.conn = app.conn
     self.cfg = app.cfg
     self.cursor = StatementCursor(self.conn)
     self.listView = KListView(self)
     self.listView.setRootIsDecorated(True)
     self.listView.addColumn('widget')
     self.setCentralWidget(self.listView)
     self.refreshListView()
     self.connect(self.listView,
                  SIGNAL('selectionChanged()'), self.selectionChanged)
Beispiel #48
0
class ClientsMainWindow(BasePaellaWindow):
    def __init__(self, parent):
        BasePaellaWindow.__init__(self, parent, name='ClientsMainWindow')
        self.initPaellaCommon()
        self.initActions()
        self.initMenus()
        self.initToolbar()
        self.cursor = self.conn.cursor(statement=True)
        self.listView = KListView(self)
        self.setCentralWidget(self.listView)
        self.refreshListView()
        self.resize(600, 800)
        self.setCaption('Paella Profiles')

    def initActions(self):
        collection = self.actionCollection()
        self.quitAction = KStdAction.quit(self.close, collection)
        self.newClientAction = KStdAction.openNew(self.slotNewClient, collection)

    def initMenus(self):
        mainmenu = KPopupMenu(self)
        menubar = self.menuBar()
        menubar.insertItem('&Main', mainmenu)
        menubar.insertItem('&Help', self.helpMenu(''))
        self.newClientAction.plug(mainmenu)
        self.quitAction.plug(mainmenu)

    def initToolbar(self):
        toolbar = self.toolBar()
        self.newClientAction.plug(toolbar)
        self.quitAction.plug(toolbar)

    def initlistView(self):
        self.listView.setRootIsDecorated(False)
        self.listView.addColumn('profile')

    def refreshListView(self):
        self.listView.clear()
        for row in self.profile.select(fields=['profile', 'suite'], order=['profile']):
            item = KListViewItem(self.listView, row.profile)
            item.profile = row.profile

    def slotNewClient(self):
        KMessageBox.information(self, 'New Client not ready yet.')

    def selectionChanged(self):
        item = self.listView.currentItem()
        self.mainView.set_profile(item.profile)
Beispiel #49
0
 def __init__(self, parent, db, table, fields, idcol, groupfields, view, name='RecordSelector'):
     QSplitter.__init__(self, parent, name)
     self.current = currentobject()
     self.db = db
     self.table = table
     self.fields = fields
     self.idcol = idcol
     self.groupfields = groupfields
     self.listView = KListView(self)
     self.vsplit = QSplitter(self)
     self.vsplit.setOrientation(Qt.Vertical)
     self.recView = view(db, self.vsplit)
     frame = QFrame(self.vsplit)
     self.recForm = EditableRecord(frame, fields)
     self.connect(self.listView, SIGNAL('selectionChanged()'), self.groupChanged)
     self.connect(self.recForm.insButton, SIGNAL('clicked()'), self.insertRecord)
     self.connect(self.recForm.updButton, SIGNAL('clicked()'), self.updateRecord)
     self.initlistView()
     self.setSource(self.handleURL)
Beispiel #50
0
class MachineMainWindow(KMainWindow):
    def __init__(self, app, parent):
        KMainWindow.__init__(self, parent)
        self.app = app
        self.icons = KIconLoader()
        self.initActions()
        self.initMenus()
        self.initToolbar()
        self.conn = app.conn
        self.cfg = app.cfg
        self.cursor = StatementCursor(self.conn)
        self.mainView = None
        self.resize(400, 300)
        self.show()

    def _killmainView(self):
        if self.mainView is not None:
            print 'need to kill mainView here'
            del self.mainView
            self.mainView = None

    def initActions(self):
        collection = self.actionCollection()
        self.quitAction = KStdAction.quit(self.app.quit, collection)
        self._manage_actions = {}
        for k, v in ManageActions.items():
            att = 'slotManage%s' % k
            self._manage_actions[k] = v(getattr(self, att), collection)

    def initMenus(self):
        mainMenu = KPopupMenu(self)
        actions = self._manage_actions.values()
        actions += [self.quitAction]
        self.menuBar().insertItem('&Main', mainMenu)
        self.menuBar().insertItem('&Help', self.helpMenu(''))
        for action in actions:
            action.plug(mainMenu)

    def initToolbar(self):
        toolbar = self.toolBar()
        actions = self._manage_actions.values()
        actions += [self.quitAction]
        for action in actions:
            action.plug(toolbar)

    def refreshListView(self):
        machine_folder = KListViewItem(self.listView, 'machines')

    def selectionChanged(self):
        current = self.listView.currentItem()
        print current, dir(current)

    def slotManagemachine(self):
        self._killmainView()
        self._managing = 'machines'
        table = 'machines'
        rows = self.cursor.select(table='machines')
        columns = [
            'machine', 'machine_type', 'kernel', 'profile', 'filesystem'
        ]
        self.mainView = MachineManager(self.app, self)
        self.setCentralWidget(self.mainView)
        self.connect(
            self.mainView.listView,
            SIGNAL(
                'rightButtonClicked(QListViewItem *, const QPoint &, int )'),
            self.slotMouseIsPressed)
        self.mainView.show()
        print 'manage machines'
        print '%d machines' % len(rows)

    def slotManagemachine_type(self):
        self._killmainView()
        self._managing = 'machine_types'
        self.mainView = MachineTypeManager(self.app, self)
        self.setCentralWidget(self.mainView)
        self.connect(
            self.mainView.listView,
            SIGNAL(
                'rightButtonClicked(QListViewItem *, const QPoint &, int )'),
            self.slotMouseIsPressed)
        self.mainView.show()
        print 'manage machine_types'

    def slotManagefilesystem(self):
        self._killmainView()
        self._managing = 'filesystems'
        self.mainView = FilesystemManager(self.app, self)
        self.setCentralWidget(self.mainView)
        self.mainView.show()
        print 'manage filesystems'

    def slotManagekernels(self):
        self._killmainView()
        self._managing = 'kernels'
        table = 'kernels'
        rows = self.cursor.select(table='kernels')
        self.mainView = KListView(self)
        self.mainView.setRootIsDecorated(True)
        self.setCentralWidget(self.mainView)
        self.mainView.addColumn('kernel')
        self.connect(
            self.mainView,
            SIGNAL(
                'rightButtonClicked(QListViewItem *, const QPoint &, int )'),
            self.slotMouseIsPressed)
        for row in rows:
            KListViewItem(self.mainView, row.kernel)
        self.mainView.show()

    def slotManagedisk(self):
        self._killmainView()
        print 'manage disks'

    def slotManagemount(self):
        self._killmainView()
        print 'manage mounts'

    def slotMouseIsPressed(self):
        print 'mouse press'
        KMessageBox.information(self, 'Managing %s' % self._managing)
Beispiel #51
0
class PaellaMainWindow(KMainWindow):
    def __init__(self, app, *args):
        KMainWindow.__init__(self, *args)
        self.app = app
        self.icons = KIconLoader()
        self.initActions()
        self.initMenus()
        self.initToolbar()
        self.conn = app.conn
        self.cfg = app.cfg
        self.cursor = StatementCursor(self.conn)
        self.listView = KListView(self)
        self.listView.setRootIsDecorated(True)
        self.listView.addColumn('widget')
        self.setCentralWidget(self.listView)
        self.refreshListView()
        self.connect(self.listView, SIGNAL('selectionChanged()'),
                     self.selectionChanged)

    def initActions(self):
        collection = self.actionCollection()
        self.manageFamiliesAction = ManageFamilies(self.slotManageFamilies,
                                                   collection)
        self.editTemplatesAction = EditTemplateAction(self.slotEditTemplates,
                                                      collection)
        self.quitAction = KStdAction.quit(self.app.quit, collection)

    def initMenus(self):
        mainMenu = KPopupMenu(self)
        actions = [
            self.manageFamiliesAction, self.editTemplatesAction,
            self.quitAction
        ]
        self.menuBar().insertItem('&Main', mainMenu)
        self.menuBar().insertItem('&Help', self.helpMenu(''))
        for action in actions:
            action.plug(mainMenu)

    def initToolbar(self):
        toolbar = self.toolBar()
        actions = [
            self.manageFamiliesAction, self.editTemplatesAction,
            self.quitAction
        ]
        for action in actions:
            action.plug(toolbar)

    def refreshListView(self):
        suite_folder = KListViewItem(self.listView, 'suites')
        for row in self.cursor.select(table='suites'):
            item = KListViewItem(suite_folder, row.suite)
            item.suite = row.suite
        profile_folder = KListViewItem(self.listView, 'profiles')
        profile_folder.profiles = True
        family_folder = KListViewItem(self.listView, 'families')
        family_folder.families = True
        machine_folder = KListViewItem(self.listView, 'machines')
        machine_folder.machines = True
        differ_folder = KListViewItem(self.listView, 'differs')
        differ_folder.differs = True
        for dtype in ['trait', 'family']:
            item = KListViewItem(differ_folder, dtype)
            item.dtype = dtype
        environ_folder = KListViewItem(self.listView, 'environ')
        environ_folder.environ = True
        for etype in ['default', 'current']:
            item = KListViewItem(environ_folder, etype)
            item.etype = etype

    def selectionChanged(self):
        current = self.listView.currentItem()
        if hasattr(current, 'suite'):
            print 'suite is', current.suite
            TraitMainWindow(self.app, self, current.suite)
        elif hasattr(current, 'profiles'):
            ProfileMainWindow(self.app, self)
        elif hasattr(current, 'families'):
            self.slotManageFamilies()
        elif hasattr(current, 'machines'):
            MachineMainWindow(self.app, self)
        elif hasattr(current, 'dtype'):
            print 'differ', current.dtype
            DifferWin(self.app, self, current.dtype)
        elif hasattr(current, 'etype'):
            DefEnvWin(self.app, self, current.etype)

    def slotManageFamilies(self):
        print 'running families'
        FamilyMainWindow(self.app, self)

    def slotEditTemplates(self):
        print 'edit templates'
Beispiel #52
0
class PaellaMainWindowSmall(BasePaellaMainWindow):
    def __init__(self, parent=None, name='PaellaMainWindowSmall'):
        print 'using window', name
        BasePaellaMainWindow.__init__(self, parent, name)
        # In this window, we use a listbox to select the other
        # parts of the application
        self.listView = KListView(self)
        self.listView.setRootIsDecorated(True)
        self.listView.addColumn('widget')
        self.setCentralWidget(self.listView)
        if self.app.conn is not None:
            self.refreshListView()
        self.setCaption('Main Menu')
        self.connect(self.listView, SIGNAL('selectionChanged()'),
                     self.selectionChanged)

    def _import_export_directory_selected(self):
        BasePaellaMainWindow._import_export_directory_selected(self)
        self.refreshListView()

    def refreshListView(self):
        self.listView.clear()
        self._refresh_suites()
        suite_folder = KListViewItem(self.listView, 'suites')
        suite_folder.folder = True
        for suite in self._suites:
            item = KListViewItem(suite_folder, suite)
            item.suite = suite
        profile_folder = KListViewItem(self.listView, 'profiles')
        profile_folder.profiles = True
        family_folder = KListViewItem(self.listView, 'families')
        family_folder.families = True
        machine_folder = KListViewItem(self.listView, 'machines')
        machine_folder.machines = True
        differ_folder = KListViewItem(self.listView, 'differs')
        differ_folder.differs = True
        differ_folder.folder = True
        for dtype in ['trait', 'family']:
            item = KListViewItem(differ_folder, dtype)
            item.dtype = dtype
        environ_folder = KListViewItem(self.listView, 'environ')
        environ_folder.environ = True
        environ_folder.folder = True
        for etype in ['default', 'current']:
            item = KListViewItem(environ_folder, etype)
            item.etype = etype
        # installer widget is still unimplemented
        if False:
            installer_folder = KListViewItem(self.listView, 'installer')
            installer_folder.installer = True
        if self.app.cfg.getboolean('management_gui', 'client_widget'):
            clients_folder = KListViewItem(self.listView, 'clients')
            clients_folder.clients = True

    def selectionChanged(self):
        current = self.listView.currentItem()
        win = None
        if hasattr(current, 'suite'):
            print 'suite is', current.suite
            if not self._suites:
                KMessageBox.information(self, "No suites are present.")
            else:
                win = TraitMainWindow(self, current.suite)
        elif hasattr(current, 'profiles'):
            win = ProfileMainWindow(self)
        elif hasattr(current, 'families'):
            self.slotManageFamilies()
        elif hasattr(current, 'machines'):
            win = MachineMainWindow(self)
        elif hasattr(current, 'dtype'):
            print 'differ', current.dtype
            win = DifferWindow(self, current.dtype)
        elif hasattr(current, 'etype'):
            win = EnvironmentWindow(self, current.etype)
        elif hasattr(current, 'installer'):
            #win = InstallerMainWin(self)
            KMessageBox.information(self, 'Not Implemented')
        elif hasattr(current, 'clients'):
            win = ClientsMainWindow(self)
        elif hasattr(current, 'folder'):
            # nothing important selected, do nothing
            pass
        else:
            KMessageBox.error(self,
                              'something bad happened in the list selection')
        if win is not None:
            win.show()
            self._all_my_children.append(win)

    def slotManageFamilies(self):
        print 'running families'
        #FamilyMainWindow(self.app, self)
        #KMessageBox.error(self, 'Managing families unimplemented')
        win = FamilyMainWindow(self)
        win.show()
        self._all_my_children.append(win)

    def slotManageSuite(self, wid=-1):
        print 'in slotManageSuite suite is', wid
        #TraitMainWindow(self.app, self, current.suite)
        KMessageBox.error(self, 'Managing suites unimplemented')

    def slotDbConnected(self, dsn):
        BasePaellaMainWindow.slotDbConnected(self, dsn)
        self.conn = self.app.conn
        self.refreshListView()

    def slotDisconnectDatabase(self):
        try:
            BasePaellaMainWindow.slotDisconnectDatabase(self)
        except NotConnectedError:
            pass
        self.conn = None
        self.listView.clear()
        while self._all_my_children:
            child = self._all_my_children.pop()
            try:
                child.close()
            except RuntimeError, inst:
                if inst.args[0] != 'underlying C/C++ object has been deleted':
                    raise inst