From 5cc6e4c5436dac765c3c92a2ff7bde9f72102c98 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Tue, 8 Dec 2020 17:32:42 +0100 Subject: [PATCH] Update text on About and Preferences dialogs --- nw/gui/about.py | 4 +-- nw/gui/preferences.py | 82 +++++++++++++++++++++++++------------------ nw/gui/theme.py | 14 ++++---- 3 files changed, 56 insertions(+), 44 deletions(-) diff --git a/nw/gui/about.py b/nw/gui/about.py index 99a4d296..c0c7885e 100644 --- a/nw/gui/about.py +++ b/nw/gui/about.py @@ -140,14 +140,14 @@ class GuiAbout(QDialog): "

novelWriter is a markdown-like text editor designed for " "organising and writing novels. It is written in Python 3 with a " "Qt5 GUI, using PyQt5.

" - "

novelWriter is free software: you can redistribute it and/or " + "

novelWriter is free software: you can redistribute it and " "modify it under the terms of the GNU General Public License as " "published by the Free Software Foundation, either version 3 of " "the License, or (at your option) any later version.

" "

novelWriter is distributed in the hope that it will be useful, " "but WITHOUT ANY WARRANTY; without even the implied warranty of " "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

" - "

See the License tab for the full text, or visit the GNU website " + "

See the License tab for the full license text, or visit the GNU website " "at GPL v3.0 " "for more details.

" "

Credits

" diff --git a/nw/gui/preferences.py b/nw/gui/preferences.py index 2bb22bde..8cf47f04 100644 --- a/nw/gui/preferences.py +++ b/nw/gui/preferences.py @@ -227,7 +227,7 @@ class GuiConfigEditGeneralTab(QWidget): self.mainForm.addRow( "Show full path in document header", self.showFullPath, - "Shows the document title and parent folder names." + "Add the parent folder names to the header." ) self.hideVScroll = QSwitch() @@ -235,7 +235,7 @@ class GuiConfigEditGeneralTab(QWidget): self.mainForm.addRow( "Hide vertical scroll bars in main windows", self.hideVScroll, - "Scrolling with mouse wheel and keys only." + "Scrolling available with mouse wheel and keys only." ) self.hideHScroll = QSwitch() @@ -243,7 +243,7 @@ class GuiConfigEditGeneralTab(QWidget): self.mainForm.addRow( "Hide horizontal scroll bars in main windows", self.hideHScroll, - "Scrolling with mouse wheel and keys only." + "Scrolling available with mouse wheel and keys only." ) return @@ -325,8 +325,9 @@ class GuiConfigEditProjectsTab(QWidget): self.autoSaveDoc.setSingleStep(1) self.autoSaveDoc.setValue(self.mainConf.autoSaveDoc) self.backupPathRow = self.mainForm.addRow( - "Save interval for the currently open document", + "Save document interval", self.autoSaveDoc, + "How often the open document is automatically saved.", theUnit="seconds" ) @@ -337,8 +338,9 @@ class GuiConfigEditProjectsTab(QWidget): self.autoSaveProj.setSingleStep(1) self.autoSaveProj.setValue(self.mainConf.autoSaveProj) self.backupPathRow = self.mainForm.addRow( - "Save interval for the currently open project", + "Save project interval", self.autoSaveProj, + "How often the open project is automatically saved.", theUnit="seconds" ) @@ -361,9 +363,9 @@ class GuiConfigEditProjectsTab(QWidget): self.backupOnClose.setChecked(self.mainConf.backupOnClose) self.backupOnClose.toggled.connect(self._toggledBackupOnClose) self.mainForm.addRow( - "Run backup when closing project", + "Run backup when the project is closed", self.backupOnClose, - "This option can be overridden in project settings." + "Can be overridden for individual projects in project settings." ) ## Ask before backup @@ -373,7 +375,8 @@ class GuiConfigEditProjectsTab(QWidget): self.askBeforeBackup.setEnabled(self.mainConf.backupOnClose) self.mainForm.addRow( "Ask before running backup", - self.askBeforeBackup + self.askBeforeBackup, + "Disabling this will cause backups to run in the background." ) return @@ -426,7 +429,7 @@ class GuiConfigEditProjectsTab(QWidget): def _toggledBackupOnClose(self, theState): """Enable or disable switch that depends on the backup on close - switch, + switch. """ self.askBeforeBackup.setEnabled(theState) return @@ -449,7 +452,7 @@ class GuiConfigEditLayoutTab(QWidget): # Text Style # ========== - self.mainForm.addGroupLabel("Text Style") + self.mainForm.addGroupLabel("Document Text Style") ## Font Family self.textStyleFont = QLineEdit() @@ -475,12 +478,13 @@ class GuiConfigEditLayoutTab(QWidget): self.mainForm.addRow( "Font size", self.textStyleSize, + "Font size for the document editor and viewer.", theUnit = "pt" ) # Text Flow # ========= - self.mainForm.addGroupLabel("Text Flow") + self.mainForm.addGroupLabel("Document Text Flow") ## Max Text Width in Normal Mode self.textFlowMax = QSpinBox(self) @@ -491,6 +495,7 @@ class GuiConfigEditLayoutTab(QWidget): self.mainForm.addRow( "Maximum text width in \"Normal Mode\"", self.textFlowMax, + "Horizontal margins are scaled automatically.", theUnit="px" ) @@ -503,6 +508,7 @@ class GuiConfigEditLayoutTab(QWidget): self.mainForm.addRow( "Maximum text width in \"Focus Mode\"", self.focusDocWidth, + "Horizontal margins are scaled automatically.", theUnit="px" ) @@ -512,7 +518,7 @@ class GuiConfigEditLayoutTab(QWidget): self.mainForm.addRow( "Disable maximum text width in \"Normal Mode\"", self.textFlowFixed, - "If disabled, minimum text width is defined by the margin setting." + "If disabled, minimum text width is defined by the margin." ) ## Focus Mode Footer @@ -520,7 +526,8 @@ class GuiConfigEditLayoutTab(QWidget): self.hideFocusFooter.setChecked(self.mainConf.hideFocusFooter) self.mainForm.addRow( "Hide document footer in \"Focus Mode\"", - self.hideFocusFooter + self.hideFocusFooter, + "Hide the information bar at the bottom of the document." ) ## Justify Text @@ -528,7 +535,8 @@ class GuiConfigEditLayoutTab(QWidget): self.textJustify.setChecked(self.mainConf.textFixedW) self.mainForm.addRow( "Justify the text margins in editor and viewer", - self.textJustify + self.textJustify, + "Lay out text with straight edges in the editor and viewer." ) ## Document Margins @@ -538,9 +546,9 @@ class GuiConfigEditLayoutTab(QWidget): self.textMargin.setSingleStep(1) self.textMargin.setValue(self.mainConf.textMargin) self.mainForm.addRow( - "Document text margin", + "Text margin", self.textMargin, - "If max width is enabled, this is the minimum margin.", + "If maximum width is set, this becomes the minimum margin.", theUnit="px" ) @@ -551,8 +559,9 @@ class GuiConfigEditLayoutTab(QWidget): self.tabWidth.setSingleStep(1) self.tabWidth.setValue(self.mainConf.tabWidth) self.mainForm.addRow( - "Document tab width", + "Tab width", self.tabWidth, + "The width of a tab key press in the editor and viewer.", theUnit="px" ) @@ -566,7 +575,7 @@ class GuiConfigEditLayoutTab(QWidget): self.mainForm.addRow( "Scroll past end of the document", self.scrollPastEnd, - "Allows scrolling until last line is at the top." + "Allow scrolling until the last line is centred in the editor." ) ## Typewriter Scrolling @@ -575,7 +584,7 @@ class GuiConfigEditLayoutTab(QWidget): self.mainForm.addRow( "Typewriter style scrolling when you type", self.autoScroll, - "Tries to keep the cursor at a fixed vertical position." + "Try to keep the cursor at a fixed vertical position." ) ## Font Size @@ -678,7 +687,7 @@ class GuiConfigEditEditingTab(QWidget): self.mainForm.addRow( "Highlight theme", self.selectSyntax, - "" + "Colour theme to apply to the editor and viewer." ) self.highlightQuotes = QSwitch() @@ -686,7 +695,7 @@ class GuiConfigEditEditingTab(QWidget): self.mainForm.addRow( "Highlight text wrapped in quotes", self.highlightQuotes, - helpText="Applies to single, double and straight quotes." + "Applies to single, double and straight quotes." ) self.highlightEmph = QSwitch() @@ -694,7 +703,7 @@ class GuiConfigEditEditingTab(QWidget): self.mainForm.addRow( "Add highlight colour to emphasised text", self.highlightEmph, - helpText="Applies to emphasis, strong and strikethrough." + "Applies to emphasis, strong and strikethrough." ) # Spell Checking @@ -724,7 +733,8 @@ class GuiConfigEditEditingTab(QWidget): ) self.mainForm.addRow( "Spell check language", - self.spellLangList + self.spellLangList, + "Available languages are determined by your system." ) ## Big Document Size Limit @@ -736,7 +746,7 @@ class GuiConfigEditEditingTab(QWidget): self.mainForm.addRow( "Big document limit", self.bigDocLimit, - "Disables full spell checking over the size limit.", + "Full spell checking is disabled above this limit.", theUnit="kB" ) @@ -749,7 +759,8 @@ class GuiConfigEditEditingTab(QWidget): self.showTabsNSpaces.setChecked(self.mainConf.showTabsNSpaces) self.mainForm.addRow( "Show tabs and spaces", - self.showTabsNSpaces + self.showTabsNSpaces, + "Add symbols to indicate tabs and spaces in the editor." ) ## Show Line Endings @@ -757,7 +768,8 @@ class GuiConfigEditEditingTab(QWidget): self.showLineEndings.setChecked(self.mainConf.showLineEndings) self.mainForm.addRow( "Show line endings", - self.showLineEndings + self.showLineEndings, + "Add a symbol to indicate line endings in the editor." ) return @@ -866,7 +878,7 @@ class GuiConfigEditAutoReplaceTab(QWidget): self.mainForm.addRow( "Auto-replace text as you type", self.autoReplaceMain, - "Apply formatting to word under cursor if no selection is made." + "Allow the editor to replace symbols as you type." ) # Auto-Replace @@ -880,7 +892,7 @@ class GuiConfigEditAutoReplaceTab(QWidget): self.mainForm.addRow( "Auto-replace single quotes", self.autoReplaceSQ, - "The feature will try to guess opening or closing single quote." + "Try to guess which is an opening or a closing single quote." ) ## Auto-Replace Double Quotes @@ -890,7 +902,7 @@ class GuiConfigEditAutoReplaceTab(QWidget): self.mainForm.addRow( "Auto-replace double quotes", self.autoReplaceDQ, - "The feature will try to guess opening or closing quote quote." + "Try to guess which is an opening or a closing double quote." ) ## Auto-Replace Hyphens @@ -900,7 +912,7 @@ class GuiConfigEditAutoReplaceTab(QWidget): self.mainForm.addRow( "Auto-replace dashes", self.autoReplaceDash, - "Auto-replace double and triple hyphens with short and long dash." + "Double and triple hyphens become short and long dashes." ) ## Auto-Replace Dots @@ -910,7 +922,7 @@ class GuiConfigEditAutoReplaceTab(QWidget): self.mainForm.addRow( "Auto-replace dots", self.autoReplaceDots, - "Auto-replace three dots with ellipsis." + "Three consecutive dots becomes ellipsis." ) # Quotation Style @@ -934,7 +946,7 @@ class GuiConfigEditAutoReplaceTab(QWidget): self.mainForm.addRow( "Single quote open style", self.quoteSym["SO"], - "Auto-replaces apostrophe before words.", + "The symbol used for a leading single quote.", theButton=self.btnSingleStyleO ) @@ -950,7 +962,7 @@ class GuiConfigEditAutoReplaceTab(QWidget): self.mainForm.addRow( "Single quote close style", self.quoteSym["SC"], - "Auto-replaces apostrophe after words.", + "The symbol used for a trailing single quote.", theButton=self.btnSingleStyleC ) @@ -967,7 +979,7 @@ class GuiConfigEditAutoReplaceTab(QWidget): self.mainForm.addRow( "Double quote open style", self.quoteSym["DO"], - "Auto-replaces straight quotes before words.", + "The symbol used for a leading double quote.", theButton=self.btnDoubleStyleO ) @@ -983,7 +995,7 @@ class GuiConfigEditAutoReplaceTab(QWidget): self.mainForm.addRow( "Double quote close style", self.quoteSym["DC"], - "Auto-replaces straight quotes after words.", + "The symbol used for a trailing double quote.", theButton=self.btnDoubleStyleC ) diff --git a/nw/gui/theme.py b/nw/gui/theme.py index 2b5f31f5..c2b4b9fd 100644 --- a/nw/gui/theme.py +++ b/nw/gui/theme.py @@ -281,11 +281,11 @@ class GuiTheme: cnfSec = "Main" if confParser.has_section(cnfSec): self.themeName = self._parseLine(confParser, cnfSec, "name", "") - self.themeDescription = self._parseLine(confParser, cnfSec, "description", "") - self.themeAuthor = self._parseLine(confParser, cnfSec, "author", "") - self.themeCredit = self._parseLine(confParser, cnfSec, "credit", "") + self.themeDescription = self._parseLine(confParser, cnfSec, "description", "N/A") + self.themeAuthor = self._parseLine(confParser, cnfSec, "author", "N/A") + self.themeCredit = self._parseLine(confParser, cnfSec, "credit", "N/A") self.themeUrl = self._parseLine(confParser, cnfSec, "url", "") - self.themeLicense = self._parseLine(confParser, cnfSec, "license", "") + self.themeLicense = self._parseLine(confParser, cnfSec, "license", "N/A") self.themeLicenseUrl = self._parseLine(confParser, cnfSec, "licenseurl", "") ## Palette @@ -638,10 +638,10 @@ class GuiIcons: if confParser.has_section(cnfSec): self.themeName = self._parseLine(confParser, cnfSec, "name", "") self.themeDescription = self._parseLine(confParser, cnfSec, "description", "") - self.themeAuthor = self._parseLine(confParser, cnfSec, "author", "") - self.themeCredit = self._parseLine(confParser, cnfSec, "credit", "") + self.themeAuthor = self._parseLine(confParser, cnfSec, "author", "N/A") + self.themeCredit = self._parseLine(confParser, cnfSec, "credit", "N/A") self.themeUrl = self._parseLine(confParser, cnfSec, "url", "") - self.themeLicense = self._parseLine(confParser, cnfSec, "license", "") + self.themeLicense = self._parseLine(confParser, cnfSec, "license", "N/A") self.themeLicenseUrl = self._parseLine(confParser, cnfSec, "licenseurl", "") ## Palette