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()
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()
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)
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)
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())