mirror of
https://github.com/naruxde/revpicommander.git
synced 2026-10-01 00:14:29 +02:00
Switch project so src layout
This will make it possible to build pip packages. Add a make file to compile UI files and build mac and win applications.
This commit is contained in:
1 parent
2400bd6951
commit
3f2f3e0478
73 files changed
+2605
-2583
No files matched your search
Generated
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
<option name="languageLevel" value="ES6" />
|
<option name="languageLevel" value="ES6" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectPlainTextFileTypeManager">
|
<component name="ProjectPlainTextFileTypeManager">
|
||||||
<file url="file://$PROJECT_DIR$/revpicommander/locale/revpicommander_de.ts" />
|
<file url="file://$PROJECT_DIR$/src/revpicommander/locale/revpicommander_de.ts" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (revpicommander)" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (revpicommander)" project-jdk-type="Python SDK" />
|
||||||
<component name="PythonCompatibilityInspectionAdvertiser">
|
<component name="PythonCompatibilityInspectionAdvertiser">
|
||||||
|
|||||||
Generated
+1
-3
@@ -2,9 +2,7 @@
|
|||||||
<module type="PYTHON_MODULE" version="4">
|
<module type="PYTHON_MODULE" version="4">
|
||||||
<component name="NewModuleRootManager">
|
<component name="NewModuleRootManager">
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/include" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/revpicommander" isTestSource="false" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/lib/revpimodio2" isTestSource="false" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="Python 3.9 (revpicommander)" jdkType="Python SDK" />
|
<orderEntry type="jdk" jdkName="Python 3.9 (revpicommander)" jdkType="Python SDK" />
|
||||||
|
|||||||
Generated
+7
@@ -1,5 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
|
<component name="CommitMessageInspectionProfile">
|
||||||
|
<profile version="1.0">
|
||||||
|
<inspection_tool class="BodyLimit" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
<inspection_tool class="SubjectBodySeparation" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
<inspection_tool class="SubjectLimit" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
</profile>
|
||||||
|
</component>
|
||||||
<component name="VcsDirectoryMappings">
|
<component name="VcsDirectoryMappings">
|
||||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
+3
-4
@@ -1,8 +1,7 @@
|
|||||||
include MANIFEST.in
|
|
||||||
include stdeb.cfg
|
|
||||||
recursive-include data *
|
recursive-include data *
|
||||||
recursive-include include *.py
|
|
||||||
recursive-include lib *.py
|
|
||||||
recursive-include revpicommander *.py *.qm
|
recursive-include revpicommander *.py *.qm
|
||||||
global-exclude *.pyc
|
global-exclude *.pyc
|
||||||
include LICENSE.txt
|
include LICENSE.txt
|
||||||
|
include MANIFEST.in
|
||||||
|
include README.md
|
||||||
|
include stdeb.cfg
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
SHELL := bash
|
||||||
|
|
||||||
|
build_ui:
|
||||||
|
cd ui_dev && for ui_file in *.ui; do \
|
||||||
|
file_name=$${ui_file%.ui}; \
|
||||||
|
pyuic5 $${ui_file} -o ../src/revpicommander/ui/$${file_name}_ui.py -x --from-imports; \
|
||||||
|
echo $${file_name}; \
|
||||||
|
done
|
||||||
|
cd ui_dev && for rc_file in *.qrc; do \
|
||||||
|
file_name=$${rc_file%.qrc}; \
|
||||||
|
pyrcc5 $${rc_file} -o ../src/revpicommander/ui/$${file_name}_rc.py; \
|
||||||
|
echo $${file_name}; \
|
||||||
|
done
|
||||||
|
|
||||||
|
update_translation:
|
||||||
|
pylupdate5 translate.pro
|
||||||
|
|
||||||
|
installer_mac:
|
||||||
|
pyinstaller -n "RevPi Commander" \
|
||||||
|
--add-data="src/revpicommander/locale:locale" \
|
||||||
|
--add-data="data/revpicommander.icns:." \
|
||||||
|
--icon=data/revpicommander.icns \
|
||||||
|
--noconfirm \
|
||||||
|
--clean \
|
||||||
|
--onedir \
|
||||||
|
--windowed \
|
||||||
|
src/revpicommander/__main__.py
|
||||||
|
|
||||||
|
installer_win:
|
||||||
|
pyinstaller -n "RevPi Commander" \
|
||||||
|
--add-data="src\\revpicommander\\locale;.\\locale" \
|
||||||
|
--add-data="data\\revpicommander.ico;." \
|
||||||
|
--icon=data\\revpicommander.ico \
|
||||||
|
--noconfirm \
|
||||||
|
--clean \
|
||||||
|
--onedir \
|
||||||
|
--windowed \
|
||||||
|
src/revpicommander\__main__.py
|
||||||
Binary file not shown.
@@ -1,7 +0,0 @@
|
|||||||
@echo off
|
|
||||||
pyinstaller --noconfirm --clean -D --windowed ^
|
|
||||||
--add-data="data\\revpicommander.ico;." ^
|
|
||||||
--add-data="revpicommander\\locale;.\\locale" ^
|
|
||||||
--icon=data\\revpicommander.ico ^
|
|
||||||
--path=include ^
|
|
||||||
revpicommander\revpicommander.py
|
|
||||||
@@ -4,33 +4,22 @@ __author__ = "Sven Sager"
|
|||||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
||||||
__license__ = "LGPLv3"
|
__license__ = "LGPLv3"
|
||||||
|
|
||||||
import distutils.command.install_egg_info
|
from setuptools import setup
|
||||||
from distutils.core import setup
|
|
||||||
from glob import glob
|
|
||||||
|
|
||||||
|
|
||||||
class MyEggInfo(distutils.command.install_egg_info.install_egg_info):
|
|
||||||
|
|
||||||
u"""Disable egg_info installation, seems pointless for a non-library."""
|
|
||||||
|
|
||||||
def run(self):
|
|
||||||
u"""just pass egg_info."""
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
version="0.9.3b",
|
version="0.9.10rc1",
|
||||||
python_requires="~=3.4",
|
# python_requires="~=3.4",
|
||||||
requires=["PyQt5", "revpimodio2", "zeroconf"],
|
install_requires=["PyQt5", "revpimodio2", "zeroconf"],
|
||||||
|
|
||||||
scripts=["data/revpicommander"],
|
entry_points={
|
||||||
data_files=[
|
'console_scripts': [
|
||||||
("share/applications", ["data/revpicommander.desktop"]),
|
'revpicommander = revpicommander.revpicommander:main',
|
||||||
("share/icons/hicolor/32x32/apps", ["data/revpicommander.png"]),
|
|
||||||
("share/revpicommander", glob("revpicommander/*.py")),
|
|
||||||
("share/revpicommander/ui", glob("include/ui/*.py")),
|
|
||||||
("share/revpicommander/locale/", glob("revpicommander/locale/*.qm")),
|
|
||||||
],
|
],
|
||||||
|
'gui_scripts': [
|
||||||
|
'RevPiCommander = revpicommander.revpicommander:main',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
# Additional meta-data
|
# Additional meta-data
|
||||||
name="revpicommander",
|
name="revpicommander",
|
||||||
@@ -51,5 +40,4 @@ setup(
|
|||||||
"Operating System :: POSIX :: Linux",
|
"Operating System :: POSIX :: Linux",
|
||||||
],
|
],
|
||||||
license="GPLv3",
|
license="GPLv3",
|
||||||
cmdclass={"install_egg_info": MyEggInfo},
|
|
||||||
)
|
)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""Package: RevPiCommander."""
|
||||||
|
__author__ = "Sven Sager"
|
||||||
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
|
__license__ = "GPLv3"
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""Start main application of this package."""
|
||||||
|
__author__ = "Sven Sager"
|
||||||
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
|
# If we are running from a wheel, add the wheel to sys.path
|
||||||
|
if __package__ == "":
|
||||||
|
from os.path import dirname
|
||||||
|
from sys import path
|
||||||
|
|
||||||
|
# __file__ is package-*.whl/package/__main__.py
|
||||||
|
# Resulting path is the name of the wheel itself
|
||||||
|
package_path = dirname(dirname(__file__))
|
||||||
|
path.insert(0, package_path)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import sys
|
||||||
|
from revpicommander.revpicommander import main
|
||||||
|
|
||||||
|
# Run the main application of this package
|
||||||
|
sys.exit(main())
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""Manager for ACL lists."""
|
"""Manager for ACL lists."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
from re import compile
|
from re import compile
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
from helper import WidgetData
|
from .helper import WidgetData
|
||||||
from ui.aclmanager_ui import Ui_diag_aclmanager
|
from .ui.aclmanager_ui import Ui_diag_aclmanager
|
||||||
|
|
||||||
|
|
||||||
class AclManager(QtWidgets.QDialog, Ui_diag_aclmanager):
|
class AclManager(QtWidgets.QDialog, Ui_diag_aclmanager):
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""Revolution Pi search with zeroconf."""
|
"""Revolution Pi search with zeroconf."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2020 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
import webbrowser
|
import webbrowser
|
||||||
@@ -12,10 +12,9 @@ from sys import platform
|
|||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
from zeroconf import IPVersion, ServiceBrowser, Zeroconf
|
from zeroconf import IPVersion, ServiceBrowser, Zeroconf
|
||||||
|
|
||||||
import helper
|
from . import proginit as pi
|
||||||
import proginit as pi
|
from .helper import WidgetData, settings
|
||||||
from helper import WidgetData
|
from .ui.avahisearch_ui import Ui_diag_search
|
||||||
from ui.avahisearch_ui import Ui_diag_search
|
|
||||||
|
|
||||||
|
|
||||||
class AvahiSearchThread(QtCore.QThread):
|
class AvahiSearchThread(QtCore.QThread):
|
||||||
@@ -103,8 +102,8 @@ class AvahiSearch(QtWidgets.QDialog, Ui_diag_search):
|
|||||||
self.btn_connect.setEnabled(False)
|
self.btn_connect.setEnabled(False)
|
||||||
self.btn_save.setEnabled(False)
|
self.btn_save.setEnabled(False)
|
||||||
|
|
||||||
self.restoreGeometry(helper.settings.value("avahisearch/geo", b''))
|
self.restoreGeometry(settings.value("avahisearch/geo", b''))
|
||||||
column_sizes = helper.settings.value("avahisearch/column_sizes", [], type=list)
|
column_sizes = settings.value("avahisearch/column_sizes", [], type=list)
|
||||||
if len(column_sizes) == self.tb_revpi.columnCount():
|
if len(column_sizes) == self.tb_revpi.columnCount():
|
||||||
for i in range(self.tb_revpi.columnCount()):
|
for i in range(self.tb_revpi.columnCount()):
|
||||||
self.tb_revpi.setColumnWidth(i, int(column_sizes[i]))
|
self.tb_revpi.setColumnWidth(i, int(column_sizes[i]))
|
||||||
@@ -130,15 +129,15 @@ class AvahiSearch(QtWidgets.QDialog, Ui_diag_search):
|
|||||||
"""Load existing connections to show hostname of existing ip addresses"""
|
"""Load existing connections to show hostname of existing ip addresses"""
|
||||||
self.known_hosts.clear()
|
self.known_hosts.clear()
|
||||||
|
|
||||||
for i in range(helper.settings.beginReadArray("connections")):
|
for i in range(settings.beginReadArray("connections")):
|
||||||
helper.settings.setArrayIndex(i)
|
settings.setArrayIndex(i)
|
||||||
|
|
||||||
name = helper.settings.value("name", type=str)
|
name = settings.value("name", type=str)
|
||||||
folder = helper.settings.value("folder", type=str)
|
folder = settings.value("folder", type=str)
|
||||||
address = helper.settings.value("address", type=str)
|
address = settings.value("address", type=str)
|
||||||
self.known_hosts[address] = "{0}/{1}".format(folder, name) if folder else name
|
self.known_hosts[address] = "{0}/{1}".format(folder, name) if folder else name
|
||||||
|
|
||||||
helper.settings.endArray()
|
settings.endArray()
|
||||||
|
|
||||||
def _restart_search(self) -> None:
|
def _restart_search(self) -> None:
|
||||||
"""Clean up and restart search thread."""
|
"""Clean up and restart search thread."""
|
||||||
@@ -169,12 +168,12 @@ class AvahiSearch(QtWidgets.QDialog, Ui_diag_search):
|
|||||||
selected_address = item.data(WidgetData.address)
|
selected_address = item.data(WidgetData.address)
|
||||||
selected_port = item.data(WidgetData.port)
|
selected_port = item.data(WidgetData.port)
|
||||||
i = 0
|
i = 0
|
||||||
for i in range(helper.settings.beginReadArray("connections")):
|
for i in range(settings.beginReadArray("connections")):
|
||||||
helper.settings.setArrayIndex(i)
|
settings.setArrayIndex(i)
|
||||||
|
|
||||||
name = helper.settings.value("name", type=str)
|
name = settings.value("name", type=str)
|
||||||
address = helper.settings.value("address", type=str)
|
address = settings.value("address", type=str)
|
||||||
port = helper.settings.value("port", type=int)
|
port = settings.value("port", type=int)
|
||||||
if address.lower() == selected_address.lower() and port == selected_port:
|
if address.lower() == selected_address.lower() and port == selected_port:
|
||||||
if not no_warn:
|
if not no_warn:
|
||||||
QtWidgets.QMessageBox.information(
|
QtWidgets.QMessageBox.information(
|
||||||
@@ -183,19 +182,19 @@ class AvahiSearch(QtWidgets.QDialog, Ui_diag_search):
|
|||||||
"connection list as '{0}'."
|
"connection list as '{0}'."
|
||||||
).format(name)
|
).format(name)
|
||||||
)
|
)
|
||||||
helper.settings.endArray()
|
settings.endArray()
|
||||||
return i
|
return i
|
||||||
|
|
||||||
helper.settings.endArray()
|
settings.endArray()
|
||||||
helper.settings.beginWriteArray("connections")
|
settings.beginWriteArray("connections")
|
||||||
|
|
||||||
helper.settings.setArrayIndex(i + 1)
|
settings.setArrayIndex(i + 1)
|
||||||
helper.settings.setValue("address", selected_address)
|
settings.setValue("address", selected_address)
|
||||||
helper.settings.setValue("folder", folder_name)
|
settings.setValue("folder", folder_name)
|
||||||
helper.settings.setValue("name", selected_name)
|
settings.setValue("name", selected_name)
|
||||||
helper.settings.setValue("port", selected_port)
|
settings.setValue("port", selected_port)
|
||||||
|
|
||||||
helper.settings.endArray()
|
settings.endArray()
|
||||||
|
|
||||||
if not no_warn:
|
if not no_warn:
|
||||||
QtWidgets.QMessageBox.information(
|
QtWidgets.QMessageBox.information(
|
||||||
@@ -208,8 +207,8 @@ class AvahiSearch(QtWidgets.QDialog, Ui_diag_search):
|
|||||||
return i + 1
|
return i + 1
|
||||||
|
|
||||||
def closeEvent(self, a0: QtGui.QCloseEvent) -> None:
|
def closeEvent(self, a0: QtGui.QCloseEvent) -> None:
|
||||||
helper.settings.setValue("avahisearch/geo", self.saveGeometry())
|
settings.setValue("avahisearch/geo", self.saveGeometry())
|
||||||
helper.settings.setValue("avahisearch/column_sizes", [
|
settings.setValue("avahisearch/column_sizes", [
|
||||||
self.tb_revpi.columnWidth(i)
|
self.tb_revpi.columnWidth(i)
|
||||||
for i in range(self.tb_revpi.columnCount())
|
for i in range(self.tb_revpi.columnCount())
|
||||||
])
|
])
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""File transfer system to handle QThreads."""
|
"""File transfer system to handle QThreads."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2021 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
from ui.backgroundworker_ui import Ui_diag_backgroundworker
|
from .ui.backgroundworker_ui import Ui_diag_backgroundworker
|
||||||
|
|
||||||
log = getLogger()
|
log = getLogger()
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""Debug control widget to append to main window."""
|
"""Debug control widget to append to main window."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2020 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
import pickle
|
import pickle
|
||||||
@@ -9,10 +9,10 @@ from xmlrpc.client import Binary, Fault, MultiCall, MultiCallIterator
|
|||||||
|
|
||||||
from PyQt5 import QtCore, QtWidgets
|
from PyQt5 import QtCore, QtWidgets
|
||||||
|
|
||||||
import helper
|
from .import helper
|
||||||
import proginit as pi
|
from . import proginit as pi
|
||||||
from debugios import DebugIos
|
from .debugios import DebugIos
|
||||||
from ui.debugcontrol_ui import Ui_wid_debugcontrol
|
from .ui.debugcontrol_ui import Ui_wid_debugcontrol
|
||||||
|
|
||||||
|
|
||||||
class PsValues(QtCore.QThread):
|
class PsValues(QtCore.QThread):
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""One device of the Revolution Pi."""
|
"""One device of the Revolution Pi."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2020 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
import helper
|
from . import helper
|
||||||
import proginit as pi
|
from . import proginit as pi
|
||||||
from ui.debugios_ui import Ui_win_debugios
|
from .ui.debugios_ui import Ui_win_debugios
|
||||||
|
|
||||||
|
|
||||||
class DebugIos(QtWidgets.QMainWindow, Ui_win_debugios):
|
class DebugIos(QtWidgets.QMainWindow, Ui_win_debugios):
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""Helper functions for this application."""
|
"""Helper functions for this application."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2020 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
import pickle
|
import pickle
|
||||||
@@ -16,7 +16,7 @@ from xmlrpc.client import Binary, ServerProxy
|
|||||||
|
|
||||||
from PyQt5 import QtCore
|
from PyQt5 import QtCore
|
||||||
|
|
||||||
import proginit as pi
|
from . import proginit as pi
|
||||||
|
|
||||||
|
|
||||||
class WidgetData(IntEnum):
|
class WidgetData(IntEnum):
|
||||||
File renamed without changes.
+599
-642
File diff suppressed because it is too large.
Load diff
@@ -2,13 +2,13 @@
|
|||||||
"""Options for MQTT system."""
|
"""Options for MQTT system."""
|
||||||
|
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
from PyQt5 import QtGui, QtWidgets
|
from PyQt5 import QtGui, QtWidgets
|
||||||
|
|
||||||
import proginit as pi
|
from . import proginit as pi
|
||||||
from ui.mqttmanager_ui import Ui_diag_mqtt
|
from .ui.mqttmanager_ui import Ui_diag_mqtt
|
||||||
|
|
||||||
|
|
||||||
class MqttManager(QtWidgets.QDialog, Ui_diag_mqtt):
|
class MqttManager(QtWidgets.QDialog, Ui_diag_mqtt):
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""Global program initialization."""
|
"""Global program initialization."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2019 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "LGPLv3"
|
__license__ = "LGPLv3"
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
Executable → Regular
+21
-16
@@ -12,18 +12,18 @@ from os.path import basename, dirname, join
|
|||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
import helper
|
from . import helper
|
||||||
import proginit as pi
|
from . import proginit as pi
|
||||||
import revpilogfile
|
from . import revpilogfile
|
||||||
from avahisearch import AvahiSearch
|
from .avahisearch import AvahiSearch
|
||||||
from debugcontrol import DebugControl
|
from .debugcontrol import DebugControl
|
||||||
from revpifiles import RevPiFiles
|
from .revpifiles import RevPiFiles
|
||||||
from revpiinfo import RevPiInfo
|
from .revpiinfo import RevPiInfo
|
||||||
from revpioption import RevPiOption
|
from .revpioption import RevPiOption
|
||||||
from revpiplclist import RevPiPlcList
|
from .revpiplclist import RevPiPlcList
|
||||||
from revpiprogram import RevPiProgram
|
from .revpiprogram import RevPiProgram
|
||||||
from simulator import Simulator
|
from .simulator import Simulator
|
||||||
from ui.revpicommander_ui import Ui_win_revpicommander
|
from .ui.revpicommander_ui import Ui_win_revpicommander
|
||||||
|
|
||||||
|
|
||||||
class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
|
class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
|
||||||
@@ -475,15 +475,15 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
|
|||||||
# endregion # # # # #
|
# endregion # # # # #
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
def main() -> int:
|
||||||
import sys
|
from sys import argv
|
||||||
|
|
||||||
if hasattr(QtCore.Qt, 'AA_EnableHighDpiScaling'):
|
if hasattr(QtCore.Qt, 'AA_EnableHighDpiScaling'):
|
||||||
QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True)
|
QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True)
|
||||||
if hasattr(QtCore.Qt, 'AA_UseHighDpiPixmaps'):
|
if hasattr(QtCore.Qt, 'AA_UseHighDpiPixmaps'):
|
||||||
QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True)
|
QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True)
|
||||||
|
|
||||||
app = QtWidgets.QApplication(sys.argv)
|
app = QtWidgets.QApplication(argv)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Setup translation from file with system language
|
# Setup translation from file with system language
|
||||||
@@ -506,4 +506,9 @@ if __name__ == "__main__":
|
|||||||
helper.cm.requestInterruption()
|
helper.cm.requestInterruption()
|
||||||
helper.cm.wait()
|
helper.cm.wait()
|
||||||
|
|
||||||
sys.exit(exit_code)
|
return exit_code
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import sys
|
||||||
|
sys.exit(main())
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""File manager for up und download PLC program."""
|
"""File manager for up und download PLC program."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2020 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
import gzip
|
import gzip
|
||||||
@@ -11,11 +11,11 @@ from xmlrpc.client import Binary
|
|||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
import helper
|
from . import helper
|
||||||
import proginit as pi
|
from . import proginit as pi
|
||||||
from backgroundworker import BackgroundWorker
|
from .backgroundworker import BackgroundWorker
|
||||||
from helper import WidgetData
|
from .helper import WidgetData
|
||||||
from ui.files_ui import Ui_win_files
|
from .ui.files_ui import Ui_win_files
|
||||||
|
|
||||||
|
|
||||||
class NodeType(IntEnum):
|
class NodeType(IntEnum):
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""Program information of local an remote system."""
|
"""Program information of local an remote system."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
import helper
|
from . import helper
|
||||||
from ui.revpiinfo_ui import Ui_diag_revpiinfo
|
from .ui.revpiinfo_ui import Ui_diag_revpiinfo
|
||||||
|
|
||||||
|
|
||||||
class RevPiInfo(QtWidgets.QDialog, Ui_diag_revpiinfo):
|
class RevPiInfo(QtWidgets.QDialog, Ui_diag_revpiinfo):
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""View log files from Revolution Pi."""
|
"""View log files from Revolution Pi."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
from enum import IntEnum
|
from enum import IntEnum
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
import helper
|
from . import helper
|
||||||
import proginit as pi
|
from . import proginit as pi
|
||||||
from ui.revpilogfile_ui import Ui_win_revpilogfile
|
from .ui.revpilogfile_ui import Ui_win_revpilogfile
|
||||||
|
|
||||||
|
|
||||||
class LogType(IntEnum):
|
class LogType(IntEnum):
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""RevPiPyLoad options window."""
|
"""RevPiPyLoad options window."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
import helper
|
from . import helper
|
||||||
import proginit as pi
|
from . import proginit as pi
|
||||||
from aclmanager import AclManager
|
from .aclmanager import AclManager
|
||||||
from mqttmanager import MqttManager
|
from .mqttmanager import MqttManager
|
||||||
from ui.revpioption_ui import Ui_diag_options
|
from .ui.revpioption_ui import Ui_diag_options
|
||||||
|
|
||||||
|
|
||||||
class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
|
class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
|
||||||
@@ -1,17 +1,16 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""Saved connections of Revolution Pi devices."""
|
"""Saved connections of Revolution Pi devices."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
from enum import IntEnum
|
from enum import IntEnum
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
import helper
|
from . import proginit as pi
|
||||||
import proginit as pi
|
from .helper import WidgetData, settings
|
||||||
from helper import WidgetData
|
from .ui.revpiplclist_ui import Ui_diag_connections
|
||||||
from ui.revpiplclist_ui import Ui_diag_connections
|
|
||||||
|
|
||||||
|
|
||||||
class NodeType(IntEnum):
|
class NodeType(IntEnum):
|
||||||
@@ -42,29 +41,29 @@ class RevPiPlcList(QtWidgets.QDialog, Ui_diag_connections):
|
|||||||
self.tre_connections.clear()
|
self.tre_connections.clear()
|
||||||
self.cbb_folder.clear()
|
self.cbb_folder.clear()
|
||||||
self.cbb_folder.addItem("")
|
self.cbb_folder.addItem("")
|
||||||
for i in range(helper.settings.beginReadArray("connections")):
|
for i in range(settings.beginReadArray("connections")):
|
||||||
helper.settings.setArrayIndex(i)
|
settings.setArrayIndex(i)
|
||||||
|
|
||||||
con_item = QtWidgets.QTreeWidgetItem(NodeType.CON)
|
con_item = QtWidgets.QTreeWidgetItem(NodeType.CON)
|
||||||
con_item.setIcon(0, QtGui.QIcon(":/main/ico/cpu.ico"))
|
con_item.setIcon(0, QtGui.QIcon(":/main/ico/cpu.ico"))
|
||||||
con_item.setText(0, helper.settings.value("name", "Revolution Pi", str))
|
con_item.setText(0, settings.value("name", "Revolution Pi", str))
|
||||||
con_item.setText(1, helper.settings.value("address", "127.0.0.1", str))
|
con_item.setText(1, settings.value("address", "127.0.0.1", str))
|
||||||
con_item.setData(0, WidgetData.port, helper.settings.value("port", self.__default_port, int))
|
con_item.setData(0, WidgetData.port, settings.value("port", self.__default_port, int))
|
||||||
con_item.setData(0, WidgetData.timeout, helper.settings.value("timeout", 5, int))
|
con_item.setData(0, WidgetData.timeout, settings.value("timeout", 5, int))
|
||||||
|
|
||||||
con_item.setData(0, WidgetData.last_dir_upload, helper.settings.value("last_dir_upload"))
|
con_item.setData(0, WidgetData.last_dir_upload, settings.value("last_dir_upload"))
|
||||||
con_item.setData(0, WidgetData.last_file_upload, helper.settings.value("last_file_upload"))
|
con_item.setData(0, WidgetData.last_file_upload, settings.value("last_file_upload"))
|
||||||
con_item.setData(0, WidgetData.last_dir_pictory, helper.settings.value("last_dir_pictory"))
|
con_item.setData(0, WidgetData.last_dir_pictory, settings.value("last_dir_pictory"))
|
||||||
con_item.setData(0, WidgetData.last_dir_picontrol, helper.settings.value("last_dir_picontrol"))
|
con_item.setData(0, WidgetData.last_dir_picontrol, settings.value("last_dir_picontrol"))
|
||||||
con_item.setData(0, WidgetData.last_dir_selected, helper.settings.value("last_dir_selected"))
|
con_item.setData(0, WidgetData.last_dir_selected, settings.value("last_dir_selected"))
|
||||||
con_item.setData(0, WidgetData.last_pictory_file, helper.settings.value("last_pictory_file"))
|
con_item.setData(0, WidgetData.last_pictory_file, settings.value("last_pictory_file"))
|
||||||
con_item.setData(0, WidgetData.last_tar_file, helper.settings.value("last_tar_file"))
|
con_item.setData(0, WidgetData.last_tar_file, settings.value("last_tar_file"))
|
||||||
con_item.setData(0, WidgetData.last_zip_file, helper.settings.value("last_zip_file"))
|
con_item.setData(0, WidgetData.last_zip_file, settings.value("last_zip_file"))
|
||||||
con_item.setData(0, WidgetData.watch_files, helper.settings.value("watch_files"))
|
con_item.setData(0, WidgetData.watch_files, settings.value("watch_files"))
|
||||||
con_item.setData(0, WidgetData.watch_path, helper.settings.value("watch_path"))
|
con_item.setData(0, WidgetData.watch_path, settings.value("watch_path"))
|
||||||
con_item.setData(0, WidgetData.debug_geos, helper.settings.value("debug_geos"))
|
con_item.setData(0, WidgetData.debug_geos, settings.value("debug_geos"))
|
||||||
|
|
||||||
folder = helper.settings.value("folder", "", str)
|
folder = settings.value("folder", "", str)
|
||||||
if folder:
|
if folder:
|
||||||
sub_folder = self._get_folder_item(folder)
|
sub_folder = self._get_folder_item(folder)
|
||||||
if sub_folder is None:
|
if sub_folder is None:
|
||||||
@@ -78,7 +77,7 @@ class RevPiPlcList(QtWidgets.QDialog, Ui_diag_connections):
|
|||||||
else:
|
else:
|
||||||
self.tre_connections.addTopLevelItem(con_item)
|
self.tre_connections.addTopLevelItem(con_item)
|
||||||
|
|
||||||
helper.settings.endArray()
|
settings.endArray()
|
||||||
|
|
||||||
self.tre_connections.expandAll()
|
self.tre_connections.expandAll()
|
||||||
self.changes = True
|
self.changes = True
|
||||||
@@ -91,52 +90,52 @@ class RevPiPlcList(QtWidgets.QDialog, Ui_diag_connections):
|
|||||||
|
|
||||||
def set_settings(node: QtWidgets.QTreeWidgetItem):
|
def set_settings(node: QtWidgets.QTreeWidgetItem):
|
||||||
parent = node.parent()
|
parent = node.parent()
|
||||||
helper.settings.setValue("address", node.text(1))
|
settings.setValue("address", node.text(1))
|
||||||
helper.settings.setValue("folder", parent.text(0) if parent else "")
|
settings.setValue("folder", parent.text(0) if parent else "")
|
||||||
helper.settings.setValue("name", node.text(0))
|
settings.setValue("name", node.text(0))
|
||||||
helper.settings.setValue("port", node.data(0, WidgetData.port))
|
settings.setValue("port", node.data(0, WidgetData.port))
|
||||||
helper.settings.setValue("timeout", node.data(0, WidgetData.timeout))
|
settings.setValue("timeout", node.data(0, WidgetData.timeout))
|
||||||
|
|
||||||
if node.data(0, WidgetData.last_dir_upload):
|
if node.data(0, WidgetData.last_dir_upload):
|
||||||
helper.settings.setValue("last_dir_upload", node.data(0, WidgetData.last_dir_upload))
|
settings.setValue("last_dir_upload", node.data(0, WidgetData.last_dir_upload))
|
||||||
if node.data(0, WidgetData.last_file_upload):
|
if node.data(0, WidgetData.last_file_upload):
|
||||||
helper.settings.setValue("last_file_upload", node.data(0, WidgetData.last_file_upload))
|
settings.setValue("last_file_upload", node.data(0, WidgetData.last_file_upload))
|
||||||
if node.data(0, WidgetData.last_dir_pictory):
|
if node.data(0, WidgetData.last_dir_pictory):
|
||||||
helper.settings.setValue("last_dir_pictory", node.data(0, WidgetData.last_dir_pictory))
|
settings.setValue("last_dir_pictory", node.data(0, WidgetData.last_dir_pictory))
|
||||||
if node.data(0, WidgetData.last_dir_picontrol):
|
if node.data(0, WidgetData.last_dir_picontrol):
|
||||||
helper.settings.setValue("last_dir_picontrol", node.data(0, WidgetData.last_dir_picontrol))
|
settings.setValue("last_dir_picontrol", node.data(0, WidgetData.last_dir_picontrol))
|
||||||
if node.data(0, WidgetData.last_dir_selected):
|
if node.data(0, WidgetData.last_dir_selected):
|
||||||
helper.settings.setValue("last_dir_selected", node.data(0, WidgetData.last_dir_selected))
|
settings.setValue("last_dir_selected", node.data(0, WidgetData.last_dir_selected))
|
||||||
if node.data(0, WidgetData.last_pictory_file):
|
if node.data(0, WidgetData.last_pictory_file):
|
||||||
helper.settings.setValue("last_pictory_file", node.data(0, WidgetData.last_pictory_file))
|
settings.setValue("last_pictory_file", node.data(0, WidgetData.last_pictory_file))
|
||||||
if node.data(0, WidgetData.last_tar_file):
|
if node.data(0, WidgetData.last_tar_file):
|
||||||
helper.settings.setValue("last_tar_file", node.data(0, WidgetData.last_tar_file))
|
settings.setValue("last_tar_file", node.data(0, WidgetData.last_tar_file))
|
||||||
if node.data(0, WidgetData.last_zip_file):
|
if node.data(0, WidgetData.last_zip_file):
|
||||||
helper.settings.setValue("last_zip_file", node.data(0, WidgetData.last_zip_file))
|
settings.setValue("last_zip_file", node.data(0, WidgetData.last_zip_file))
|
||||||
if node.data(0, WidgetData.watch_files):
|
if node.data(0, WidgetData.watch_files):
|
||||||
helper.settings.setValue("watch_files", node.data(0, WidgetData.watch_files))
|
settings.setValue("watch_files", node.data(0, WidgetData.watch_files))
|
||||||
if node.data(0, WidgetData.watch_path):
|
if node.data(0, WidgetData.watch_path):
|
||||||
helper.settings.setValue("watch_path", node.data(0, WidgetData.watch_path))
|
settings.setValue("watch_path", node.data(0, WidgetData.watch_path))
|
||||||
if node.data(0, WidgetData.debug_geos):
|
if node.data(0, WidgetData.debug_geos):
|
||||||
helper.settings.setValue("debug_geos", node.data(0, WidgetData.debug_geos))
|
settings.setValue("debug_geos", node.data(0, WidgetData.debug_geos))
|
||||||
|
|
||||||
helper.settings.remove("connections")
|
settings.remove("connections")
|
||||||
helper.settings.beginWriteArray("connections")
|
settings.beginWriteArray("connections")
|
||||||
|
|
||||||
counter_index = 0
|
counter_index = 0
|
||||||
for i in range(self.tre_connections.topLevelItemCount()):
|
for i in range(self.tre_connections.topLevelItemCount()):
|
||||||
root_item = self.tre_connections.topLevelItem(i)
|
root_item = self.tre_connections.topLevelItem(i)
|
||||||
if root_item.type() == NodeType.DIR:
|
if root_item.type() == NodeType.DIR:
|
||||||
for k in range(root_item.childCount()):
|
for k in range(root_item.childCount()):
|
||||||
helper.settings.setArrayIndex(counter_index)
|
settings.setArrayIndex(counter_index)
|
||||||
set_settings(root_item.child(k))
|
set_settings(root_item.child(k))
|
||||||
counter_index += 1
|
counter_index += 1
|
||||||
elif root_item.type() == NodeType.CON:
|
elif root_item.type() == NodeType.CON:
|
||||||
helper.settings.setArrayIndex(counter_index)
|
settings.setArrayIndex(counter_index)
|
||||||
set_settings(root_item)
|
set_settings(root_item)
|
||||||
counter_index += 1
|
counter_index += 1
|
||||||
|
|
||||||
helper.settings.endArray()
|
settings.endArray()
|
||||||
|
|
||||||
self.changes = False
|
self.changes = False
|
||||||
super(RevPiPlcList, self).accept()
|
super(RevPiPlcList, self).accept()
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""Revolution Pi PLC program configuration."""
|
"""Revolution Pi PLC program configuration."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
import gzip
|
import gzip
|
||||||
@@ -14,9 +14,9 @@ from xmlrpc.client import Binary
|
|||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
import helper
|
from . import helper
|
||||||
import proginit as pi
|
from . import proginit as pi
|
||||||
from ui.revpiprogram_ui import Ui_diag_program
|
from .ui.revpiprogram_ui import Ui_diag_program
|
||||||
|
|
||||||
|
|
||||||
class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
|
class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""Simulator for piControl."""
|
"""Simulator for piControl."""
|
||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2021 Sven Sager"
|
__copyright__ = "Copyright (C) 2023 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
|
|
||||||
from os import W_OK, access
|
from os import W_OK, access
|
||||||
@@ -9,8 +9,8 @@ from os.path import basename, dirname, exists, join
|
|||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
import helper
|
from . import helper
|
||||||
from ui.simulator_ui import Ui_diag_simulator
|
from .ui.simulator_ui import Ui_diag_simulator
|
||||||
|
|
||||||
|
|
||||||
class Simulator(QtWidgets.QDialog, Ui_diag_simulator):
|
class Simulator(QtWidgets.QDialog, Ui_diag_simulator):
|
||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'aclmanager.ui'
|
# Form implementation generated from reading ui file 'aclmanager.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -120,8 +121,8 @@ class Ui_diag_aclmanager(object):
|
|||||||
self.verticalLayout.addWidget(self.btn_box)
|
self.verticalLayout.addWidget(self.btn_box)
|
||||||
|
|
||||||
self.retranslateUi(diag_aclmanager)
|
self.retranslateUi(diag_aclmanager)
|
||||||
self.btn_box.accepted.connect(diag_aclmanager.accept)
|
self.btn_box.accepted.connect(diag_aclmanager.accept) # type: ignore
|
||||||
self.btn_box.rejected.connect(diag_aclmanager.reject)
|
self.btn_box.rejected.connect(diag_aclmanager.reject) # type: ignore
|
||||||
QtCore.QMetaObject.connectSlotsByName(diag_aclmanager)
|
QtCore.QMetaObject.connectSlotsByName(diag_aclmanager)
|
||||||
diag_aclmanager.setTabOrder(self.tb_acls, self.btn_edit)
|
diag_aclmanager.setTabOrder(self.tb_acls, self.btn_edit)
|
||||||
diag_aclmanager.setTabOrder(self.btn_edit, self.btn_remove)
|
diag_aclmanager.setTabOrder(self.btn_edit, self.btn_remove)
|
||||||
File renamed without changes.
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'backgroundworker.ui'
|
# Form implementation generated from reading ui file 'backgroundworker.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'debugcontrol.ui'
|
# Form implementation generated from reading ui file 'debugcontrol.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'debugios.ui'
|
# Form implementation generated from reading ui file 'debugios.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'files.ui'
|
# Form implementation generated from reading ui file 'files.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'mqttmanager.ui'
|
# Form implementation generated from reading ui file 'mqttmanager.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -117,8 +118,8 @@ class Ui_diag_mqtt(object):
|
|||||||
self.verticalLayout.addWidget(self.btn_box)
|
self.verticalLayout.addWidget(self.btn_box)
|
||||||
|
|
||||||
self.retranslateUi(diag_mqtt)
|
self.retranslateUi(diag_mqtt)
|
||||||
self.btn_box.accepted.connect(diag_mqtt.accept)
|
self.btn_box.accepted.connect(diag_mqtt.accept) # type: ignore
|
||||||
self.btn_box.rejected.connect(diag_mqtt.reject)
|
self.btn_box.rejected.connect(diag_mqtt.reject) # type: ignore
|
||||||
QtCore.QMetaObject.connectSlotsByName(diag_mqtt)
|
QtCore.QMetaObject.connectSlotsByName(diag_mqtt)
|
||||||
|
|
||||||
def retranslateUi(self, diag_mqtt):
|
def retranslateUi(self, diag_mqtt):
|
||||||
File diff suppressed because it is too large.
Load diff
File renamed without changes.
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'revpiinfo.ui'
|
# Form implementation generated from reading ui file 'revpiinfo.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -79,8 +80,8 @@ class Ui_diag_revpiinfo(object):
|
|||||||
self.gridLayout.addItem(spacerItem, 5, 0, 1, 1)
|
self.gridLayout.addItem(spacerItem, 5, 0, 1, 1)
|
||||||
|
|
||||||
self.retranslateUi(diag_revpiinfo)
|
self.retranslateUi(diag_revpiinfo)
|
||||||
self.btn_box.accepted.connect(diag_revpiinfo.accept)
|
self.btn_box.accepted.connect(diag_revpiinfo.accept) # type: ignore
|
||||||
self.btn_box.rejected.connect(diag_revpiinfo.reject)
|
self.btn_box.rejected.connect(diag_revpiinfo.reject) # type: ignore
|
||||||
QtCore.QMetaObject.connectSlotsByName(diag_revpiinfo)
|
QtCore.QMetaObject.connectSlotsByName(diag_revpiinfo)
|
||||||
|
|
||||||
def retranslateUi(self, diag_revpiinfo):
|
def retranslateUi(self, diag_revpiinfo):
|
||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'revpilogfile.ui'
|
# Form implementation generated from reading ui file 'revpilogfile.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'revpioption.ui'
|
# Form implementation generated from reading ui file 'revpioption.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -115,8 +116,8 @@ class Ui_diag_options(object):
|
|||||||
self.verticalLayout.addWidget(self.btn_box)
|
self.verticalLayout.addWidget(self.btn_box)
|
||||||
|
|
||||||
self.retranslateUi(diag_options)
|
self.retranslateUi(diag_options)
|
||||||
self.btn_box.accepted.connect(diag_options.accept)
|
self.btn_box.accepted.connect(diag_options.accept) # type: ignore
|
||||||
self.btn_box.rejected.connect(diag_options.reject)
|
self.btn_box.rejected.connect(diag_options.reject) # type: ignore
|
||||||
QtCore.QMetaObject.connectSlotsByName(diag_options)
|
QtCore.QMetaObject.connectSlotsByName(diag_options)
|
||||||
|
|
||||||
def retranslateUi(self, diag_options):
|
def retranslateUi(self, diag_options):
|
||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'revpiplclist.ui'
|
# Form implementation generated from reading ui file 'revpiplclist.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -113,8 +114,8 @@ class Ui_diag_connections(object):
|
|||||||
self.gridLayout.addWidget(self.btn_box, 2, 0, 1, 2)
|
self.gridLayout.addWidget(self.btn_box, 2, 0, 1, 2)
|
||||||
|
|
||||||
self.retranslateUi(diag_connections)
|
self.retranslateUi(diag_connections)
|
||||||
self.btn_box.accepted.connect(diag_connections.accept)
|
self.btn_box.accepted.connect(diag_connections.accept) # type: ignore
|
||||||
self.btn_box.rejected.connect(diag_connections.reject)
|
self.btn_box.rejected.connect(diag_connections.reject) # type: ignore
|
||||||
QtCore.QMetaObject.connectSlotsByName(diag_connections)
|
QtCore.QMetaObject.connectSlotsByName(diag_connections)
|
||||||
|
|
||||||
def retranslateUi(self, diag_connections):
|
def retranslateUi(self, diag_connections):
|
||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'revpiprogram.ui'
|
# Form implementation generated from reading ui file 'revpiprogram.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -104,8 +105,8 @@ class Ui_diag_program(object):
|
|||||||
self.verticalLayout.addWidget(self.btn_box)
|
self.verticalLayout.addWidget(self.btn_box)
|
||||||
|
|
||||||
self.retranslateUi(diag_program)
|
self.retranslateUi(diag_program)
|
||||||
self.btn_box.accepted.connect(diag_program.accept)
|
self.btn_box.accepted.connect(diag_program.accept) # type: ignore
|
||||||
self.btn_box.rejected.connect(diag_program.reject)
|
self.btn_box.rejected.connect(diag_program.reject) # type: ignore
|
||||||
QtCore.QMetaObject.connectSlotsByName(diag_program)
|
QtCore.QMetaObject.connectSlotsByName(diag_program)
|
||||||
diag_program.setTabOrder(self.cbb_plcprogram, self.txt_plcarguments)
|
diag_program.setTabOrder(self.cbb_plcprogram, self.txt_plcarguments)
|
||||||
diag_program.setTabOrder(self.txt_plcarguments, self.rbn_pythonversion_2)
|
diag_program.setTabOrder(self.txt_plcarguments, self.rbn_pythonversion_2)
|
||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'simulator.ui'
|
# Form implementation generated from reading ui file 'simulator.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.14.1
|
# Created by: PyQt5 UI code generator 5.15.7
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
@@ -92,9 +93,9 @@ class Ui_diag_simulator(object):
|
|||||||
self.verticalLayout.addWidget(self.btn_start_nochange)
|
self.verticalLayout.addWidget(self.btn_start_nochange)
|
||||||
|
|
||||||
self.retranslateUi(diag_simulator)
|
self.retranslateUi(diag_simulator)
|
||||||
self.btn_start_empty.clicked.connect(diag_simulator.accept)
|
self.btn_start_empty.clicked.connect(diag_simulator.accept) # type: ignore
|
||||||
self.btn_start_nochange.clicked.connect(diag_simulator.accept)
|
self.btn_start_nochange.clicked.connect(diag_simulator.accept) # type: ignore
|
||||||
self.btn_start_pictory.clicked.connect(diag_simulator.accept)
|
self.btn_start_pictory.clicked.connect(diag_simulator.accept) # type: ignore
|
||||||
QtCore.QMetaObject.connectSlotsByName(diag_simulator)
|
QtCore.QMetaObject.connectSlotsByName(diag_simulator)
|
||||||
diag_simulator.setTabOrder(self.cbb_history, self.btn_configrsc)
|
diag_simulator.setTabOrder(self.cbb_history, self.btn_configrsc)
|
||||||
diag_simulator.setTabOrder(self.btn_configrsc, self.cbx_stop_remove)
|
diag_simulator.setTabOrder(self.btn_configrsc, self.cbx_stop_remove)
|
||||||
+28
-28
@@ -1,32 +1,32 @@
|
|||||||
SOURCES = revpicommander/aclmanager.py \
|
SOURCES = src/revpicommander/aclmanager.py \
|
||||||
revpicommander/avahisearch.py \
|
src/revpicommander/avahisearch.py \
|
||||||
revpicommander/debugcontrol.py \
|
src/revpicommander/debugcontrol.py \
|
||||||
revpicommander/debugios.py \
|
src/revpicommander/debugios.py \
|
||||||
revpicommander/helper.py \
|
src/revpicommander/helper.py \
|
||||||
revpicommander/mqttmanager.py \
|
src/revpicommander/mqttmanager.py \
|
||||||
revpicommander/revpifiles.py \
|
src/revpicommander/revpifiles.py \
|
||||||
revpicommander/revpiinfo.py \
|
src/revpicommander/revpiinfo.py \
|
||||||
revpicommander/revpilogfile.py \
|
src/revpicommander/revpilogfile.py \
|
||||||
revpicommander/revpioption.py \
|
src/revpicommander/revpioption.py \
|
||||||
revpicommander/revpiplclist.py \
|
src/revpicommander/revpiplclist.py \
|
||||||
revpicommander/revpiprogram.py \
|
src/revpicommander/revpiprogram.py \
|
||||||
revpicommander/simulator.py \
|
src/revpicommander/simulator.py \
|
||||||
revpicommander/revpicommander.py
|
src/revpicommander/revpicommander.py
|
||||||
|
|
||||||
FORMS = include/ui_dev/aclmanager.ui \
|
FORMS = ui_dev/aclmanager.ui \
|
||||||
include/ui_dev/avahisearch.ui \
|
ui_dev/avahisearch.ui \
|
||||||
include/ui_dev/debugcontrol.ui \
|
ui_dev/debugcontrol.ui \
|
||||||
include/ui_dev/debugios.ui \
|
ui_dev/debugios.ui \
|
||||||
include/ui_dev/files.ui \
|
ui_dev/files.ui \
|
||||||
include/ui_dev/mqttmanager.ui \
|
ui_dev/mqttmanager.ui \
|
||||||
include/ui_dev/revpiinfo.ui \
|
ui_dev/revpiinfo.ui \
|
||||||
include/ui_dev/revpilogfile.ui \
|
ui_dev/revpilogfile.ui \
|
||||||
include/ui_dev/revpioption.ui \
|
ui_dev/revpioption.ui \
|
||||||
include/ui_dev/revpiplclist.ui \
|
ui_dev/revpiplclist.ui \
|
||||||
include/ui_dev/revpiprogram.ui \
|
ui_dev/revpiprogram.ui \
|
||||||
include/ui_dev/simulator.ui \
|
ui_dev/simulator.ui \
|
||||||
include/ui_dev/revpicommander.ui
|
ui_dev/revpicommander.ui
|
||||||
|
|
||||||
TRANSLATIONS = revpicommander/locale/revpicommander_de.ts
|
TRANSLATIONS = src/revpicommander/locale/revpicommander_de.ts
|
||||||
|
|
||||||
CODECRORTR = UTF-8
|
CODECRORTR = UTF-8
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Reference in new issue
Block a user