def closeTab(self, index): """Boolean result invocation method.""" done = True if self.dirty[index]: reply = QMessageBox.question( self, "Sabel IDE - Unsaved Changes", "Save unsaved changes?", QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel, ) if reply == QMessageBox.Cancel: done = False elif reply == QMessageBox.Yes: done = self.fileSave(index) elif reply == QMessageBox.No: self.clearDirty(index) done = True if done: # print index config.removeFile(self.files[index]) self.files.remove(self.files[index]) self.tabWidget.removeTab(index)
def createTab(self, nfile): if nfile != None: if self.files != None: if len(self.files) != 0: for i in self.files: if i == nfile: # print "File Already Open\n"+nfile self.tabWidget.setCurrentIndex(self.files.index(nfile)) return if type(nfile) == str: if ospathexists(nfile): text = "" try: infile = open(nfile, "r") text = infile.read() infile.close() config.addFile(nfile) self.dirty.append(False) self.files.append(nfile) # print len(self.files) except: config.removeFile(nfile) QMessageBox.about(self, "Can't Open", "File Does Not Exist or Locked\n" + nfile) tab = Editor(self, text, self.syntax(nfile), self.colorStyle) self.tabWidget.addTab(tab, ospathbasename(nfile)) tab.textChanged.connect(lambda: self.setDirty(nfile)) if self.files != None: if (len(self.files)) != 0: # This line sets the opened file to display first Important not checked self.tabWidget.setCurrentIndex(len(self.files) - 1) else: # dont know must check this the last file is not removed executes only # twice when it has to remove 3 files # check sel.files # print len(config.files()) config.removeFile(nfile) QMessageBox.about(self, "Can't Open", "File Does Not Exist or Locked\n" + nfile)