diff --git a/template/Makefile.in b/template/Makefile.in index de1d63a..f2baa9c 100644 --- a/template/Makefile.in +++ b/template/Makefile.in @@ -64,6 +64,7 @@ install: install -D -m 644 documentation/out/* -t $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM) install -D -m 644 README.md $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM)/README.md install -D -m 644 LICENSE $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM)/LICENSE + install -D -m 644 CHANGELOG $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM)/CHANGELOG install -D -m 644 desktop/desktop.desktop $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.$(PROGRAM).desktop diff --git a/template/qtgui/changelog.py b/template/qtgui/changelog.py new file mode 100644 index 0000000..1ce52e0 --- /dev/null +++ b/template/qtgui/changelog.py @@ -0,0 +1,68 @@ +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Copyright 2021, Nils Hilbricht, Germany ( https://www.hilbricht.net ) + +This file is part of the Laborejo Software Suite ( https://www.laborejo.org ), + +This application 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 . +""" + +import logging; logger = logging.getLogger(__name__); logger.info("import") + +#Standard Lib + +#System Wide Modules +from PyQt5 import QtCore, QtWidgets, QtGui + +#Template Moduiles +from template.start import PATHS + +#Client Modules +from engine.config import * #imports METADATA +from qtgui.resources import * #Has the logo + + + +class Changelog(QtWidgets.QWidget): + """ + A modal window that is hidden. + Just shows the file CHANGELOG + """ + + def __init__(self, mainWindow): + super().__init__() + self.mainWindow = mainWindow + + ourLayout = QtWidgets.QVBoxLayout() + #ourLayout.setSpacing(0) + #ourLayout.setContentsMargins(0,0,0,0) + self.setLayout(ourLayout) + + + self.setWindowTitle(METADATA["name"] + " " + QtCore.QCoreApplication.translate("TemplateChangelog", "Changelog")) + introtext = QtCore.QCoreApplication.translate("TemplateChangelog", "The Changelog is only available in English.") + ourLayout.addWidget(QtWidgets.QLabel(introtext)) + + textEdit = QtWidgets.QPlainTextEdit() + textEdit.setReadOnly(True) + with open(PATHS["doc"] + "/CHANGELOG", "r") as f: + textEdit.setPlainText(f.read()) + + ourLayout.addWidget(textEdit) + + self.hide() + + def closeEvent(self, event): + self.hide() diff --git a/template/qtgui/mainwindow.py b/template/qtgui/mainwindow.py index 5992959..9dafbb2 100644 --- a/template/qtgui/mainwindow.py +++ b/template/qtgui/mainwindow.py @@ -39,6 +39,7 @@ from .debugScript import DebugScriptRunner from .menu import Menu from .resources import * from .about import About +from .changelog import Changelog from .helper import setPaletteAndFont from .eventloop import EventLoop from template.start import PATHS, qtApp @@ -106,6 +107,7 @@ class MainWindow(QtWidgets.QMainWindow): self.fPalBlue = setPaletteAndFont(self.qtApp) self.userManual = UserManual(mainWindow=self) #starts hidden. menu shows, closeEvent hides. + self.changelog = Changelog(mainWindow=self) #starts hidden. menu shows, closeEvent hides. self.xFactor = 1 #keep track of the x stretch factor. diff --git a/template/qtgui/menu.py b/template/qtgui/menu.py index 5aaa217..3a8db0e 100644 --- a/template/qtgui/menu.py +++ b/template/qtgui/menu.py @@ -30,6 +30,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets #Template Modules from .about import About +from .changelog import Changelog from .resources import * #User Modules @@ -83,9 +84,9 @@ class Menu(object): def _setupHelpMenu(self): self.addSubmenu("menuHelp", QtCore.QCoreApplication.translate("TemplateMainWindow", "Help")) - self.addMenuEntry("menuHelp", "actionUser_Manual", QtCore.QCoreApplication.translate("TemplateMainWindow", "User Manual"), connectedFunction=self.mainWindow.userManual.show) - self.addSeparator("menuHelp") self.addMenuEntry("menuHelp", "actionAbout", QtCore.QCoreApplication.translate("TemplateMainWindow", "About and Tips"), connectedFunction=self.mainWindow.about.show) + self.addMenuEntry("menuHelp", "actionUser_Manual", QtCore.QCoreApplication.translate("TemplateMainWindow", "User Manual"), connectedFunction=self.mainWindow.userManual.show) + self.addMenuEntry("menuHelp", "actionChangelog", QtCore.QCoreApplication.translate("TemplateMainWindow", "News and Changelog"), connectedFunction=self.mainWindow.changelog.show) def _setupEditMenu(self): self.addSubmenu("menuEdit", QtCore.QCoreApplication.translate("TemplateMainWindow", "Edit")) diff --git a/template/qtgui/resources.py b/template/qtgui/resources.py index cd3e90b..650475c 100644 --- a/template/qtgui/resources.py +++ b/template/qtgui/resources.py @@ -3190,6 +3190,128 @@ qt_resource_data = b"\ \xcf\x00\xd0\x00\xd1\x00\xd5\x00\xd6\x00\xd8\x00\xd9\x01\x12\x01\ \x13\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\xc4\x3e\x8b\xee\x00\ \x00\x00\x00\xc1\x0c\x00\x54\x00\x00\x00\x00\xc4\xa0\xef\x3b\ +\x00\x00\x07\x7a\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x03\x4b\x7a\x54\x58\x74\x52\x61\x77\x20\x70\x72\x6f\x66\ +\x69\x6c\x65\x20\x74\x79\x70\x65\x20\x65\x78\x69\x66\x00\x00\x78\ +\xda\xed\x97\x5b\x8e\x23\x21\x0c\x45\xff\x59\xc5\x2c\x01\xdb\x18\ +\xc3\x72\xa0\x28\xa4\xd9\xc1\x2c\x7f\x2e\x14\xa9\x3c\x3a\xd3\x4a\ +\x47\xfd\x33\x52\x83\xc2\xc3\x45\xd9\xc6\x07\x9c\xc4\xed\x7f\x7e\ +\x77\xf7\x0b\x85\x72\x8e\x2e\xa8\xa5\x98\x63\xf4\x28\x21\x87\xcc\ +\x05\x83\xe4\x8f\x72\xf4\xe4\xc3\x6c\x67\xe1\xf5\x08\xf3\x3b\xb9\ +\x3b\x1f\x30\x44\x82\x5e\x8e\x69\xdc\xd7\xfa\x02\xb9\x5e\x5f\xb0\ +\xb0\xe4\xf5\x5e\xee\x6c\x5b\x7a\xd2\x52\xb4\x1e\x5c\x14\xca\xb0\ +\x3c\xac\xb5\xe5\xe4\x52\x24\x7c\xc8\x69\xcd\x5d\x5e\x2e\x95\x78\ +\xb3\x9d\xf5\xa9\x8d\x79\xbd\x34\xcb\xe3\x3c\x18\x82\xd1\x14\xfa\ +\x84\x1d\xef\x42\xe2\x67\xbb\x16\x09\xbc\x90\x2c\x05\x7d\x9a\x6d\ +\xe0\x43\x5a\x24\x48\x9c\xad\x7d\x8c\x9f\x3b\x43\xf7\x24\x80\xe7\ +\xe8\x21\x7e\x7e\x5b\x72\xb9\x86\xe3\x50\x74\xd9\x56\x7c\x88\xd3\ +\x92\x93\x3e\x8f\xdf\x8c\xd2\xad\x47\xc4\xa7\x65\xbe\xf5\xa8\x86\ +\xd3\xc4\x87\xf8\xf5\xde\x52\xef\xfb\xb1\xbb\x12\x70\x8e\x72\x88\ +\x6b\x53\x97\xad\xcc\x11\x16\x56\x84\x53\xe6\x6b\x11\xd5\xf0\x51\ +\x8c\x6d\xd6\x8c\x9a\x7c\xf1\x1b\xa8\x35\x6c\xb5\x3a\x5f\x31\xc9\ +\xc4\x88\x78\xa7\x40\x8d\x0a\x75\xda\x67\xbf\xd1\x06\x17\x03\xef\ +\x6c\xe8\x99\x37\x96\x29\x4b\x62\x9c\x79\x9b\x50\xc2\xa8\xd4\xd9\ +\x1c\xf8\x34\xd0\x61\xd9\x40\x4e\x20\xe6\xd3\x17\x9a\x76\xf3\xb0\ +\x07\x63\x09\x96\x1b\x61\x25\x13\x94\x81\xf1\x7d\x75\x8f\x82\x77\ +\xeb\x9d\xa2\xde\xc7\x31\x27\xf2\xe9\x8c\x15\xfc\x9a\x87\x10\x6e\ +\x0c\x72\xa3\xc5\x2a\x00\xa1\xbe\x62\xaa\x33\xbe\xe4\x8e\xce\x3f\ +\x96\x01\x56\x40\x50\x67\x98\x13\x36\x58\x7c\x3d\x54\x54\xa5\xeb\ +\xd9\x92\xc9\x59\xbc\x3a\x2c\x0d\xfe\xb8\x2f\x64\x6d\x29\x40\x88\ +\x60\x5b\xe1\x0c\x09\x08\xf8\x48\xa2\x14\xc9\x1b\xb3\x11\x21\x8e\ +\x09\x7c\x0a\x3c\x67\x1c\xfb\x0a\x02\xa4\x4e\xb9\xc1\x4b\x0e\x22\ +\x11\x70\x12\x0f\xdb\x78\xc7\x68\xae\x65\xe5\x43\x8c\xf4\x02\x10\ +\x8a\x2b\x62\x40\x83\x0b\x04\x58\x21\x68\x88\xb8\x6f\x09\x47\xa8\ +\x38\x15\x0d\xaa\x1a\xd5\x34\x69\xd6\x12\x25\x86\xa8\x31\x46\x8b\ +\x23\x4f\x15\x13\x0b\xa6\x16\xcd\x2c\x59\xb6\x92\x24\x85\xa4\x29\ +\x26\x4b\x29\xe5\x54\x32\x67\x41\x1a\x53\x97\x63\xb6\x9c\x72\xce\ +\xa5\xc0\x68\x09\x05\xba\x0a\xd6\x17\x08\x2a\x57\xa9\xa1\x6a\x8d\ +\xd5\x6a\xaa\xb9\x96\x0d\xc7\x67\x0b\x9b\x6e\x71\xb3\x2d\x6d\x79\ +\x2b\x8d\x9b\x34\xa4\x00\xd7\x62\xb3\x96\x5a\x6e\x65\xa7\x1d\x47\ +\x69\x0f\xbb\xee\x71\xb7\x3d\xed\x79\x2f\x1d\x67\xad\x4b\x0f\x5d\ +\x7b\xec\xd6\x53\xcf\xbd\x9c\xd4\x16\xd5\x7b\x6a\x8f\xe4\x3e\xa7\ +\x46\x8b\x1a\x4f\x50\x63\x9d\x5d\xa9\x41\x6c\x76\x51\x41\x23\x9d\ +\xe8\x60\x06\x62\x1c\x08\xc4\x6d\x10\xc0\x81\xe6\xc1\xcc\x27\x0a\ +\x81\x07\xb9\xc1\xcc\x67\x16\x27\xa2\x0c\x2f\x75\xc0\x69\x34\x88\ +\x81\x60\xd8\x89\xb5\xd3\xc9\xee\x4a\xee\x9f\xdc\x1c\xa2\xfb\x55\ +\x6e\xfc\x8c\x9c\x1b\xe8\xbe\x83\x9c\x1b\xe8\x6e\xc8\x7d\xe4\xf6\ +\x84\x5a\x2b\x33\xdd\xca\x04\x34\x6e\x21\x62\x8a\x0c\x29\xb8\x7e\ +\x58\xb0\xa7\xc2\xa9\x8c\xef\xa5\xb7\x7a\xf7\xee\x8b\x5f\x53\x54\ +\xf7\xb6\x61\xd8\x53\x82\xbf\xbd\x0e\xaf\xc7\x6c\x3c\x7b\x9c\xb9\ +\xcf\x1e\x7e\x36\x4b\xa5\x22\x21\xbf\xe2\x51\xaf\xc8\xce\xa5\xf6\ +\x80\x2f\x78\xf5\xc0\xd9\x1b\x12\x3d\x85\x5b\xe1\x18\x8c\xef\x6c\ +\x34\xee\x32\x78\xaf\x5f\xca\xfc\x48\x6c\xcf\x6d\x2d\xe1\xeb\x2a\ +\xdd\xbb\xbe\xfc\x28\xfa\x51\xf4\xa3\xe8\x47\xd1\xff\xa3\x48\xfb\ +\x9c\xe1\x77\x8b\x21\x49\xbe\x3c\x73\xc7\xd4\xda\xf8\x09\x4f\x47\ +\x32\xd7\xf1\x2f\xec\xe5\x3e\x72\xb3\x4d\xd4\x7d\xd9\xf4\x39\xbb\ +\xdf\x9e\xfb\x8e\xf8\xfc\x77\x8a\xf0\x5f\xa1\xb7\xec\xfe\x02\xcd\ +\x8f\x6b\xf8\x3a\x5d\x42\xce\x00\x00\x01\x84\x69\x43\x43\x50\x49\ +\x43\x43\x20\x70\x72\x6f\x66\x69\x6c\x65\x00\x00\x78\x9c\x7d\x91\ +\x3d\x48\xc3\x40\x1c\xc5\x5f\xd3\x6a\x8b\x54\x04\xed\x20\xe2\x90\ +\xa1\x3a\x59\x10\x15\x71\xd4\x2a\x14\xa1\x42\xa8\x15\x5a\x75\x30\ +\xb9\xf4\x0b\x9a\x34\x24\x29\x2e\x8e\x82\x6b\xc1\xc1\x8f\xc5\xaa\ +\x83\x8b\xb3\xae\x0e\xae\x82\x20\xf8\x01\xe2\xe2\xea\xa4\xe8\x22\ +\x25\xfe\x2f\x29\xb4\x88\xf5\xe0\xb8\x1f\xef\xee\x3d\xee\xde\x01\ +\x42\xbd\xcc\x34\x2b\x30\x0e\x68\xba\x6d\xa6\x12\x71\x31\x93\x5d\ +\x15\x83\xaf\x08\x21\x80\x7e\x74\x63\x46\x66\x96\x31\x27\x49\x49\ +\x74\x1c\x5f\xf7\xf0\xf1\xf5\x2e\xc6\xb3\x3a\x9f\xfb\x73\xf4\xaa\ +\x39\x8b\x01\x3e\x91\x78\x96\x19\xa6\x4d\xbc\x41\x3c\xbd\x69\x1b\ +\x9c\xf7\x89\x23\xac\x28\xab\xc4\xe7\xc4\x63\x26\x5d\x90\xf8\x91\ +\xeb\x8a\xc7\x6f\x9c\x0b\x2e\x0b\x3c\x33\x62\xa6\x53\xf3\xc4\x11\ +\x62\xb1\xd0\xc6\x4a\x1b\xb3\xa2\xa9\x11\x4f\x11\x47\x55\x4d\xa7\ +\x7c\x21\xe3\xb1\xca\x79\x8b\xb3\x56\xae\xb2\xe6\x3d\xf9\x0b\xc3\ +\x39\x7d\x65\x99\xeb\x34\x87\x91\xc0\x22\x96\x20\x41\x84\x82\x2a\ +\x4a\x28\xc3\x46\x8c\x56\x9d\x14\x0b\x29\xda\x8f\x77\xf0\x0f\xb9\ +\x7e\x89\x5c\x0a\xb9\x4a\x60\xe4\x58\x40\x05\x1a\x64\xd7\x0f\xfe\ +\x07\xbf\xbb\xb5\xf2\x93\x13\x5e\x52\x38\x0e\x74\xbd\x38\xce\xc7\ +\x08\x10\xdc\x05\x1a\x35\xc7\xf9\x3e\x76\x9c\xc6\x09\xe0\x7f\x06\ +\xae\xf4\x96\xbf\x52\x07\x66\x3e\x49\xaf\xb5\xb4\xe8\x11\xd0\xb7\ +\x0d\x5c\x5c\xb7\x34\x65\x0f\xb8\xdc\x01\x06\x9f\x0c\xd9\x94\x5d\ +\xc9\x4f\x53\xc8\xe7\x81\xf7\x33\xfa\xa6\x2c\x30\x70\x0b\xf4\xac\ +\x79\xbd\x35\xf7\x71\xfa\x00\xa4\xa9\xab\xe4\x0d\x70\x70\x08\x8c\ +\x16\x28\x7b\xbd\xc3\xbb\x43\xed\xbd\xfd\x7b\xa6\xd9\xdf\x0f\x4d\ +\x30\x72\x98\xc7\x47\xad\xd8\x00\x00\x00\x06\x62\x4b\x47\x44\x00\ +\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\x09\x70\x48\x59\ +\x73\x00\x00\x45\x7a\x00\x00\x45\x7a\x01\xf5\x6e\xbc\x8a\x00\x00\ +\x00\x07\x74\x49\x4d\x45\x07\xe3\x08\x04\x12\x2e\x2f\x5c\x62\x5c\ +\x71\x00\x00\x02\x20\x49\x44\x41\x54\x58\xc3\xed\x97\xbd\x6b\x14\ +\x51\x14\xc5\x7f\xfb\x92\xd8\xc9\xe0\x47\x20\x98\x26\x45\x10\x2d\ +\x6c\x56\x82\x22\x69\x2c\x84\x34\x16\x31\x10\xff\x80\xa0\x4d\xfe\ +\x06\x0b\xb5\xb6\xd1\x4e\x1b\x3b\xb5\x10\x2c\x5c\xe3\x07\x26\x20\ +\x04\xb1\x50\x08\x82\x11\x59\x70\xd8\xb0\x89\x9f\xb0\x03\x66\x09\ +\x88\x39\x16\xbe\x85\x75\xd8\x79\xef\xce\x5a\x09\x7b\xe0\x31\x30\ +\xef\xbc\x73\xcf\xcc\xbc\xb9\xf7\x3e\x18\xe0\x7f\x40\xbd\x5e\x47\ +\x52\xa9\xd1\x68\x34\x4c\xda\x95\x56\xab\x55\x38\x99\x24\x49\xfe\ +\xd6\x0c\x30\x0d\x1c\x01\x0e\x02\xa3\x40\x05\xf8\x0a\x7c\x07\xde\ +\x03\xab\x40\xad\x7b\x51\x96\x65\xc5\x0e\x22\x4f\x32\x26\xe9\x9c\ +\xa4\xe7\xfa\x1b\x6d\x49\x3f\x24\xed\xaa\x18\x2b\x92\xe6\xbc\x46\ +\x61\x8c\xa2\x89\x11\x49\xd7\x24\xa5\x39\xd1\xba\xa4\x79\x49\x55\ +\x3f\x66\x3c\x2f\x84\xd4\x73\x46\xac\x06\x8e\x4b\xca\x7a\x08\x6d\ +\x48\x1a\x2f\x30\xbc\x4f\xd2\xdb\x88\x91\xcc\x6b\xf7\x34\x50\xf1\ +\xd7\xc5\x80\xc0\x85\xc8\xe7\xda\x23\xe9\x89\xe2\x58\xec\x8e\xd9\ +\x2d\x70\x35\xb0\xa8\x6d\xdc\xfd\x43\x92\x5e\x19\x4c\x5c\xce\xbf\ +\x81\x39\x3f\x51\xb4\xa9\x6e\x97\xf8\x05\x4f\x48\xda\x09\x04\xef\ +\xc4\x98\xed\x18\x48\x24\xad\x47\x1c\x2f\x94\xcc\x03\xcb\x86\xb7\ +\xf0\x4e\x52\xe2\x80\x29\xff\x5f\x87\xf0\xb1\x64\xee\xba\x6e\xe0\ +\x1c\x05\xa6\x1c\x70\xd1\x40\xde\x29\x69\xe0\x01\xb0\x6b\xe0\x2d\ +\x38\xe0\x94\x81\x78\xa0\x8f\x0c\xfe\xd4\xc0\x99\x76\x3e\x9d\xc6\ +\x30\xde\x87\x81\x67\x06\xce\xa8\x03\xb6\x0d\xc4\x93\x7d\x18\xd8\ +\x30\x70\xb6\x1d\xf0\xc6\x40\x3c\xdb\x87\x81\x4f\x06\xce\x6b\x07\ +\xdc\x31\x10\xf7\x03\xc7\x4a\x1a\xa8\x18\x38\xf7\x1c\xf0\xd8\x97\ +\xd3\x18\x2e\x95\x34\x70\x28\x32\xff\x05\x58\x72\x40\x13\xb8\x65\ +\x10\x3c\x0d\x4c\x96\x30\x50\x8d\xcc\xdf\x04\x36\xbb\xb3\xd7\x92\ +\x21\x7b\xdd\xcd\x15\xaf\xd0\x48\x03\x3a\xb5\xa2\x72\x5c\x33\x98\ +\xb8\x62\x08\x5e\x0d\xac\x7f\x18\xea\x07\x86\x7d\x80\x58\x21\xb9\ +\x21\xc9\x05\x2a\xe2\x8b\x80\xf9\x61\x4b\x47\x34\x69\x28\x50\x9f\ +\x7d\xbb\x96\x0f\x7e\xbf\x07\x77\xdd\x6b\x9a\x5b\xb2\xce\x98\x97\ +\xf4\x48\xd2\x66\xc0\xc8\x4f\xdf\x0d\xad\xe5\xee\x6f\xf9\x7d\x75\ +\x3e\x14\xe3\x4f\x57\x12\xc6\x10\x30\x06\x4c\x00\x67\x7c\x56\x3c\ +\xec\xbb\xe2\xbd\x9e\xd3\x06\xbe\x01\x1f\x80\x97\xbe\x0e\xa4\xc0\ +\x16\xf0\xeb\x9f\xcf\x05\x69\x9a\x96\x3e\x17\x34\x9b\xcd\xc1\x81\ +\x6a\x00\x13\x7e\x03\xa8\x32\xb9\xbd\xc4\x2d\xe2\xba\x00\x00\x00\ +\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x0d\xee\ \x3c\ \xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\xa7\ @@ -3415,128 +3537,6 @@ qt_resource_data = b"\ \x00\x00\x0b\x55\x73\x65\x72\x20\x4d\x61\x6e\x75\x61\x6c\x07\x00\ \x00\x00\x12\x54\x65\x6d\x70\x6c\x61\x74\x65\x55\x73\x65\x72\x4d\ \x61\x6e\x75\x61\x6c\x01\x88\x00\x00\x00\x02\x01\x01\ -\x00\x00\x07\x7a\ -\x89\ -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ -\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ -\x00\x00\x03\x4b\x7a\x54\x58\x74\x52\x61\x77\x20\x70\x72\x6f\x66\ -\x69\x6c\x65\x20\x74\x79\x70\x65\x20\x65\x78\x69\x66\x00\x00\x78\ -\xda\xed\x97\x5b\x8e\x23\x21\x0c\x45\xff\x59\xc5\x2c\x01\xdb\x18\ -\xc3\x72\xa0\x28\xa4\xd9\xc1\x2c\x7f\x2e\x14\xa9\x3c\x3a\xd3\x4a\ -\x47\xfd\x33\x52\x83\xc2\xc3\x45\xd9\xc6\x07\x9c\xc4\xed\x7f\x7e\ -\x77\xf7\x0b\x85\x72\x8e\x2e\xa8\xa5\x98\x63\xf4\x28\x21\x87\xcc\ -\x05\x83\xe4\x8f\x72\xf4\xe4\xc3\x6c\x67\xe1\xf5\x08\xf3\x3b\xb9\ -\x3b\x1f\x30\x44\x82\x5e\x8e\x69\xdc\xd7\xfa\x02\xb9\x5e\x5f\xb0\ -\xb0\xe4\xf5\x5e\xee\x6c\x5b\x7a\xd2\x52\xb4\x1e\x5c\x14\xca\xb0\ -\x3c\xac\xb5\xe5\xe4\x52\x24\x7c\xc8\x69\xcd\x5d\x5e\x2e\x95\x78\ -\xb3\x9d\xf5\xa9\x8d\x79\xbd\x34\xcb\xe3\x3c\x18\x82\xd1\x14\xfa\ -\x84\x1d\xef\x42\xe2\x67\xbb\x16\x09\xbc\x90\x2c\x05\x7d\x9a\x6d\ -\xe0\x43\x5a\x24\x48\x9c\xad\x7d\x8c\x9f\x3b\x43\xf7\x24\x80\xe7\ -\xe8\x21\x7e\x7e\x5b\x72\xb9\x86\xe3\x50\x74\xd9\x56\x7c\x88\xd3\ -\x92\x93\x3e\x8f\xdf\x8c\xd2\xad\x47\xc4\xa7\x65\xbe\xf5\xa8\x86\ -\xd3\xc4\x87\xf8\xf5\xde\x52\xef\xfb\xb1\xbb\x12\x70\x8e\x72\x88\ -\x6b\x53\x97\xad\xcc\x11\x16\x56\x84\x53\xe6\x6b\x11\xd5\xf0\x51\ -\x8c\x6d\xd6\x8c\x9a\x7c\xf1\x1b\xa8\x35\x6c\xb5\x3a\x5f\x31\xc9\ -\xc4\x88\x78\xa7\x40\x8d\x0a\x75\xda\x67\xbf\xd1\x06\x17\x03\xef\ -\x6c\xe8\x99\x37\x96\x29\x4b\x62\x9c\x79\x9b\x50\xc2\xa8\xd4\xd9\ -\x1c\xf8\x34\xd0\x61\xd9\x40\x4e\x20\xe6\xd3\x17\x9a\x76\xf3\xb0\ -\x07\x63\x09\x96\x1b\x61\x25\x13\x94\x81\xf1\x7d\x75\x8f\x82\x77\ -\xeb\x9d\xa2\xde\xc7\x31\x27\xf2\xe9\x8c\x15\xfc\x9a\x87\x10\x6e\ -\x0c\x72\xa3\xc5\x2a\x00\xa1\xbe\x62\xaa\x33\xbe\xe4\x8e\xce\x3f\ -\x96\x01\x56\x40\x50\x67\x98\x13\x36\x58\x7c\x3d\x54\x54\xa5\xeb\ -\xd9\x92\xc9\x59\xbc\x3a\x2c\x0d\xfe\xb8\x2f\x64\x6d\x29\x40\x88\ -\x60\x5b\xe1\x0c\x09\x08\xf8\x48\xa2\x14\xc9\x1b\xb3\x11\x21\x8e\ -\x09\x7c\x0a\x3c\x67\x1c\xfb\x0a\x02\xa4\x4e\xb9\xc1\x4b\x0e\x22\ -\x11\x70\x12\x0f\xdb\x78\xc7\x68\xae\x65\xe5\x43\x8c\xf4\x02\x10\ -\x8a\x2b\x62\x40\x83\x0b\x04\x58\x21\x68\x88\xb8\x6f\x09\x47\xa8\ -\x38\x15\x0d\xaa\x1a\xd5\x34\x69\xd6\x12\x25\x86\xa8\x31\x46\x8b\ -\x23\x4f\x15\x13\x0b\xa6\x16\xcd\x2c\x59\xb6\x92\x24\x85\xa4\x29\ -\x26\x4b\x29\xe5\x54\x32\x67\x41\x1a\x53\x97\x63\xb6\x9c\x72\xce\ -\xa5\xc0\x68\x09\x05\xba\x0a\xd6\x17\x08\x2a\x57\xa9\xa1\x6a\x8d\ -\xd5\x6a\xaa\xb9\x96\x0d\xc7\x67\x0b\x9b\x6e\x71\xb3\x2d\x6d\x79\ -\x2b\x8d\x9b\x34\xa4\x00\xd7\x62\xb3\x96\x5a\x6e\x65\xa7\x1d\x47\ -\x69\x0f\xbb\xee\x71\xb7\x3d\xed\x79\x2f\x1d\x67\xad\x4b\x0f\x5d\ -\x7b\xec\xd6\x53\xcf\xbd\x9c\xd4\x16\xd5\x7b\x6a\x8f\xe4\x3e\xa7\ -\x46\x8b\x1a\x4f\x50\x63\x9d\x5d\xa9\x41\x6c\x76\x51\x41\x23\x9d\ -\xe8\x60\x06\x62\x1c\x08\xc4\x6d\x10\xc0\x81\xe6\xc1\xcc\x27\x0a\ -\x81\x07\xb9\xc1\xcc\x67\x16\x27\xa2\x0c\x2f\x75\xc0\x69\x34\x88\ -\x81\x60\xd8\x89\xb5\xd3\xc9\xee\x4a\xee\x9f\xdc\x1c\xa2\xfb\x55\ -\x6e\xfc\x8c\x9c\x1b\xe8\xbe\x83\x9c\x1b\xe8\x6e\xc8\x7d\xe4\xf6\ -\x84\x5a\x2b\x33\xdd\xca\x04\x34\x6e\x21\x62\x8a\x0c\x29\xb8\x7e\ -\x58\xb0\xa7\xc2\xa9\x8c\xef\xa5\xb7\x7a\xf7\xee\x8b\x5f\x53\x54\ -\xf7\xb6\x61\xd8\x53\x82\xbf\xbd\x0e\xaf\xc7\x6c\x3c\x7b\x9c\xb9\ -\xcf\x1e\x7e\x36\x4b\xa5\x22\x21\xbf\xe2\x51\xaf\xc8\xce\xa5\xf6\ -\x80\x2f\x78\xf5\xc0\xd9\x1b\x12\x3d\x85\x5b\xe1\x18\x8c\xef\x6c\ -\x34\xee\x32\x78\xaf\x5f\xca\xfc\x48\x6c\xcf\x6d\x2d\xe1\xeb\x2a\ -\xdd\xbb\xbe\xfc\x28\xfa\x51\xf4\xa3\xe8\x47\xd1\xff\xa3\x48\xfb\ -\x9c\xe1\x77\x8b\x21\x49\xbe\x3c\x73\xc7\xd4\xda\xf8\x09\x4f\x47\ -\x32\xd7\xf1\x2f\xec\xe5\x3e\x72\xb3\x4d\xd4\x7d\xd9\xf4\x39\xbb\ -\xdf\x9e\xfb\x8e\xf8\xfc\x77\x8a\xf0\x5f\xa1\xb7\xec\xfe\x02\xcd\ -\x8f\x6b\xf8\x3a\x5d\x42\xce\x00\x00\x01\x84\x69\x43\x43\x50\x49\ -\x43\x43\x20\x70\x72\x6f\x66\x69\x6c\x65\x00\x00\x78\x9c\x7d\x91\ -\x3d\x48\xc3\x40\x1c\xc5\x5f\xd3\x6a\x8b\x54\x04\xed\x20\xe2\x90\ -\xa1\x3a\x59\x10\x15\x71\xd4\x2a\x14\xa1\x42\xa8\x15\x5a\x75\x30\ -\xb9\xf4\x0b\x9a\x34\x24\x29\x2e\x8e\x82\x6b\xc1\xc1\x8f\xc5\xaa\ -\x83\x8b\xb3\xae\x0e\xae\x82\x20\xf8\x01\xe2\xe2\xea\xa4\xe8\x22\ -\x25\xfe\x2f\x29\xb4\x88\xf5\xe0\xb8\x1f\xef\xee\x3d\xee\xde\x01\ -\x42\xbd\xcc\x34\x2b\x30\x0e\x68\xba\x6d\xa6\x12\x71\x31\x93\x5d\ -\x15\x83\xaf\x08\x21\x80\x7e\x74\x63\x46\x66\x96\x31\x27\x49\x49\ -\x74\x1c\x5f\xf7\xf0\xf1\xf5\x2e\xc6\xb3\x3a\x9f\xfb\x73\xf4\xaa\ -\x39\x8b\x01\x3e\x91\x78\x96\x19\xa6\x4d\xbc\x41\x3c\xbd\x69\x1b\ -\x9c\xf7\x89\x23\xac\x28\xab\xc4\xe7\xc4\x63\x26\x5d\x90\xf8\x91\ -\xeb\x8a\xc7\x6f\x9c\x0b\x2e\x0b\x3c\x33\x62\xa6\x53\xf3\xc4\x11\ -\x62\xb1\xd0\xc6\x4a\x1b\xb3\xa2\xa9\x11\x4f\x11\x47\x55\x4d\xa7\ -\x7c\x21\xe3\xb1\xca\x79\x8b\xb3\x56\xae\xb2\xe6\x3d\xf9\x0b\xc3\ -\x39\x7d\x65\x99\xeb\x34\x87\x91\xc0\x22\x96\x20\x41\x84\x82\x2a\ -\x4a\x28\xc3\x46\x8c\x56\x9d\x14\x0b\x29\xda\x8f\x77\xf0\x0f\xb9\ -\x7e\x89\x5c\x0a\xb9\x4a\x60\xe4\x58\x40\x05\x1a\x64\xd7\x0f\xfe\ -\x07\xbf\xbb\xb5\xf2\x93\x13\x5e\x52\x38\x0e\x74\xbd\x38\xce\xc7\ -\x08\x10\xdc\x05\x1a\x35\xc7\xf9\x3e\x76\x9c\xc6\x09\xe0\x7f\x06\ -\xae\xf4\x96\xbf\x52\x07\x66\x3e\x49\xaf\xb5\xb4\xe8\x11\xd0\xb7\ -\x0d\x5c\x5c\xb7\x34\x65\x0f\xb8\xdc\x01\x06\x9f\x0c\xd9\x94\x5d\ -\xc9\x4f\x53\xc8\xe7\x81\xf7\x33\xfa\xa6\x2c\x30\x70\x0b\xf4\xac\ -\x79\xbd\x35\xf7\x71\xfa\x00\xa4\xa9\xab\xe4\x0d\x70\x70\x08\x8c\ -\x16\x28\x7b\xbd\xc3\xbb\x43\xed\xbd\xfd\x7b\xa6\xd9\xdf\x0f\x4d\ -\x30\x72\x98\xc7\x47\xad\xd8\x00\x00\x00\x06\x62\x4b\x47\x44\x00\ -\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\x09\x70\x48\x59\ -\x73\x00\x00\x45\x7a\x00\x00\x45\x7a\x01\xf5\x6e\xbc\x8a\x00\x00\ -\x00\x07\x74\x49\x4d\x45\x07\xe3\x08\x04\x12\x2e\x2f\x5c\x62\x5c\ -\x71\x00\x00\x02\x20\x49\x44\x41\x54\x58\xc3\xed\x97\xbd\x6b\x14\ -\x51\x14\xc5\x7f\xfb\x92\xd8\xc9\xe0\x47\x20\x98\x26\x45\x10\x2d\ -\x6c\x56\x82\x22\x69\x2c\x84\x34\x16\x31\x10\xff\x80\xa0\x4d\xfe\ -\x06\x0b\xb5\xb6\xd1\x4e\x1b\x3b\xb5\x10\x2c\x5c\xe3\x07\x26\x20\ -\x04\xb1\x50\x08\x82\x11\x59\x70\xd8\xb0\x89\x9f\xb0\x03\x66\x09\ -\x88\x39\x16\xbe\x85\x75\xd8\x79\xef\xce\x5a\x09\x7b\xe0\x31\x30\ -\xef\xbc\x73\xcf\xcc\xbc\xb9\xf7\x3e\x18\xe0\x7f\x40\xbd\x5e\x47\ -\x52\xa9\xd1\x68\x34\x4c\xda\x95\x56\xab\x55\x38\x99\x24\x49\xfe\ -\xd6\x0c\x30\x0d\x1c\x01\x0e\x02\xa3\x40\x05\xf8\x0a\x7c\x07\xde\ -\x03\xab\x40\xad\x7b\x51\x96\x65\xc5\x0e\x22\x4f\x32\x26\xe9\x9c\ -\xa4\xe7\xfa\x1b\x6d\x49\x3f\x24\xed\xaa\x18\x2b\x92\xe6\xbc\x46\ -\x61\x8c\xa2\x89\x11\x49\xd7\x24\xa5\x39\xd1\xba\xa4\x79\x49\x55\ -\x3f\x66\x3c\x2f\x84\xd4\x73\x46\xac\x06\x8e\x4b\xca\x7a\x08\x6d\ -\x48\x1a\x2f\x30\xbc\x4f\xd2\xdb\x88\x91\xcc\x6b\xf7\x34\x50\xf1\ -\xd7\xc5\x80\xc0\x85\xc8\xe7\xda\x23\xe9\x89\xe2\x58\xec\x8e\xd9\ -\x2d\x70\x35\xb0\xa8\x6d\xdc\xfd\x43\x92\x5e\x19\x4c\x5c\xce\xbf\ -\x81\x39\x3f\x51\xb4\xa9\x6e\x97\xf8\x05\x4f\x48\xda\x09\x04\xef\ -\xc4\x98\xed\x18\x48\x24\xad\x47\x1c\x2f\x94\xcc\x03\xcb\x86\xb7\ -\xf0\x4e\x52\xe2\x80\x29\xff\x5f\x87\xf0\xb1\x64\xee\xba\x6e\xe0\ -\x1c\x05\xa6\x1c\x70\xd1\x40\xde\x29\x69\xe0\x01\xb0\x6b\xe0\x2d\ -\x38\xe0\x94\x81\x78\xa0\x8f\x0c\xfe\xd4\xc0\x99\x76\x3e\x9d\xc6\ -\x30\xde\x87\x81\x67\x06\xce\xa8\x03\xb6\x0d\xc4\x93\x7d\x18\xd8\ -\x30\x70\xb6\x1d\xf0\xc6\x40\x3c\xdb\x87\x81\x4f\x06\xce\x6b\x07\ -\xdc\x31\x10\xf7\x03\xc7\x4a\x1a\xa8\x18\x38\xf7\x1c\xf0\xd8\x97\ -\xd3\x18\x2e\x95\x34\x70\x28\x32\xff\x05\x58\x72\x40\x13\xb8\x65\ -\x10\x3c\x0d\x4c\x96\x30\x50\x8d\xcc\xdf\x04\x36\xbb\xb3\xd7\x92\ -\x21\x7b\xdd\xcd\x15\xaf\xd0\x48\x03\x3a\xb5\xa2\x72\x5c\x33\x98\ -\xb8\x62\x08\x5e\x0d\xac\x7f\x18\xea\x07\x86\x7d\x80\x58\x21\xb9\ -\x21\xc9\x05\x2a\xe2\x8b\x80\xf9\x61\x4b\x47\x34\x69\x28\x50\x9f\ -\x7d\xbb\x96\x0f\x7e\xbf\x07\x77\xdd\x6b\x9a\x5b\xb2\xce\x98\x97\ -\xf4\x48\xd2\x66\xc0\xc8\x4f\xdf\x0d\xad\xe5\xee\x6f\xf9\x7d\x75\ -\x3e\x14\xe3\x4f\x57\x12\xc6\x10\x30\x06\x4c\x00\x67\x7c\x56\x3c\ -\xec\xbb\xe2\xbd\x9e\xd3\x06\xbe\x01\x1f\x80\x97\xbe\x0e\xa4\xc0\ -\x16\xf0\xeb\x9f\xcf\x05\x69\x9a\x96\x3e\x17\x34\x9b\xcd\xc1\x81\ -\x6a\x00\x13\x7e\x03\xa8\x32\xb9\xbd\xc4\x2d\xe2\xba\x00\x00\x00\ -\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ " qt_resource_name = b"\ @@ -3544,36 +3544,36 @@ qt_resource_name = b"\ \x0c\x47\x27\xe5\ \x00\x74\ \x00\x65\x00\x6d\x00\x70\x00\x6c\x00\x61\x00\x74\x00\x65\ -\x00\x05\ -\x00\x6f\xa6\x53\ -\x00\x69\ -\x00\x63\x00\x6f\x00\x6e\x00\x73\ -\x00\x0c\ -\x0d\xfc\x11\x13\ -\x00\x74\ -\x00\x72\x00\x61\x00\x6e\x00\x73\x00\x6c\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x73\ \x00\x0b\ \x09\xc1\xce\x26\ \x00\x65\ \x00\x75\x00\x74\x00\x65\x00\x72\x00\x70\x00\x65\x00\x2e\x00\x74\x00\x74\x00\x66\ +\x00\x0c\ +\x0d\xfc\x11\x13\ +\x00\x74\ +\x00\x72\x00\x61\x00\x6e\x00\x73\x00\x6c\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x73\ \x00\x05\ -\x00\x6a\x85\x7d\ -\x00\x64\ -\x00\x65\x00\x2e\x00\x71\x00\x6d\ +\x00\x6f\xa6\x53\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x73\ \x00\x0d\ \x0d\x4c\x02\x07\ \x00\x77\ \x00\x68\x00\x6f\x00\x6c\x00\x65\x00\x4e\x00\x6f\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x05\ +\x00\x6a\x85\x7d\ +\x00\x64\ +\x00\x65\x00\x2e\x00\x71\x00\x6d\ " qt_resource_struct_v1 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\ -\x00\x00\x00\x16\x00\x02\x00\x00\x00\x01\x00\x00\x00\x06\ -\x00\x00\x00\x44\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x00\x26\x00\x02\x00\x00\x00\x01\x00\x00\x00\x05\ +\x00\x00\x00\x50\x00\x02\x00\x00\x00\x01\x00\x00\x00\x06\ +\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x00\x32\x00\x02\x00\x00\x00\x01\x00\x00\x00\x05\ +\x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\xce\x32\ \x00\x00\x00\x60\x00\x00\x00\x00\x00\x01\x00\x00\xc6\xb4\ -\x00\x00\x00\x70\x00\x00\x00\x00\x00\x01\x00\x00\xd4\xa6\ " qt_resource_struct_v2 = b"\ @@ -3581,16 +3581,16 @@ qt_resource_struct_v2 = b"\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x16\x00\x02\x00\x00\x00\x01\x00\x00\x00\x06\ +\x00\x00\x00\x50\x00\x02\x00\x00\x00\x01\x00\x00\x00\x06\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x44\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x7c\xf7\x8f\x03\xf7\ -\x00\x00\x00\x26\x00\x02\x00\x00\x00\x01\x00\x00\x00\x05\ +\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x7d\x15\x1b\x05\x93\ +\x00\x00\x00\x32\x00\x02\x00\x00\x00\x01\x00\x00\x00\x05\ \x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\xce\x32\ +\x00\x00\x01\x7d\x15\x1b\x05\x8f\ \x00\x00\x00\x60\x00\x00\x00\x00\x00\x01\x00\x00\xc6\xb4\ -\x00\x00\x01\x7d\x10\xa2\x73\xfd\ -\x00\x00\x00\x70\x00\x00\x00\x00\x00\x01\x00\x00\xd4\xa6\ -\x00\x00\x01\x7c\xf7\x8f\x03\xf4\ +\x00\x00\x01\x7d\x15\x1b\x05\x8f\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')] diff --git a/template/qtgui/resources/resources.qrc b/template/qtgui/resources/resources.qrc index 98d1153..3bbeffa 100644 --- a/template/qtgui/resources/resources.qrc +++ b/template/qtgui/resources/resources.qrc @@ -1,7 +1,7 @@ - + euterpe.ttf - translations/de.qm - icons/wholeNote.png + translations/de.qm + icons/wholeNote.png diff --git a/template/qtgui/resources/translations/config.pro b/template/qtgui/resources/translations/config.pro index e916461..d8c5973 100644 --- a/template/qtgui/resources/translations/config.pro +++ b/template/qtgui/resources/translations/config.pro @@ -1,4 +1,5 @@ SOURCES = ../../about.py \ + ../../changelog.py \ ../../designer/about.py \ ../../chooseSessionDirectory.py \ ../../usermanual.py \ diff --git a/template/qtgui/usermanual.py b/template/qtgui/usermanual.py index 15c752f..8de4208 100644 --- a/template/qtgui/usermanual.py +++ b/template/qtgui/usermanual.py @@ -32,37 +32,37 @@ from template.start import PATHS class UserManual(QtWidgets.QWidget): """A modal window that is hidden""" - + def __init__(self, mainWindow): super().__init__() - self.mainWindow = mainWindow + self.mainWindow = mainWindow self.ui = Ui_TemplateUserManual() self.ui.setupUi(self) - - self.text = self.ui.textBrowser - + + self.text = self.ui.textBrowser + self.text.setSearchPaths([PATHS["doc"]]) #it's a list! self.text.setSource(QtCore.QUrl("index.html")) - + self.text.highlighted.connect(self.blockLink) - + self.ui.back.clicked.connect(self.text.backward) self.ui.home.clicked.connect(self.text.home) - + self.setWindowTitle(METADATA["name"] + " " + QtCore.QCoreApplication.translate("TemplateUserManual", "User Manual")) - + self.hide() - + def blockLink(self, qurl): - """The browser displays binary "text" when following a link to an image. - prevent that""" + """The browser displays binary "text" when following a link to an image. + prevent that""" if qurl.url().endswith(".png") or qurl.url().startswith("http") or qurl.url().startswith("mailto"): - #About to click an url. + #About to click an url. self.text.setOpenLinks(False) return False else: - self.text.setOpenLinks(True) + self.text.setOpenLinks(True) return True - + def closeEvent(self, event): self.hide()