예제 #1
0
    def exportHtml(self, fileName=False):
        #self.makeError1()
        if fileName is False:
            self.fileDialog = FileDialog(self, "Save HTML as...",
                                         self.manager.getCurrentDir().name())
            #self.fileDialog.setFileMode(Qt.QFileDialog.AnyFile)
            self.fileDialog.setAcceptMode(Qt.QFileDialog.AcceptSave)
            self.fileDialog.show()
            self.fileDialog.fileSelected.connect(self.exportHtml)
            return
        if fileName[-5:] != '.html':
            fileName += '.html'

        #doc = self.ui.output.document().toHtml('utf-8')
        #for e in self.displayedEntries:
        #if e.has_key('tracebackHtml'):
        #doc = re.sub(r'<a href="exc:%s">(<[^>]+>)*Show traceback %s(<[^>]+>)*</a>'%(str(e['id']), str(e['id'])), e['tracebackHtml'], doc)

        global pageTemplate
        doc = pageTemplate
        for e in self.displayedEntries:
            doc += self.cache[id(e)]
        for e in self.displayedEntries:
            if 'tracebackHtml' in e:
                doc = re.sub(
                    r'<a href="exc:%s">(<[^>]+>)*Show traceback %s(<[^>]+>)*</a>'
                    % (str(e['id']), str(e['id'])), e['tracebackHtml'], doc)

        #doc = self.ui.logView.page().currentFrame().toHtml()
        f = open(fileName, 'w')
        f.write(doc.encode('utf-8'))
        f.close()
예제 #2
0
 def showFileDialog(self):
     bd = self.manager.getBaseDir()
     if self.dialog is None:
         self.dialog = FileDialog()
         self.dialog.setFileMode(Qt.QFileDialog.DirectoryOnly)
         self.dialog.filesSelected.connect(self.setBaseDir)
     if bd is not None:
         self.dialog.setDirectory(bd.name())
     self.dialog.show()
예제 #3
0
 def openDbClicked(self):
     bd = self.man.getBaseDir()
     if bd is None:
         bd = ""
     else:
         bd = bd.name()
     self.fileDialog = FileDialog(self, "Select Database File", bd, "SQLite Database (*.sqlite *.sql);;All Files (*.*)")
     #self.fileDialog.setFileMode(QtGui.QFileDialog.AnyFile)
     self.fileDialog.show()
     self.fileDialog.fileSelected.connect(self.openDb)
예제 #4
0
 def createDbClicked(self):
     bd = self.man.getBaseDir()
     if bd is None:
         raise Exception("Must select a base directory before creating database.")
     self.fileDialog = FileDialog(self, "Create Database File", bd.name(), "SQLite Database (*.sqlite *.sql);;All Files (*.*)")
     #self.fileDialog.setFileMode(QtGui.QFileDialog.AnyFile)
     self.fileDialog.setAcceptMode(QtGui.QFileDialog.AcceptSave) 
     self.fileDialog.setOption(QtGui.QFileDialog.DontConfirmOverwrite)
     self.fileDialog.show()
     self.fileDialog.fileSelected.connect(self.createDb)
예제 #5
0
    def __init__(self, manager, name, config):
        Module.__init__(self, manager, name, config)
        #self.dm = self.manager.dataManager
        self.dm = getDataManager()
        self.win = Window()
        mp = os.path.dirname(__file__)
        self.win.setWindowIcon(QtGui.QIcon(os.path.join(mp, 'icon.png')))
        self.win.dm = self  ## so embedded widgets can find the module easily
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self.win)
        self.ui.analysisWidget = FileAnalysisView.FileAnalysisView(
            self.ui.analysisTab, self)
        self.ui.analysisTab.layout().addWidget(self.ui.analysisWidget)
        self.ui.logWidget = FileLogView.FileLogView(self.ui.logTab, self)
        self.ui.logTab.layout().addWidget(self.ui.logWidget)

        self.win.show()
        w = self.ui.splitter.width()
        self.ui.splitter.setSizes([int(w * 0.4), int(w * 0.6)])
        self.ui.logDock.hide()
        self.dialog = FileDialog()
        self.dialog.setFileMode(QtGui.QFileDialog.DirectoryOnly)
        self.ui.fileTreeWidget.setSelectionMode(
            QtGui.QAbstractItemView.ExtendedSelection)
        ## Load values into GUI
        #self.model = DMModel(self.manager.getBaseDir())
        #self.ui.fileTreeView.setModel(self.model)
        self.baseDirChanged()
        self.currentDirChanged()
        self.selFile = None
        self.updateNewFolderList()

        ## Make all connections needed
        self.ui.selectDirBtn.clicked.connect(self.showFileDialog)
        self.ui.setCurrentDirBtn.clicked.connect(self.setCurrentClicked)
        self.dialog.filesSelected.connect(self.setBaseDir)
        self.manager.sigBaseDirChanged.connect(self.baseDirChanged)
        self.manager.sigCurrentDirChanged.connect(self.currentDirChanged)
        self.manager.sigConfigChanged.connect(self.updateNewFolderList)
        self.manager.sigLogDirChanged.connect(self.updateLogDir)
        self.ui.setLogDirBtn.clicked.connect(self.setLogDir)
        self.ui.newFolderList.currentIndexChanged.connect(self.newFolder)
        self.ui.fileTreeWidget.itemSelectionChanged.connect(
            self.fileSelectionChanged)
        #self.ui.logEntryText.returnPressed.connect(self.logEntry)
        self.ui.fileDisplayTabs.currentChanged.connect(self.tabChanged)
        self.win.sigClosed.connect(self.quit)
        self.ui.analysisWidget.sigDbChanged.connect(self.analysisDbChanged)

        #self.logBtn = LogButton('Log')
        self.win.setStatusBar(StatusBar())