Example #1
0
 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)
Example #2
0
    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)