From 8cb98c44966d8d898d4d549e7d96fd8d8c10174e Mon Sep 17 00:00:00 2001 From: Nils <> Date: Thu, 23 Apr 2020 21:07:47 +0200 Subject: [PATCH] Use qt resource system from now on. Also stub translation file --- qtgui/mainwindow.py | 4 +- qtgui/resources.py | 374 +++++++++++ qtgui/resources/buildresources.sh | 4 + qtgui/resources/hidden.svg | 1 + qtgui/resources/icon.png | Bin 0 -> 1772 bytes qtgui/resources/power.svg | 1 + qtgui/resources/removed.svg | 1 + qtgui/resources/resources.qrc | 11 + qtgui/resources/running.svg | 1 + qtgui/resources/stopped.svg | 1 + qtgui/resources/translations/config.pro | 2 + qtgui/resources/translations/de.qm | Bin 0 -> 895 bytes qtgui/resources/translations/de.ts | 799 ++++++++++++++++++++++++ qtgui/resources/translations/update.sh | 5 + qtgui/systemtray.py | 5 +- 15 files changed, 1206 insertions(+), 3 deletions(-) create mode 100644 qtgui/resources.py create mode 100644 qtgui/resources/buildresources.sh create mode 100644 qtgui/resources/hidden.svg create mode 100644 qtgui/resources/icon.png create mode 100644 qtgui/resources/power.svg create mode 100644 qtgui/resources/removed.svg create mode 100644 qtgui/resources/resources.qrc create mode 100644 qtgui/resources/running.svg create mode 100644 qtgui/resources/stopped.svg create mode 100644 qtgui/resources/translations/config.pro create mode 100644 qtgui/resources/translations/de.qm create mode 100644 qtgui/resources/translations/de.ts create mode 100644 qtgui/resources/translations/update.sh diff --git a/qtgui/mainwindow.py b/qtgui/mainwindow.py index 4a1889b..b1a746d 100644 --- a/qtgui/mainwindow.py +++ b/qtgui/mainwindow.py @@ -47,7 +47,7 @@ from .quickopensessioncontroller import QuickOpenSessionController from .projectname import ProjectNameWidget from .addclientprompt import askForExecutable, updateWordlist from .waitdialog import WaitDialog - +from .resources import * api.eventLoop = EventLoop() @@ -105,7 +105,7 @@ class MainWindow(QtWidgets.QMainWindow): def __init__(self): super().__init__() self.qtApp = qtApp - self.qtApp.setWindowIcon(QtGui.QIcon("icon.png")) #non-template part of the program + self.qtApp.setWindowIcon(QtGui.QIcon(":icon.png")) #non-template part of the program self.qtApp.setApplicationName(f"{METADATA['name']}") self.qtApp.setApplicationDisplayName(f"{METADATA['name']}") logger.info("Init MainWindow") diff --git a/qtgui/resources.py b/qtgui/resources.py new file mode 100644 index 0000000..86415b1 --- /dev/null +++ b/qtgui/resources.py @@ -0,0 +1,374 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created by: The Resource Compiler for PyQt5 (Qt v5.14.2) +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore + +qt_resource_data = b"\ +\x00\x00\x06\xec\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x40\x00\x00\x00\x40\x08\x06\x00\x00\x00\xaa\x69\x71\xde\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x02\x4d\x00\x00\x02\x4d\ +\x01\x88\x6f\xfb\x19\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x06\x69\x49\x44\ +\x41\x54\x78\x9c\xed\x9b\xdd\x4b\x14\x5d\x1c\xc7\xbf\xdb\xae\xfb\ +\x96\xde\x74\x11\x68\xc8\x9a\xa5\x8f\xe4\xe3\x5f\x90\x18\xa2\x48\ +\xe2\xd2\xcb\x4d\xe0\x45\x37\x81\x61\x50\xac\x84\x94\x44\x98\x04\ +\x4a\x42\xc8\x9a\x75\xd7\xd5\x42\xf0\x10\xd4\x85\x2b\x46\xf4\x76\ +\xa3\x77\xb9\x2f\xca\x4c\x25\xba\xbb\xae\x65\xd6\x75\x39\x2f\xbb\ +\x3b\xf3\x5c\xc4\x2e\xfb\xac\xae\x7b\xde\xb4\x60\x9f\x2f\x88\x3b\ +\x33\xbf\xf3\x3d\x67\x3f\x3b\xe7\xfc\xce\x9c\x99\x01\x80\x27\x00\ +\x0c\x00\x66\x99\xfd\x19\x00\x9e\x58\x00\x64\x00\x1c\x40\x79\xca\ +\xb0\xe0\x17\x0d\x9c\x3c\x79\x12\xad\xad\xad\xbf\xb9\x3d\xfb\xa3\ +\xb9\xb9\x39\xcc\xcf\xcf\xe7\xb6\x4d\x00\xe6\xf0\xf0\xb0\x59\x2e\ +\x1a\x1e\x1e\xce\x75\x85\x72\x3d\xf5\x73\x2a\x7b\x00\x36\x51\x46\ +\xdf\xbf\x7f\xc7\x8b\x17\x2f\x44\xd9\xed\xaa\xee\xee\x6e\x1c\x3e\ +\x7c\x58\x88\x97\x10\x00\xa6\x69\x62\x7a\x7a\x1a\x7d\x7d\x7d\x22\ +\xec\x4a\xea\xf1\xe3\xc7\xb8\x74\xe9\x12\x2c\x16\x0b\xb7\x97\x90\ +\x2e\xa0\x28\x0a\xa2\xd1\xa8\x08\x2b\x22\x45\xa3\x51\x28\x8a\x22\ +\xc4\x4b\x08\x80\x4c\x26\x03\x49\x92\x44\x58\x11\x49\x92\x24\x64\ +\x32\x19\x21\x5e\x42\x00\xb8\x5c\x2e\xc8\xb2\x2c\xc2\x8a\x48\xb2\ +\x2c\xc3\xe5\x72\x09\xf1\x12\x02\x40\x55\x55\x7c\xfb\xf6\x4d\x84\ +\x15\x91\x36\x37\x37\xa1\x69\x9a\x10\x2f\x21\x00\x56\x57\x57\x45\ +\xd8\xfc\x96\x3a\x85\x00\x08\x85\x42\x22\x6c\xa8\xb4\xb0\xb0\x20\ +\xc4\x87\x1b\xc0\xd6\xd6\x16\xc2\xe1\xb0\x88\xb6\x50\x29\x12\x89\ +\x08\xc9\x04\xdc\x00\xd2\xe9\xf4\xbe\x0e\x80\x59\xc9\xb2\x8c\x54\ +\x2a\xc5\xed\xc3\x0d\x60\xbf\x33\x40\x56\xb2\x2c\xc3\xed\x76\x73\ +\xfb\x70\x03\x48\xa5\x52\xf8\xfa\xf5\x2b\x53\xd9\xce\xce\x4e\x74\ +\x76\x76\x32\x95\xdd\xd8\xd8\x10\x92\x09\xb8\xa7\xc2\x2b\x2b\x2b\ +\x4c\xe5\xec\x76\x3b\xa6\xa6\xa6\x60\xb5\x5a\xd1\xd2\xd2\xc2\xf4\ +\x65\x62\xb1\x18\x5a\x5a\x5a\x98\xea\xcf\x8a\xfb\x0c\x60\x1d\x00\ +\x07\x07\x07\xd1\xd4\xd4\x84\x86\x86\x06\x5c\xbf\x7e\x7d\x5f\xeb\ +\xce\x17\x17\x00\x45\x51\x98\x1a\x51\x5b\x5b\x8b\x5b\xb7\x6e\xe5\ +\xb6\x6f\xdf\xbe\x8d\xba\xba\x3a\x6a\x9f\x70\x38\xcc\x9d\x09\xb8\ +\x00\xa4\x52\x29\xa6\x01\xf0\xc1\x83\x07\x38\x78\xf0\x60\x6e\xdb\ +\xed\x76\x63\x62\x62\x82\xda\x47\x44\x26\xe0\x02\xc0\x92\x01\xba\ +\xba\xba\x70\xee\xdc\xb9\x6d\xfb\xcf\x9f\x3f\x8f\x9e\x9e\x1e\x2a\ +\x2f\x11\xd7\x04\x5c\x00\xd2\xe9\x34\x36\x36\x36\x88\xe3\x1d\x0e\ +\x07\xa6\xa6\xa6\x8a\x1e\x9f\x9c\x9c\x84\xd3\xe9\x24\xf6\xfb\xfc\ +\xf9\x33\xd2\xe9\x34\x71\xfc\x4e\xe2\x02\xb0\xba\xba\x0a\xd3\x34\ +\x89\xe3\x87\x86\x86\xd0\xd8\xd8\x58\xf4\xf8\xb1\x63\xc7\x70\xe3\ +\xc6\x0d\xaa\x36\xc4\x62\x31\xaa\xf8\x42\x71\x01\x88\x44\x22\xc4\ +\xb1\x1e\x8f\x87\xe8\xcb\x0d\x0d\x0d\xa1\xbe\xbe\x9e\xd8\x97\x37\ +\x13\x30\x03\x50\x14\x85\xea\x22\xe8\xe1\xc3\x87\x44\x33\x37\x97\ +\xcb\x85\x47\x8f\x1e\x11\xfb\x86\xc3\x61\xa8\xaa\x4a\x1c\x5f\x28\ +\x66\x00\x34\x19\xe0\xec\xd9\xb3\xf0\x7a\xbd\xc4\xde\xa7\x4f\x9f\ +\xc6\x99\x33\x67\x88\x62\x65\x59\x86\xae\xeb\xc4\xde\x85\x62\x06\ +\xe0\x74\x3a\x89\x96\xc1\x1c\x0e\x07\xfc\x7e\x3f\xb5\xff\xe4\xe4\ +\x24\x1c\x0e\x47\xc9\x38\x49\x92\xb8\x32\x01\x33\x00\xc3\x30\xf0\ +\xe5\xcb\x97\x92\x71\x9a\xa6\x31\x0d\x54\xc9\x64\x92\xe8\x97\xe5\ +\xcd\x04\xcc\x00\x62\xb1\x18\x71\x06\xb8\x72\xe5\x0a\xd5\x5c\x5f\ +\xd7\x75\xf4\xf7\xf7\x13\xf9\x9b\xa6\x89\x44\x22\x41\xec\x5d\x28\ +\x66\x00\x34\x19\x60\x79\x79\x99\xaa\x1b\x4c\x4c\x4c\xe0\xc3\x87\ +\x0f\x7b\xd2\x96\x42\x31\x01\x50\x55\x95\x7a\x19\xec\xee\xdd\xbb\ +\x44\xbf\xd4\xfa\xfa\x3a\x46\x47\x47\xa9\xbc\x43\xa1\x10\x73\x26\ +\x60\x02\xa0\xeb\x3a\xf5\x14\x78\x6b\x6b\x0b\x83\x83\x83\x25\xe3\ +\x06\x06\x06\xf0\xe3\xc7\x0f\x2a\x6f\x9e\x4c\xc0\x04\x80\x34\x03\ +\x14\xea\xd9\xb3\x67\x98\x9d\x9d\x2d\x7a\xfc\xd5\xab\x57\x78\xfe\ +\xfc\x39\xb5\xaf\x24\x49\x54\x53\xe8\x7c\x31\x01\x30\x4d\x13\xeb\ +\xeb\xeb\x4c\x15\xfa\x7c\xbe\x1d\x4f\x57\x5d\xd7\x71\xed\xda\x35\ +\x26\xcf\x64\x32\x49\x35\x25\xcf\x17\x13\x80\x78\x3c\xce\x5c\xe1\ +\xca\xca\x0a\xee\xdf\xbf\xbf\x6d\xff\xf8\xf8\x38\x3e\x7d\xfa\xc4\ +\xe4\xc9\x93\x09\x98\x00\xf0\xce\xbf\xc7\xc6\xc6\x10\x8f\xc7\x73\ +\xdb\xc9\x64\x12\xe3\xe3\xe3\x5c\x9e\xac\x99\x80\x1a\x80\xa6\x69\ +\xdc\x00\x14\x45\xc1\xc0\xc0\x40\x6e\xfb\xea\xd5\xab\xf8\xf9\xf3\ +\x27\x97\x27\x6b\x26\xa0\x5e\x14\xd5\x34\x4d\xc8\x9d\xe0\xe9\xe9\ +\x69\xcc\xcc\xcc\xc0\x66\xb3\x21\x18\x0c\x72\xfb\x49\x92\x04\x5d\ +\xd7\xa9\x07\x43\x6a\x00\x0e\x87\x43\xd8\x7d\x00\x9f\xcf\x27\xc4\ +\x07\xf8\x95\x0a\x59\x32\x01\x35\x00\x8b\xc5\x82\x64\x32\x49\x5d\ +\xd1\x4e\xe2\x5d\xcc\xc8\xd7\xda\xda\x1a\x53\x39\xea\x31\x20\x91\ +\x48\xc0\x30\x0c\xa6\xca\xf6\x52\x86\x61\x30\x41\xa0\x06\xc0\x33\ +\xef\xde\x6b\xb1\xb4\x8d\x0a\x80\xa6\x69\xbf\xe5\x56\x38\xa9\x42\ +\xa1\x10\xf5\x1d\x26\x6a\x00\xfb\xf9\x2c\x10\xad\x24\x49\xda\x5b\ +\x00\x22\x33\xc0\x5e\x48\x96\x65\xa2\x55\xa4\x7c\x51\x01\xb0\x58\ +\x2c\x5c\x8b\x0f\xf9\xaa\xaf\xaf\xc7\xcc\xcc\x0c\x5e\xbf\x7e\x8d\ +\xa6\xa6\x26\x21\x9e\xf1\x78\x9c\xfa\xd9\x41\x2a\x00\x6b\x6b\x6b\ +\xdc\x19\xc0\x6e\xb7\xe3\xe6\xcd\x9b\x90\x24\x09\x3d\x3d\x3d\xe8\ +\xe8\xe8\x40\x34\x1a\xc5\xbd\x7b\xf7\x98\xaf\xe8\xb2\x32\x0c\x83\ +\x3a\x45\x53\x01\xe0\x7d\x18\xb2\xd8\x97\x2d\x84\xc2\xa3\xc5\xc5\ +\x45\xaa\x78\x62\x00\xba\xae\x33\x3f\x98\x74\xe4\xc8\x11\x04\x02\ +\x81\x92\xa7\x7b\xb6\x5b\x04\x83\x41\x1c\x3d\x7a\x94\xa9\xae\xf7\ +\xef\xdf\x53\x0d\x84\xc4\x00\x54\x55\xa5\x1e\x00\x2b\x2a\x2a\xe0\ +\xf3\xf9\xf0\xf1\xe3\x47\x5c\xbc\x78\x91\xb8\x9c\xd7\xeb\x85\x24\ +\x49\x18\x19\x19\xa1\xee\x16\xb2\x2c\xef\x0d\x00\xbb\xdd\x4e\x05\ +\xa0\xbd\xbd\x1d\x91\x48\x04\x7e\xbf\x1f\x95\x95\x95\xc4\xe5\xb2\ +\x72\xb9\x5c\xb8\x73\xe7\x0e\x96\x96\x96\xd0\xdd\xdd\x4d\x5c\x8e\ +\x36\x13\x10\x03\xb0\xd9\x6c\xff\xb9\x86\x2f\xa6\x9a\x9a\x1a\x04\ +\x02\x01\xbc\x7d\xfb\x16\x27\x4e\x9c\x20\x6e\x48\x31\x1d\x3f\x7e\ +\x1c\xb3\xb3\xb3\x08\x06\x83\xf0\x78\x3c\x25\xe3\x63\xb1\x18\x0e\ +\x1c\x20\x1f\xda\x88\x23\x13\x89\xc4\xae\x0f\x28\xb3\x9e\xee\xa4\ +\xf2\x7a\xbd\x90\x65\x19\x23\x23\x23\xbb\xfe\xc2\x99\x4c\x86\x2a\ +\x13\x10\x03\x58\x5a\x5a\x2a\x7a\xec\xd4\xa9\x53\x08\x87\xc3\xf0\ +\xfb\xfd\xa8\xaa\xaa\x22\xae\x9c\x56\x6e\xb7\x3b\xd7\x2d\xba\xba\ +\xba\x8a\xc6\xed\xd6\xd6\x42\x11\x01\x28\x96\x01\xaa\xab\xab\x11\ +\x08\x04\xf0\xee\xdd\x3b\x34\x37\x37\x13\x57\xca\xab\x86\x86\x06\ +\xbc\x7c\xf9\x12\xc1\x60\x10\xb5\xb5\xb5\xdb\x8e\x2f\x2c\x2c\x10\ +\x2f\x93\x13\xad\x07\xa8\xaa\x8a\xba\xba\x3a\x5c\xbe\x7c\x39\xb7\ +\xaf\xb1\xb1\x11\x17\x2e\x5c\x40\x55\x55\x15\x14\x45\x81\xd3\xe9\ +\xa4\xea\x7b\xbc\x52\x55\x15\x6d\x6d\x6d\x98\x9f\x9f\xc7\xd3\xa7\ +\x4f\xb1\xbc\xbc\x9c\x3b\xe6\xf1\x78\xa0\xaa\x2a\xec\x76\x7b\x49\ +\x1f\x22\x00\x6e\xb7\x1b\xbd\xbd\xbd\xe8\xed\xed\xdd\xf1\xb8\x69\ +\x9a\xb9\xa7\xb5\xb2\x53\xd1\x62\xff\x8b\xed\xcb\xfa\xe4\xaf\x36\ +\xe7\x6f\x17\xee\x07\x00\xab\xd5\x8a\x43\x87\x0e\xa1\xbf\xbf\x7f\ +\x5b\x9b\x48\x33\x01\x11\x00\x9b\xcd\x06\x9b\x4d\xd8\xfb\x55\x7f\ +\x94\xfe\x7f\x6d\x2e\xfb\xe1\xcd\x9b\x37\xc2\xde\xc2\xf8\xd3\x35\ +\x37\x37\x97\xfb\x5c\xf6\x2f\x4f\x5b\x01\xfc\x05\xe0\x6f\xfc\x82\ +\x51\x4e\x32\x01\xfc\xf3\x2f\xe8\x31\x0e\x04\xd7\xcb\x8f\x12\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\x4f\ +\x3c\ +\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ +\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ +\x30\x20\x30\x20\x31\x32\x30\x20\x31\x32\x30\x22\x3e\x3c\x70\x61\ +\x74\x68\x20\x64\x3d\x22\x4d\x36\x30\x20\x31\x39\x2e\x30\x39\x43\ +\x32\x32\x2e\x33\x38\x32\x20\x31\x39\x2e\x30\x39\x2e\x30\x35\x33\ +\x20\x36\x30\x20\x2e\x30\x35\x33\x20\x36\x30\x53\x32\x32\x2e\x33\ +\x38\x33\x20\x31\x30\x30\x2e\x39\x31\x20\x36\x30\x20\x31\x30\x30\ +\x2e\x39\x31\x20\x31\x31\x39\x2e\x39\x35\x20\x36\x30\x20\x31\x31\ +\x39\x2e\x39\x35\x20\x36\x30\x20\x39\x37\x2e\x36\x31\x38\x20\x31\ +\x39\x2e\x30\x39\x20\x36\x30\x20\x31\x39\x2e\x30\x39\x7a\x6d\x30\ +\x20\x36\x35\x2e\x33\x32\x63\x2d\x31\x33\x2e\x34\x36\x20\x30\x2d\ +\x32\x34\x2e\x34\x31\x2d\x31\x30\x2e\x39\x35\x2d\x32\x34\x2e\x34\ +\x31\x2d\x32\x34\x2e\x34\x31\x53\x34\x36\x2e\x35\x34\x20\x33\x35\ +\x2e\x35\x39\x20\x36\x30\x20\x33\x35\x2e\x35\x39\x20\x38\x34\x2e\ +\x34\x30\x37\x20\x34\x36\x2e\x35\x34\x20\x38\x34\x2e\x34\x30\x37\ +\x20\x36\x30\x73\x2d\x31\x30\x2e\x39\x35\x20\x32\x34\x2e\x34\x31\ +\x2d\x32\x34\x2e\x34\x31\x20\x32\x34\x2e\x34\x31\x7a\x22\x2f\x3e\ +\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x79\x3d\x22\x36\x30\x2e\x35\ +\x38\x33\x22\x20\x63\x78\x3d\x22\x36\x30\x22\x20\x72\x3d\x22\x31\ +\x34\x2e\x34\x30\x39\x22\x2f\x3e\x3c\x2f\x73\x76\x67\x3e\ +\x00\x00\x00\xb4\ +\x3c\ +\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ +\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ +\x30\x20\x30\x20\x38\x20\x38\x22\x3e\x3c\x70\x61\x74\x68\x20\x64\ +\x3d\x22\x4d\x33\x2e\x31\x31\x20\x37\x2e\x31\x37\x4c\x2e\x30\x34\ +\x38\x20\x34\x2e\x31\x30\x36\x6c\x31\x2e\x31\x34\x34\x2d\x31\x2e\ +\x31\x34\x34\x20\x33\x2e\x30\x36\x32\x20\x33\x2e\x30\x36\x32\x7a\ +\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x38\x2e\x30\ +\x36\x33\x20\x32\x2e\x32\x30\x38\x4c\x33\x2e\x37\x33\x35\x20\x36\ +\x2e\x35\x33\x36\x6c\x2d\x31\x2e\x32\x32\x2d\x31\x2e\x32\x32\x4c\ +\x36\x2e\x38\x34\x33\x2e\x39\x38\x38\x7a\x22\x2f\x3e\x3c\x2f\x73\ +\x76\x67\x3e\ +\x00\x00\x01\x25\ +\x3c\ +\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ +\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ +\x30\x20\x30\x20\x34\x34\x32\x20\x33\x38\x33\x22\x3e\x3c\x74\x69\ +\x74\x6c\x65\x3e\x53\x68\x61\x70\x65\x20\x2b\x20\x53\x68\x61\x70\ +\x65\x3c\x2f\x74\x69\x74\x6c\x65\x3e\x3c\x67\x20\x66\x69\x6c\x6c\ +\x2d\x72\x75\x6c\x65\x3d\x22\x65\x76\x65\x6e\x6f\x64\x64\x22\x3e\ +\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x34\x31\x2e\x34\x33\ +\x20\x33\x38\x32\x2e\x33\x38\x48\x30\x4c\x32\x32\x30\x2e\x37\x33\ +\x20\x30\x6c\x32\x32\x30\x2e\x37\x20\x33\x38\x32\x2e\x33\x38\x7a\ +\x4d\x38\x37\x2e\x37\x20\x33\x33\x31\x2e\x37\x33\x68\x32\x36\x36\ +\x2e\x30\x31\x4c\x32\x32\x30\x2e\x37\x33\x20\x31\x30\x31\x2e\x33\ +\x31\x20\x38\x37\x2e\x37\x20\x33\x33\x31\x2e\x37\x33\x68\x2e\x30\ +\x30\x33\x7a\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\ +\x32\x30\x33\x20\x31\x37\x37\x68\x33\x35\x76\x39\x34\x2e\x37\x38\ +\x68\x2d\x33\x35\x56\x31\x37\x37\x7a\x6d\x30\x20\x31\x31\x30\x2e\ +\x37\x32\x68\x33\x35\x76\x32\x37\x2e\x38\x39\x68\x2d\x33\x35\x76\ +\x2d\x32\x37\x2e\x38\x39\x7a\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\ +\x73\x76\x67\x3e\ +\x00\x00\x00\x60\ +\x3c\ +\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ +\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ +\x30\x20\x30\x20\x31\x32\x30\x20\x31\x32\x30\x22\x3e\x3c\x70\x61\ +\x74\x68\x20\x64\x3d\x22\x4d\x31\x36\x20\x31\x36\x68\x38\x38\x76\ +\x38\x38\x48\x31\x36\x7a\x22\x2f\x3e\x3c\x2f\x73\x76\x67\x3e\ +\x00\x00\x02\x70\ +\x3c\ +\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ +\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ +\x30\x20\x30\x20\x31\x32\x30\x20\x31\x32\x30\x22\x3e\x3c\x70\x61\ +\x74\x68\x20\x64\x3d\x22\x4d\x33\x2e\x32\x37\x32\x20\x35\x38\x2e\ +\x37\x37\x32\x63\x30\x20\x33\x31\x2e\x32\x30\x34\x20\x32\x35\x2e\ +\x32\x39\x36\x20\x35\x36\x2e\x35\x20\x35\x36\x2e\x35\x20\x35\x36\ +\x2e\x35\x20\x33\x31\x2e\x32\x30\x33\x20\x30\x20\x35\x36\x2e\x35\ +\x2d\x32\x35\x2e\x32\x39\x36\x20\x35\x36\x2e\x35\x2d\x35\x36\x2e\ +\x35\x20\x30\x2d\x31\x36\x2e\x32\x36\x34\x2d\x36\x2e\x38\x38\x32\ +\x2d\x33\x30\x2e\x39\x31\x2d\x31\x37\x2e\x38\x38\x2d\x34\x31\x2e\ +\x32\x32\x4c\x38\x34\x2e\x30\x33\x20\x33\x32\x2e\x38\x38\x35\x63\ +\x36\x2e\x39\x31\x32\x20\x36\x2e\x34\x38\x32\x20\x31\x31\x2e\x32\ +\x34\x34\x20\x31\x35\x2e\x36\x38\x38\x20\x31\x31\x2e\x32\x34\x34\ +\x20\x32\x35\x2e\x38\x39\x20\x30\x20\x31\x39\x2e\x35\x37\x34\x2d\ +\x31\x35\x2e\x39\x32\x36\x20\x33\x35\x2e\x35\x2d\x33\x35\x2e\x35\ +\x20\x33\x35\x2e\x35\x2d\x31\x39\x2e\x35\x37\x35\x20\x30\x2d\x33\ +\x35\x2e\x35\x2d\x31\x35\x2e\x39\x32\x36\x2d\x33\x35\x2e\x35\x2d\ +\x33\x35\x2e\x35\x22\x20\x66\x69\x6c\x6c\x3d\x22\x23\x30\x31\x30\ +\x31\x30\x31\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\ +\x39\x35\x2e\x32\x37\x32\x20\x35\x38\x2e\x37\x37\x32\x63\x30\x20\ +\x31\x39\x2e\x35\x37\x35\x2d\x31\x35\x2e\x39\x32\x35\x20\x33\x35\ +\x2e\x35\x2d\x33\x35\x2e\x35\x20\x33\x35\x2e\x35\x2d\x31\x39\x2e\ +\x35\x37\x34\x20\x30\x2d\x33\x35\x2e\x35\x2d\x31\x35\x2e\x39\x32\ +\x36\x2d\x33\x35\x2e\x35\x2d\x33\x35\x2e\x35\x20\x30\x2d\x31\x30\ +\x2e\x32\x20\x34\x2e\x33\x33\x32\x2d\x31\x39\x2e\x34\x30\x36\x20\ +\x31\x31\x2e\x32\x34\x35\x2d\x32\x35\x2e\x38\x39\x6c\x2d\x31\x34\ +\x2e\x33\x36\x35\x2d\x31\x35\x2e\x33\x33\x43\x31\x30\x2e\x31\x35\ +\x34\x20\x32\x37\x2e\x38\x36\x20\x33\x2e\x32\x37\x32\x20\x34\x32\ +\x2e\x35\x30\x37\x20\x33\x2e\x32\x37\x32\x20\x35\x38\x2e\x37\x37\ +\x63\x30\x20\x33\x31\x2e\x32\x30\x34\x20\x32\x35\x2e\x32\x39\x37\ +\x20\x35\x36\x2e\x35\x20\x35\x36\x2e\x35\x20\x35\x36\x2e\x35\x20\ +\x33\x31\x2e\x32\x30\x34\x20\x30\x20\x35\x36\x2e\x35\x2d\x32\x35\ +\x2e\x32\x39\x37\x20\x35\x36\x2e\x35\x2d\x35\x36\x2e\x35\x22\x20\ +\x66\x69\x6c\x6c\x3d\x22\x23\x30\x31\x30\x31\x30\x31\x22\x2f\x3e\ +\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x39\x2e\x37\x38\x35\ +\x20\x30\x48\x36\x39\x2e\x37\x36\x76\x36\x31\x2e\x35\x37\x36\x48\ +\x34\x39\x2e\x37\x38\x35\x7a\x22\x20\x66\x69\x6c\x6c\x3d\x22\x23\ +\x30\x31\x30\x31\x30\x31\x22\x2f\x3e\x3c\x2f\x73\x76\x67\x3e\ +\x00\x00\x03\x7f\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\x42\ +\x00\x00\x00\x38\x00\x58\xc0\x60\x00\x00\x00\xce\x05\xdc\x98\xcf\ +\x00\x00\x00\x6f\x07\x0f\x9f\xbe\x00\x00\x02\x4e\x09\x43\x3f\xbf\ +\x00\x00\x00\x00\x09\x9d\x07\x29\x00\x00\x02\x03\x0a\xb4\xa1\xee\ +\x00\x00\x01\x6c\x0c\x17\x1f\x5f\x00\x00\x00\xfe\x69\x00\x00\x03\ +\x26\x03\x00\x00\x00\x3c\x00\x41\x00\x62\x00\x62\x00\x72\x00\x65\ +\x00\x63\x00\x68\x00\x65\x00\x6e\x00\x20\x00\x75\x00\x6e\x00\x64\ +\x00\x20\x00\x41\x00\x72\x00\x67\x00\x6f\x00\x64\x00\x65\x00\x6a\ +\x00\x6f\x00\x20\x00\x42\x00\x65\x00\x65\x00\x6e\x00\x64\x00\x65\ +\x00\x6e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x16\x41\x62\x6f\x72\ +\x74\x20\x26\x26\x20\x51\x75\x69\x74\x20\x41\x72\x67\x6f\x64\x65\ +\x6a\x6f\x07\x00\x00\x00\x08\x54\x72\x61\x79\x49\x63\x6f\x6e\x01\ +\x03\x00\x00\x00\x30\x00\x56\x00\x65\x00\x72\x00\x73\x00\x74\x00\ +\x65\x00\x63\x00\x6b\x00\x65\x00\x2f\x00\x5a\x00\x65\x00\x69\x00\ +\x67\x00\x65\x00\x20\x00\x41\x00\x72\x00\x67\x00\x6f\x00\x64\x00\ +\x65\x00\x6a\x00\x6f\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\x48\ +\x69\x64\x65\x2f\x53\x68\x6f\x77\x20\x41\x72\x67\x6f\x64\x65\x6a\ +\x6f\x07\x00\x00\x00\x08\x54\x72\x61\x79\x49\x63\x6f\x6e\x01\x03\ +\x00\x00\x00\x0e\x00\x42\x00\x65\x00\x65\x00\x6e\x00\x64\x00\x65\ +\x00\x6e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x05\x51\x75\x69\x74\ +\x20\x07\x00\x00\x00\x08\x54\x72\x61\x79\x49\x63\x6f\x6e\x01\x03\ +\x00\x00\x00\x3c\x00\x53\x00\x70\x00\x65\x00\x69\x00\x63\x00\x68\ +\x00\x65\x00\x72\x00\x6e\x00\x20\x00\x75\x00\x6e\x00\x64\x00\x20\ +\x00\x41\x00\x72\x00\x67\x00\x6f\x00\x64\x00\x65\x00\x6a\x00\x6f\ +\x00\x20\x00\x42\x00\x65\x00\x65\x00\x6e\x00\x64\x00\x65\x00\x6e\ +\x08\x00\x00\x00\x00\x06\x00\x00\x00\x15\x53\x61\x76\x65\x20\x26\ +\x26\x20\x51\x75\x69\x74\x20\x41\x72\x67\x6f\x64\x65\x6a\x6f\x07\ +\x00\x00\x00\x08\x54\x72\x61\x79\x49\x63\x6f\x6e\x01\x03\x00\x00\ +\x00\x5c\x00\x45\x00\x73\x00\x20\x00\x77\x00\x75\x00\x72\x00\x64\ +\x00\x65\x00\x20\x00\x76\x00\x65\x00\x72\x00\x73\x00\x75\x00\x63\ +\x00\x68\x00\x74\x00\x20\x00\x65\x00\x69\x00\x6e\x00\x65\x00\x20\ +\x00\x77\x00\x65\x00\x69\x00\x74\x00\x65\x00\x72\x00\x65\x00\x20\ +\x00\x47\x00\x55\x00\x49\x00\x20\x00\x7a\x00\x75\x00\x20\x00\x73\ +\x00\x74\x00\x61\x00\x72\x00\x74\x00\x65\x00\x6e\x00\x2e\x08\x00\ +\x00\x00\x00\x06\x00\x00\x00\x1c\x41\x6e\x6f\x74\x68\x65\x72\x20\ +\x47\x55\x49\x20\x74\x72\x69\x65\x64\x20\x74\x6f\x20\x6c\x61\x75\ +\x6e\x63\x68\x2e\x07\x00\x00\x00\x0a\x6d\x61\x69\x6e\x57\x69\x6e\ +\x64\x6f\x77\x01\x03\x00\x00\x00\x1e\x00\x41\x00\x72\x00\x67\x00\ +\x6f\x00\x64\x00\x65\x00\x6a\x00\x6f\x00\x20\x00\x62\x00\x65\x00\ +\x72\x00\x65\x00\x69\x00\x74\x08\x00\x00\x00\x00\x06\x00\x00\x00\ +\x0e\x41\x72\x67\x6f\x64\x65\x6a\x6f\x20\x72\x65\x61\x64\x79\x07\ +\x00\x00\x00\x0a\x6d\x61\x69\x6e\x57\x69\x6e\x64\x6f\x77\x01\x03\ +\x00\x00\x00\x82\x00\x50\x00\x72\x00\x6f\x00\x67\x00\x72\x00\x61\ +\x00\x6d\x00\x6d\x00\x64\x00\x61\x00\x74\x00\x65\x00\x6e\x00\x62\ +\x00\x61\x00\x6e\x00\x6b\x00\x20\x00\x77\x00\x69\x00\x72\x00\x64\ +\x00\x20\x00\x61\x00\x6b\x00\x74\x00\x75\x00\x61\x00\x6c\x00\x69\ +\x00\x73\x00\x69\x00\x65\x00\x72\x00\x74\x00\x2e\x00\x0a\x00\x56\ +\x00\x69\x00\x65\x00\x6c\x00\x65\x00\x6e\x00\x20\x00\x44\x00\x61\ +\x00\x6e\x00\x6b\x00\x20\x00\x66\x00\xfc\x00\x72\x00\x20\x00\x69\ +\x00\x68\x00\x72\x00\x65\x00\x20\x00\x47\x00\x65\x00\x64\x00\x75\ +\x00\x6c\x00\x64\x00\x2e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x37\ +\x55\x70\x64\x61\x74\x69\x6e\x67\x20\x50\x72\x6f\x67\x72\x61\x6d\ +\x20\x44\x61\x74\x61\x62\x61\x73\x65\x2e\x0a\x54\x68\x61\x6e\x6b\ +\x20\x79\x6f\x75\x20\x66\x6f\x72\x20\x79\x6f\x75\x72\x20\x70\x61\ +\x74\x69\x65\x6e\x63\x65\x2e\x07\x00\x00\x00\x0a\x6d\x61\x69\x6e\ +\x57\x69\x6e\x64\x6f\x77\x01\x88\x00\x00\x00\x02\x01\x01\ +" + +qt_resource_name = b"\ +\x00\x08\ +\x0a\x61\x5a\xa7\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x0a\xcc\x85\x87\ +\x00\x68\ +\x00\x69\x00\x64\x00\x64\x00\x65\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x0b\ +\x00\xbd\xd0\x67\ +\x00\x72\ +\x00\x75\x00\x6e\x00\x6e\x00\x69\x00\x6e\x00\x67\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x0b\ +\x0c\x46\xd2\x07\ +\x00\x72\ +\x00\x65\x00\x6d\x00\x6f\x00\x76\x00\x65\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x0b\ +\x06\x42\x36\x27\ +\x00\x73\ +\x00\x74\x00\x6f\x00\x70\x00\x70\x00\x65\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\ +\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\x09\ +\x0d\xc5\xb4\x07\ +\x00\x70\ +\x00\x6f\x00\x77\x00\x65\x00\x72\x00\x2e\x00\x73\x00\x76\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\x07\x00\x00\x00\x01\ +\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\x00\x08\x43\ +\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x24\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x06\xf0\ +\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x08\xfb\ +\x00\x00\x00\xa2\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x88\ +\x00\x00\x00\x84\x00\x02\x00\x00\x00\x01\x00\x00\x00\x08\ +\x00\x00\x00\xba\x00\x00\x00\x00\x00\x01\x00\x00\x0c\xfc\ +" + +qt_resource_struct_v2 = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\x00\x08\x43\ +\x00\x00\x01\x71\xa5\xd3\xf0\x16\ +\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x24\ +\x00\x00\x01\x71\xa5\xd3\xf0\x19\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x71\x87\x2b\x78\xc5\ +\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x06\xf0\ +\x00\x00\x01\x71\xa5\xd3\xf0\x19\ +\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x08\xfb\ +\x00\x00\x01\x71\xa5\xd3\xf0\x16\ +\x00\x00\x00\xa2\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x88\ +\x00\x00\x01\x71\xa5\xd3\xf0\x19\ +\x00\x00\x00\x84\x00\x02\x00\x00\x00\x01\x00\x00\x00\x08\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\xba\x00\x00\x00\x00\x00\x01\x00\x00\x0c\xfc\ +\x00\x00\x01\x71\xa8\x6a\x85\xde\ +" + +qt_version = [int(v) for v in QtCore.qVersion().split('.')] +if qt_version < [5, 8, 0]: + rcc_version = 1 + qt_resource_struct = qt_resource_struct_v1 +else: + rcc_version = 2 + qt_resource_struct = qt_resource_struct_v2 + +def qInitResources(): + QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/qtgui/resources/buildresources.sh b/qtgui/resources/buildresources.sh new file mode 100644 index 0000000..57cfa52 --- /dev/null +++ b/qtgui/resources/buildresources.sh @@ -0,0 +1,4 @@ +#!/bin/bash +#https://doc.qt.io/qt-5/resources.html +#Resources are kept up-to-date upstream. They are not part of the make and build process. +pyrcc5 -no-compress resources.qrc -o ../resources.py #put them into the gui directly. Engine does not need any translation or images. diff --git a/qtgui/resources/hidden.svg b/qtgui/resources/hidden.svg new file mode 100644 index 0000000..9f36bc4 --- /dev/null +++ b/qtgui/resources/hidden.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/qtgui/resources/icon.png b/qtgui/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..01d2cd485d49c0c8117c1c2580fa29f931cb9e84 GIT binary patch literal 1772 zcmVWNu;3RBoIH6Ft*x!U zxjp-%xw$#a&(G(!O#tTb@UU4f8Xg|bb%k<0^>ZqF05(xZ-@kvyix)3M+3l+C?rt1D zd{~H=5CEoWVtRTSeSLi*>`LnKd%V%3}77q2L}hy)YOEAh6Y@}etlo-&KDN| zMNyaxzYM*d8%$*6i0HjhWrUCH5g9kWx@L+D+?RH~gVuIR7 zL?++@z>)#Fy1H=g+_`Q0&!0b!o}L~mFA>)STmaJPG&VLih~pg&2d1W`iXNYwoP^Wq zB=-CK`7_e#G;#b+;sUU`x(d@YiQ|WchS1p9SoHX@W5;mg#to`A#9}e3_(E|3h(sd9 zu^x|y=*tZa4WYiip4gW+6EFi%6ou*{=;6bML^C&+%Y{de9ufP7!(phZN*rG(W&ku9 z;OyD6@Or((-ltEW#+fr`h+<_~hOX>Krinx% zLF`>9W&ku9V0n3&svAs9OyI+Z4|~# zU;?1)I`tHIYikRGgM%gG1_lQ3+4Jv`h30}Pgh;naqZeQCeLItNi`+U7ZZSZJkDI<%E}7v-@m_Y z|M>VgK7IPcm;mt3zsJVL5Rb=m+sR}SMQCTalt`798vBuUy^03tKMUPzW@qE)1PQ30@6EL@8Z`Kqt4 z$IQ$OUcY{grluw#p7D5``q@D$0BdV&+!?@bx8vr`n~)?4Jv}|>=;%N+8pXYP_n5Ef zvN8;VIz>|f;C&df*q1GY!lT8-MXGpW0J^R-KbUmn$Pokrfs&_twp#>)K^#4Ll&P-w z@844mgv0<;Riz#PD=I4B^ZD@c<40V)c#*iA*XxBONf;R!q3#y4Ebk2fyWLI&puN2v zkw^r7zaN#AmBi(;a=Bc%bLS40mX^@n-A!DMHWLs7u-RzQBfI{> znM{T%6A%MfT3RZ4?9{1K2#3S)`~9e@sv@qOR&KXD*Dbobx{Ai_*49E10VtLMs;jFJ z2n6u%-8(clHxpONtA>UKynOi*!C(-zwYA%hFDxt&FOw6k2dJuwy1F`CzI-{iud%Ta z7cN{tRaF%fMS;`lr0RRTQdJdgZEcvJpU2auPqDnboIB?6c%Z5(>~?!eA0hy5w;R2^ zz3A=j-SN0-nz^U7vQyDw|BLO*`sA-R=WiG82LP+pibIDEp})U>TboET0TBS3%?6uI z*!xv~l>UEhF8krln>WJV!uZoQH#e92T=p+dTLJt9;BWkbQBE=e{PQp9F%AUR%a0NO O0000 \ No newline at end of file diff --git a/qtgui/resources/removed.svg b/qtgui/resources/removed.svg new file mode 100644 index 0000000..de1d58b --- /dev/null +++ b/qtgui/resources/removed.svg @@ -0,0 +1 @@ +Shape + Shape \ No newline at end of file diff --git a/qtgui/resources/resources.qrc b/qtgui/resources/resources.qrc new file mode 100644 index 0000000..21192b9 --- /dev/null +++ b/qtgui/resources/resources.qrc @@ -0,0 +1,11 @@ + + + icon.png + hidden.svg + power.svg + running.svg + stopped.svg + removed.svg + translations/de.qm + + diff --git a/qtgui/resources/running.svg b/qtgui/resources/running.svg new file mode 100644 index 0000000..7f0a083 --- /dev/null +++ b/qtgui/resources/running.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/qtgui/resources/stopped.svg b/qtgui/resources/stopped.svg new file mode 100644 index 0000000..e56e115 --- /dev/null +++ b/qtgui/resources/stopped.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/qtgui/resources/translations/config.pro b/qtgui/resources/translations/config.pro new file mode 100644 index 0000000..3ce5c4d --- /dev/null +++ b/qtgui/resources/translations/config.pro @@ -0,0 +1,2 @@ +SOURCES = ../../addclientprompt.py ../../descriptiontextwidget.py ../../mainwindow.py ../../projectname.py ../../quickopensessioncontroller.py ../../quicksessioncontroller.py ../../sessiontreecontroller.py ../../opensessioncontroller.py ../../systemtray.py ../../waitdialog.py +TRANSLATIONS = de.ts diff --git a/qtgui/resources/translations/de.qm b/qtgui/resources/translations/de.qm new file mode 100644 index 0000000000000000000000000000000000000000..f75ef7a01087f22075f355c1265fe986803963ba GIT binary patch literal 895 zcmbVK&1zFY6#mjs(*~&^s9h92ZUSynce)73tt~YhsiaX6!OqQ{=H51$36r@Eap}qz z5L_tIcW~iG>snA>Kwm*$K*VouGzh68GR%DE%sF#@zB7$i$@06e&z`)$xN@{}`1<7UU2Qb>0hxB1Xv2v6)_pXVy>@ywV=&!(KFIDI2a^lB@$qrZe-`a^y5MOm}u zG|H%CEd_;&mS8uiPl;NIjPZtOg1g%$eCs?1p-o-ci2(2k`!i#3KoW99#JX~oH66G_~l`UtxPW5G7c@?Xnu2;8H bW%gxkbJ?{nppyZ8wdv>?iXM})xl-u|s4Kqf literal 0 HcmV?d00001 diff --git a/qtgui/resources/translations/de.ts b/qtgui/resources/translations/de.ts new file mode 100644 index 0000000..6c06855 --- /dev/null +++ b/qtgui/resources/translations/de.ts @@ -0,0 +1,799 @@ + + + + + About + + + Prefer clone track over adding a new empty track when creating a new pattern for an existing 'real world' instrument. + Spuren zu klonen ist meist besser als eine neue, leere Spur zu erstellen. Benutze Klonen immer wenn du ein neues Pattern für ein existierendes Instrument komponieren möchtest. + + + + You can run multiple Patroneo instances in parallel to create complex polyrhythms. + Um komplexe Rhythmen zu erstellen versuche Patroneo mehrmals zu starten und verschiedene Taktarten einzustellen. + + + + To revert all steps that are longer or shorter than default invert the pattern twice in a row. + Alle gedehnten oder verkürzte Noten im Takt bekommst du am einfachsten zurück auf die normale Länge wenn du zweimal hintereinander die &quot;Umkehren&quot; Funktion benutzt. + + + + Control a synth with MIDI Control Changes (CC) by routing a Patroneo track into a midi plugin that converts notes to CC. + MIDI Control Changes (CC) werden nicht direkt von Patroneo erzeugt. Route eine Extraspur in ein Konverterplugin, dass aus Pitch und Velocity CC und Value macht. + + + + The mouse wheel is very powerful: Use it to transpose measures (with or without Shift pressed), it resizes the measure number line, zooms when Ctrl is held down, changes row volumes in the pattern with the Alt key or sounds a preview if pressed on a step. + Das Mausrad ist sehr wichtig: Es transponiert Takte (mit oder ohne Umschalttaste), verändert die Größe der Taktgruppen, zoomed wenn Strg gedrückt ist, ändert die Lautstärke einer ganzen Reihe zusammen mit der Alt-Taste oder lässt eine Note erklingen wenn man es auf einem Schritt drückt. + + + + Many elements have context menus with unique functions: Try right clicking on a Step, the Track name or a measure in the song editor. + Die meisten Bedienelemente haben ein Kontextmenü. Versuche auf alles mit der rechten Maustaste zu klicken: Schritte, Takte, der Spurname etc. + + + + AskBeforeQuit + + + About to quit but session {} still open + + + + + Do you want to save? + + + + + About to quit + + + + + Don't Quit + + + + + Save + + + + + Discard Changes + + + + + EventContextMenu + + + Invert Steps + Schritte invertieren + + + + All Steps On + Alle Schritte an + + + + All Steps Off + Alles Schritte aus + + + + Repeat to here to fill Row + Reihe mit Wiederholung bis hier befüllen + + + + Clear Row + Reihe löschen + + + + Invert Row + Reihe umkehren + + + + Repeat to step {} incl. to fill Row + Reihe mit Wiederholung bis Schritt {} befüllen + + + + Launcher + + + Name + + + + + Description + + + + + Path + + + + + LoadedSessionDescription + + + Double click to add the client nsm-data to write here. +Use it for notes, TODO, references etc… + + + + + MainWindow + + + Add Track + Neue Spur + + + + Clone selected Track + Klone aktuelle Spur + + + + Home + Zum Anfang + + + + Menu + + + Convert Grouping + Gruppierung umwandeln + + + + Change step-grouping but keep your music the same + Taktartaufspaltung durch Gruppierung umwandeln, versucht die Musik gleich klingen zu lassen + + + + OpenSession + + + ✔ + + + + + ✖ + + + + + not saved + + + + + clean + + + + + (command not found) + + + + + Name + + + + + Label + + + + + Status + + + + + Visible + + + + + Changes + + + + + ID + + + + + PlaybackControls + + + [Space] Play / Pause + [Leertaste] Play / Pause + + + + [L] Loop current Measure + [L] Aktueller Takt in Schleife spielen + + + + [Home] Jump to Start + [Pos1] Springe zum Anfang + + + + ProjectNameWidget + + + Name must not be empty. + + + + + Name must be a relative path. + + + + + Moving to parent directory not allowed. + + + + + Writing in this directory is not permitted. + + + + + Name is already in use. + + + + + PromptWidget + + + Type in the name of an executable file on your system. + + + + + No program database found. Please update through Control menu. + + + + + Command not accepted!<br>Parameters, --switches and relative paths are not allowed.<br>Use nsm-proxy or write a starter-script instead. + + + + + Scale + + + Major + Dur + + + + Minor + Moll + + + + Dorian + Dorisch + + + + Phrygian + Phrygisch + + + + Lydian + Lydisch + + + + Mixolydian + Mixolydisch + + + + Locrian + Lokrisch + + + + Blues + Blues + + + + Hollywood + Hollywood + + + + English + Englisch + + + + Lilypond + Lilypond + + + + German + Deutsch + + + + Drums GM + Drums GM + + + + Chromatic + Chromatisch + + + + SessionTree + + + Name + + + + + Last Save + + + + + Clients + + + + + Size + + + + + Symlinks + + + + + Path + + + + + About to delete Session {} + + + + + All files in the project directory will be irreversibly deleted. + + + + + Keep Session + + + + + Delete! + + + + + Copy Session + + + + + Force Lock Removal + + + + + Rename Session + + + + + Delete Session + + + + + SongStructure + + + Insert {} empty measures before no. {} + {} leere Takte vor Takt {} einfügen + + + + Delete {} measures from no. {} on + Lösche {} Takte von Takt {} beginnend + + + + Insert empty group before this one + Leere Taktgruppe vor dieser einfügen + + + + Delete whole group + Lösche diese Taktgruppe + + + + Duplicate whole group including measures + Verdopple diese Taktgruppe inkl. Struktur + + + + Clear all group transpositions + Setze alle Transpositionen dieser Taktgruppe zurück + + + + TimeSignature + + + Whole + Ganze + + + + Half + Halbe + + + + Quarter + Viertel + + + + Eigth + Achtel + + + + Sixteenth + Sechzehntel + + + + Timeline + + + Click to set playback position. Scroll with mousewheel to adjust measure grouping. + Klicken um die Wiedergabeposition zu ändern. Mausrad um die Taktgruppen zu ändern. + + + + Toolbar + + + BPM/Tempo: + BPM/Tempo: + + + + Deactivate to beccome JACK Transport Slave. Activate for Master. + Aus: JACK Transport Slave. An: JACK Master (eigenes Tempo). + + + + Overall length of the song + Länge des Stückes in Takten + + + + Please read the manual! + Bitte im Handbuch nachlesen! + + + + Length of the pattern (bottom part of the program) + Länge des Musters in Schritten (untere Hälfte des Programms) + + + + How long is each main step + Welchen Notenwert repräsentiert ein Schritt + + + + Convert Grouping + Gruppierung umwandeln + + + + Change step grouping but keep your music the same + Taktartaufspaltung durch Gruppierung umwandeln, versucht die Musik gleich klingen zu lassen + + + + Clone Selected Track + Klone ausgewählte Spur + + + + Use this! Create a new track that inherits everything but the content from the original. Already jack connected! + Das hier benutzen! Neue Spur, die alle Eigenschaften außer der Musik selbst vom Original erbt. Ist bereits in JACK verbunden! + + + + Add Track + Neue Spur + + + + Add a complete empty track that needs to be connected to an instrument manually. + Eine neue, leere Spur, bei der man noch per Hand ein Instrument mit JACK verbinden muss. + + + + Measures per Track: + Takte pro Spur: + + + + Steps per Pattern: + Schritte pro Takt: + + + + in groups of: + gruppiert in je: + + + + so that each group produces a: + und jede Gruppe ergibt eine: + + + + TrackLabel + + + grab and move to reorder tracks + mit der maus halten und ziehen um Spuren anzuordnen + + + + change track color + setze Farbe der Spur + + + + TrackLabelContext + + + Invert Measures + Taktauswahl umdrehen + + + + All Measures On + Alle Takte anschalten + + + + All Measures Off + Alle Takte ausschalten + + + + Clone this Track + Spur klonen + + + + Delete Track + Spur löschen + + + + Merge/Copy from + Übernimm Struktur von + + + + Merge/Copy Measure-Structure from + Übernimm und ergänze Struktur von + + + + Replace Pattern with + Ersetze Noten des Taktes durch + + + + TransposeControls + + + +Half Tone + +Halbton + + + + Transpose the whole scale up a half tone (+1 midi note) + Transponiere die Tonleiter einen Halbton aufwärts (+1 MIDI Tonhöhe) + + + + -Half Tone + -Halbton + + + + Transpose the whole scale down a half tone (-1 midi note) + Transponiere die Tonleiter einen Halbton abwärts (-1 MIDI Tonhöhe) + + + + +Octave + +Oktave + + + + Transpose the whole scale up an octave (+12 midi notes) + Transponiere die Tonleiter eine Oktave aufwärts (+12 MIDI Tonhöhe) + + + + -Octave + -Oktave + + + + Transpose the whole scale down an octave (-12 midi notes) + Transponiere die Tonleiter eine Oktave abwärts (-12 MIDI Tonhöhe) + + + + Set Scale to: + Benutze Tonleiter: + + + + Take the bottom note and build a predefined scale from it upwards. + Ändere die Tonleiter des Musters auf die Ausgewählte. Referenzton ist die unterste Reihe des Musters. + + + + Set Notenames to: + Benutze Notennamen: + + + + Use this scheme as note names. + Use this scheme as note names. + + + + TrayIcon + + + Hide/Show Argodejo + Verstecke/Zeige Argodejo + + + + Save && Quit Argodejo + Speichern und Argodejo Beenden + + + + Abort && Quit Argodejo + Abbrechen und Argodejo Beenden + + + + Quit + Beenden + + + + VelocityControls + + + +Velocity + +Velocity + + + + Make everything louder. Hover and mousewheel up/down to go in steps of 10. + Alle Töne lauter machen. Mit dem Mauszeiger über dem Knopf bleiben und das Mausrad auf oder ab bewegen für 10er Schritte. + + + + -Velocity + -Velocity + + + + Make everything softer. Hover and mousewheel up/down to go in steps of 10. + Alle Töne leiser machen. Mit dem Mauszeiger über dem Knopf bleiben und das Mausrad auf oder ab bewegen für 10er Schritte. + + + + convertSubdivisionsSubMenu + + + New Grouping + Neue Gruppierung + + + + Do nothing + Nichts machen + + + + Delete wrong steps + Falsche Schritte löschen + + + + Merge wrong steps + Falsche Schritte mit einbinden + + + + If not possible + Falls unmöglich + + + + mainWindow + + + Argodejo ready + Argodejo bereit + + + + Another GUI tried to launch. + Es wurde versucht eine weitere GUI zu starten. + + + + Updating Program Database. +Thank you for your patience. + Programmdatenbank wird aktualisiert. +Vielen Dank für ihre Geduld. + + + diff --git a/qtgui/resources/translations/update.sh b/qtgui/resources/translations/update.sh new file mode 100644 index 0000000..c166f03 --- /dev/null +++ b/qtgui/resources/translations/update.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e +pylupdate5 config.pro +echo "linguist-qt5 de.ts" diff --git a/qtgui/systemtray.py b/qtgui/systemtray.py index 7be1e99..c5d94d8 100644 --- a/qtgui/systemtray.py +++ b/qtgui/systemtray.py @@ -31,10 +31,13 @@ from PyQt5 import QtCore, QtGui, QtWidgets #Engine import engine.api as api #This loads the engine and starts a session. +#QtGui +from .resources import * + class SystemTray(QtWidgets.QSystemTrayIcon): def __init__(self, mainWindow): - super().__init__(QtGui.QIcon("icon.png")) + super().__init__(QtGui.QIcon(":icon.png")) self.mainWindow = mainWindow self.available = self.isSystemTrayAvailable() self.show()