"""
novelWriter – GUI About Box
===========================
The about novelWriter dialog box
File History:
Created: 2020-05-21 [0.5.2]
This file is a part of novelWriter
Copyright 2018–2022, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or 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.
This program 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 GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see
{copy}
" "{link}
" "{intro}
" "{license1}
" "{license2}
" "{license3}
" "{credits}
" ).format( title1=self.tr("About novelWriter"), copy=novelwriter.__copyright__, link=self.tr("Website: {0}").format( f"{novelwriter.__domain__}" ), title2=self.tr("Credits"), credits=self._wrapTable([ (self.tr("Developer"), "Veronica Berglyd Olsen"), (self.tr("Concept"), "Veronica Berglyd Olsen, Marian Lückhof"), (self.tr("i18n"), "Bruno Meneguello"), ]), intro=self.tr( "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." ), license1=self.tr( "novelWriter is free software: you can redistribute it and/or 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." ), license2=self.tr( "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." ), license3=self.tr( "See the Licence tab for the full licence text, or visit the " "GNU website at {0} for more details." ).format( "GPL v3.0" ), ) aboutMsg += "{1}
".format( self.tr("Translations"), self._wrapTable([ ("English", "Veronica Berglyd Olsen"), ("Español Latinoamericano", "Tommy Marplatt"), ("Français", "Jan Lüdke (jyhelle)"), ("Nederlands", "Martijn van der Kleijn"), ("Norsk Bokmål", "Veronica Berglyd Olsen"), ("Português", "Bruno Meneguello"), ("简体中文", "Qianzhi Long"), ]) ) mainTheme = self.mainGui.mainTheme iconCache = self.mainGui.mainTheme.iconCache if mainTheme.themeName and mainTheme.themeAuthor != "N/A": licURL = f"{mainTheme.themeLicense}" aboutMsg += "{1}
".format( self.tr("Theme: {0}").format(mainTheme.themeName), self._wrapTable([ (self.tr("Author"), mainTheme.themeAuthor), (self.tr("Credit"), mainTheme.themeCredit), (self.tr("Licence"), licURL), ]) ) if iconCache.themeName: licURL = f"{iconCache.themeLicense}" aboutMsg += "{1}
".format( self.tr("Icons: {0}").format(iconCache.themeName), self._wrapTable([ (self.tr("Author"), iconCache.themeAuthor), (self.tr("Credit"), iconCache.themeCredit), (self.tr("Licence"), licURL), ]) ) if mainTheme.syntaxName: licURL = f"{mainTheme.syntaxLicense}" aboutMsg += "{1}
".format( self.tr("Syntax: {0}").format(mainTheme.syntaxName), self._wrapTable([ (self.tr("Author"), mainTheme.syntaxAuthor), (self.tr("Credit"), mainTheme.syntaxCredit), (self.tr("Licence"), licURL), ]) ) self.pageAbout.setHtml(aboutMsg) return def _fillNotesPage(self): """Load the content for the Release Notes page. """ docPath = self.mainConf.assetPath("text") / "release_notes.htm" docText = readTextFile(docPath) if docText: self.pageNotes.setHtml(docText) else: self.pageNotes.setHtml("Error loading release notes text ...") return def _fillLicensePage(self): """Load the content for the Licence page. """ docPath = self.mainConf.assetPath("text") / "gplv3_en.htm" docText = readTextFile(docPath) if docText: self.pageLicense.setHtml(docText) else: self.pageLicense.setHtml("Error loading licence text ...") return def _wrapTable(self, theData): """Wrap a list of label/value tuples in an html table. """ theTable = [] for aLabel, aValue in theData: theTable.append( f"