diff --git a/nw/config.py b/nw/config.py index 4cefc76a..1defc18c 100644 --- a/nw/config.py +++ b/nw/config.py @@ -91,9 +91,10 @@ class Config: # Backup self.backupPath = None - self.backupOnClose = True + self.autoBackup = False + self.backupOnClose = False + self.askBeforeBackup = False self.minBackupTime = 0 - self.askBeforeBackup = True # Path self.recentList = [""]*10 @@ -173,26 +174,30 @@ class Config: ## Editor cnfSec = "Editor" - self.textFont = self._parseLine(cnfParse, cnfSec, "textfont", self.CNF_STR, self.textFont) - self.textSize = self._parseLine(cnfParse, cnfSec, "textsize", self.CNF_INT, self.textSize) - self.textFixedW = self._parseLine(cnfParse, cnfSec, "fixedwidth", self.CNF_BOOL, self.textFixedW) - self.textWidth = self._parseLine(cnfParse, cnfSec, "width", self.CNF_INT, self.textWidth) - self.textMargin = self._parseLine(cnfParse, cnfSec, "margin", self.CNF_INT, self.textMargin) - self.tabWidth = self._parseLine(cnfParse, cnfSec, "tabwidth", self.CNF_INT, self.tabWidth) - self.doJustify = self._parseLine(cnfParse, cnfSec, "justify", self.CNF_BOOL, self.doJustify) - self.autoSelect = self._parseLine(cnfParse, cnfSec, "autoselect", self.CNF_BOOL, self.autoSelect) - self.doReplace = self._parseLine(cnfParse, cnfSec, "autoreplace", self.CNF_BOOL, self.doReplace) - self.doReplaceSQuote = self._parseLine(cnfParse, cnfSec, "repsquotes", self.CNF_BOOL, self.doReplaceSQuote) - self.doReplaceDQuote = self._parseLine(cnfParse, cnfSec, "repdquotes", self.CNF_BOOL, self.doReplaceDQuote) - self.doReplaceDash = self._parseLine(cnfParse, cnfSec, "repdash", self.CNF_BOOL, self.doReplaceDash) - self.doReplaceDots = self._parseLine(cnfParse, cnfSec, "repdots", self.CNF_BOOL, self.doReplaceDots) - self.fmtSingleQuotes = self._parseLine(cnfParse, cnfSec, "fmtsinglequote", self.CNF_LIST, self.fmtSingleQuotes) - self.fmtDoubleQuotes = self._parseLine(cnfParse, cnfSec, "fmtdoublequote", self.CNF_LIST, self.fmtDoubleQuotes) - self.spellLanguage = self._parseLine(cnfParse, cnfSec, "spellcheck", self.CNF_STR, self.spellLanguage) + self.textFont = self._parseLine(cnfParse, cnfSec, "textfont", self.CNF_STR, self.textFont) + self.textSize = self._parseLine(cnfParse, cnfSec, "textsize", self.CNF_INT, self.textSize) + self.textFixedW = self._parseLine(cnfParse, cnfSec, "fixedwidth", self.CNF_BOOL, self.textFixedW) + self.textWidth = self._parseLine(cnfParse, cnfSec, "width", self.CNF_INT, self.textWidth) + self.textMargin = self._parseLine(cnfParse, cnfSec, "margin", self.CNF_INT, self.textMargin) + self.tabWidth = self._parseLine(cnfParse, cnfSec, "tabwidth", self.CNF_INT, self.tabWidth) + self.doJustify = self._parseLine(cnfParse, cnfSec, "justify", self.CNF_BOOL, self.doJustify) + self.autoSelect = self._parseLine(cnfParse, cnfSec, "autoselect", self.CNF_BOOL, self.autoSelect) + self.doReplace = self._parseLine(cnfParse, cnfSec, "autoreplace", self.CNF_BOOL, self.doReplace) + self.doReplaceSQuote = self._parseLine(cnfParse, cnfSec, "repsquotes", self.CNF_BOOL, self.doReplaceSQuote) + self.doReplaceDQuote = self._parseLine(cnfParse, cnfSec, "repdquotes", self.CNF_BOOL, self.doReplaceDQuote) + self.doReplaceDash = self._parseLine(cnfParse, cnfSec, "repdash", self.CNF_BOOL, self.doReplaceDash) + self.doReplaceDots = self._parseLine(cnfParse, cnfSec, "repdots", self.CNF_BOOL, self.doReplaceDots) + self.fmtSingleQuotes = self._parseLine(cnfParse, cnfSec, "fmtsinglequote", self.CNF_LIST, self.fmtSingleQuotes) + self.fmtDoubleQuotes = self._parseLine(cnfParse, cnfSec, "fmtdoublequote", self.CNF_LIST, self.fmtDoubleQuotes) + self.spellLanguage = self._parseLine(cnfParse, cnfSec, "spellcheck", self.CNF_STR, self.spellLanguage) ## Backup cnfSec = "Backup" - self.backupPath = self._parseLine(cnfParse, cnfSec, "backuppath", self.CNF_STR, self.backupPath) + self.backupPath = self._parseLine(cnfParse, cnfSec, "backuppath", self.CNF_STR, self.backupPath) + self.autoBackup = self._parseLine(cnfParse, cnfSec, "autobackup", self.CNF_BOOL, self.autoBackup) + self.backupOnClose = self._parseLine(cnfParse, cnfSec, "backuponclose", self.CNF_BOOL, self.backupOnClose) + self.askBeforeBackup = self._parseLine(cnfParse, cnfSec, "askbeforebackup", self.CNF_BOOL, self.askBeforeBackup) + self.minBackupTime = self._parseLine(cnfParse, cnfSec, "minbackuptime", self.CNF_INT, self.minBackupTime) ## Path cnfSec = "Path" @@ -253,7 +258,11 @@ class Config: ## Backup cnfSec = "Backup" cnfParse.add_section(cnfSec) - cnfParse.set(cnfSec,"backuppath", str(self.backupPath)) + cnfParse.set(cnfSec,"backuppath", str(self.backupPath)) + cnfParse.set(cnfSec,"autobackup", str(self.autoBackup)) + cnfParse.set(cnfSec,"backuponclose", str(self.backupOnClose)) + cnfParse.set(cnfSec,"askbeforebackup",str(self.askBeforeBackup)) + cnfParse.set(cnfSec,"minbackuptime", str(self.minBackupTime)) ## Path cnfSec = "Path" diff --git a/nw/gui/winmain.py b/nw/gui/winmain.py index 178b89db..1132ba48 100644 --- a/nw/gui/winmain.py +++ b/nw/gui/winmain.py @@ -113,7 +113,7 @@ class GuiMain(QMainWindow): # Set Main Window Elements self.setMenuBar(self.mainMenu) self.setStatusBar(self.statusBar) - self.statusBar.showMessage("Ready") + self.statusBar.setStatus("Ready") # Set Up Autosaving Project Timer self.asProjTimer = QTimer() @@ -210,7 +210,7 @@ class GuiMain(QMainWindow): self.closeDocument() if self.theProject.projChanged: saveOK = self.saveProject() - theBackup = NWBackup(self.theProject) + theBackup = NWBackup(self, self.theProject) theBackup.zipIt() else: saveOK = True diff --git a/nw/project/backup.py b/nw/project/backup.py index b381d764..75235b85 100644 --- a/nw/project/backup.py +++ b/nw/project/backup.py @@ -42,6 +42,7 @@ class NWBackup(): return False logger.info("Backing up project") + self.theParent.statusBar.setStatus("Backing up project ...") archName = "" for c in self.theProject.projName: @@ -52,15 +53,13 @@ class NWBackup(): baseName = path.join(self.mainConf.backupPath, archName) try: - make_archive( - baseName, "zip", - root_dir = self.theProject.projPath, - base_dir = "." - ) + make_archive(baseName, "zip", self.theProject.projPath, ".") except Exception as e: self.theParent.makeAlert(["Could not write backup archive.",str(e)],nwAlert.ERROR) return False + self.theParent.statusBar.setStatus("Project backup complete") + return True # END Class NWBackup