refactor: Improve GUI text and translations

Signed-off-by: Sven Sager <s.sager@kunbus.com>
This commit is contained in:
Eva-Maria Zanger
2026-07-22 11:29:11 +02:00
committed by Sven Sager
parent f08ea8ebc6
commit 6504fe962b
49 changed files with 1490 additions and 1461 deletions
+10 -10
View File
@@ -57,10 +57,10 @@ class AclManager(QtWidgets.QDialog, Ui_diag_aclmanager):
self.__mrk_message_shown += 1 self.__mrk_message_shown += 1
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"There are errors in the ACL list!\nCheck the ALC levels of the " "ACL list contains errors.\nCheck rows highlighted in red. "
"red lines in the table. The ACL levels or ip addresses are " "The ACL levels or IP addresses are invalid. "
"invalid. If you save this dialog again, we will remove the " "If you save this dialog, invalid entries will be "
"wrong entries automatically." "removed automatically."
) )
) )
return True return True
@@ -97,7 +97,7 @@ class AclManager(QtWidgets.QDialog, Ui_diag_aclmanager):
if self._changes_done(): if self._changes_done():
ask = QtWidgets.QMessageBox.question( ask = QtWidgets.QMessageBox.question(
self, self.tr("Question"), self.tr( self, self.tr("Question"), self.tr(
"Do you really want to quit? \nUnsaved changes will be lost" "Quit without saving?\nUnsaved changes will be lost."
) )
) == QtWidgets.QMessageBox.Yes ) == QtWidgets.QMessageBox.Yes
@@ -126,7 +126,7 @@ class AclManager(QtWidgets.QDialog, Ui_diag_aclmanager):
while self.tb_acls.rowCount() > 0: while self.tb_acls.rowCount() > 0:
self.tb_acls.removeRow(0) self.tb_acls.removeRow(0)
self.cbb_level.clear() self.cbb_level.clear()
self.cbb_level.addItem(self.tr("Select..."), -1) self.cbb_level.addItem(self.tr("Select"), -1)
self.lbl_level_info.clear() self.lbl_level_info.clear()
self.__re_ipacl = compile( self.__re_ipacl = compile(
@@ -186,9 +186,9 @@ class AclManager(QtWidgets.QDialog, Ui_diag_aclmanager):
has_error = False has_error = False
tool_tip = "" tool_tip = ""
else: else:
brush = QtGui.QBrush(QtGui.QColor("red")) brush = QtGui.QBrush(QtGui.QColor("#CC6666"))
has_error = True has_error = True
tool_tip = self.tr("This entry has an invalid ACL level or wrong IP format!") tool_tip = self.tr("Invalid ACL level or IP address format.")
for row in range(self.tb_acls.rowCount()): for row in range(self.tb_acls.rowCount()):
item_0 = self.tb_acls.item(row, 0) item_0 = self.tb_acls.item(row, 0)
@@ -370,8 +370,8 @@ class AclManager(QtWidgets.QDialog, Ui_diag_aclmanager):
else: else:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Can not save new ACL entry! Check format of ip address " "Cannot save ACL entry. Check IP address format "
"and acl level is in value list." "and ACL level."
) )
) )
+1 -1
View File
@@ -167,7 +167,7 @@ class AvahiSearch(QtWidgets.QDialog, Ui_diag_search):
return None return None
settings = RevPiSettings() settings = RevPiSettings()
settings.folder = self.tr("Auto discovered") settings.folder = self.tr("Automatically discovered")
settings.name = item.data(WidgetData.host_name) settings.name = item.data(WidgetData.host_name)
settings.address = item.data(WidgetData.address) settings.address = item.data(WidgetData.address)
settings.port = item.data(WidgetData.port) settings.port = item.data(WidgetData.port)
+1 -1
View File
@@ -20,7 +20,7 @@ class BackgroundWorker(QtCore.QThread):
def __init__(self, parent=None, interruption_text: str = None): def __init__(self, parent=None, interruption_text: str = None):
super().__init__(parent) super().__init__(parent)
self._interruption_text = interruption_text or self.tr("User requested cancellation...") self._interruption_text = interruption_text or self.tr("Cancellation requested")
def check_cancel(self) -> bool: def check_cancel(self) -> bool:
""" """
+5 -5
View File
@@ -135,7 +135,7 @@ class DebugControl(QtWidgets.QWidget, Ui_wid_debugcontrol):
self.cbx_refresh.setChecked(False) self.cbx_refresh.setChecked(False)
for win in self.dict_windows.values(): # type: DebugIos for win in self.dict_windows.values(): # type: DebugIos
win.stat_bar.showMessage( win.stat_bar.showMessage(
self.tr("Driver reset for piControl detected."), self.tr("piControl driver reset detected"),
10000 10000
) )
self.reload_devices() self.reload_devices()
@@ -175,7 +175,7 @@ class DebugControl(QtWidgets.QWidget, Ui_wid_debugcontrol):
for win in self.dict_windows.values(): # type: DebugIos for win in self.dict_windows.values(): # type: DebugIos
win.stat_bar.setStyleSheet("background-color: red;") win.stat_bar.setStyleSheet("background-color: red;")
win.stat_bar.showMessage(self.tr( win.stat_bar.showMessage(self.tr(
"Error while getting values from Revolution Pi." "Error while getting values from RevPi"
), 5000) ), 5000)
return return
@@ -229,9 +229,9 @@ class DebugControl(QtWidgets.QWidget, Ui_wid_debugcontrol):
win.set_value(io[0], value_procimg) win.set_value(io[0], value_procimg)
if self.cbx_refresh.isChecked(): if self.cbx_refresh.isChecked():
win.stat_bar.showMessage(self.tr("Auto update values..."), 1000) win.stat_bar.showMessage(self.tr("Updating values"), 1000)
else: else:
win.stat_bar.showMessage(self.tr("Values updated..."), 2000) win.stat_bar.showMessage(self.tr("Values updated"), 2000)
if self.driver_reset_detected: if self.driver_reset_detected:
# Show values, which we can recover to empty process image # Show values, which we can recover to empty process image
@@ -269,7 +269,7 @@ class DebugControl(QtWidgets.QWidget, Ui_wid_debugcontrol):
# Create error message # Create error message
device_name = self.dict_devices[lst_result[0]] device_name = self.dict_devices[lst_result[0]]
str_errmsg += self.tr( str_errmsg += self.tr(
"Error set value of device '{0}' Output '{1}': {2}\n" "Error setting value for device '{0}', output '{1}': {2}\n"
).format(device_name, lst_result[1], lst_result[3]) ).format(device_name, lst_result[1], lst_result[3])
else: else:
self.dict_windows[lst_result[0]].reset_change_value_colors(lst_result[1]) self.dict_windows[lst_result[0]].reset_change_value_colors(lst_result[1])
+10 -10
View File
@@ -266,12 +266,12 @@ class DebugIos(QtWidgets.QMainWindow, Ui_win_debugios):
switching_cycles = helper.cm.call_remote_function( switching_cycles = helper.cm.call_remote_function(
"ps_switching_cycles", "ps_switching_cycles",
sender.objectName(), sender.objectName(),
default_value=self.tr("Can not display"), default_value=self.tr("Cannot display"),
) )
if type(switching_cycles) is not list: if type(switching_cycles) is not list:
switching_cycles = [switching_cycles] switching_cycles = [switching_cycles]
for i in range(len(switching_cycles)): for i in range(len(switching_cycles)):
relais_counter = self.tr(" Relais {0}").format(i + 1) relais_counter = self.tr(" Relay {0}").format(i + 1)
if len(switching_cycles) == 1: if len(switching_cycles) == 1:
relais_counter = "" relais_counter = ""
men.addAction( men.addAction(
@@ -284,29 +284,29 @@ class DebugIos(QtWidgets.QMainWindow, Ui_win_debugios):
if sender.property("byte_length") > 4: if sender.property("byte_length") > 4:
# Textbox needs format buttons # Textbox needs format buttons
act_as_text = QtWidgets.QAction(self.tr("as text")) act_as_text = QtWidgets.QAction(self.tr("As text"))
men.addAction(act_as_text) men.addAction(act_as_text)
act_as_number = QtWidgets.QAction(self.tr("as number")) act_as_number = QtWidgets.QAction(self.tr("As number"))
men.addAction(act_as_number) men.addAction(act_as_number)
men.addSeparator() men.addSeparator()
else: else:
act_as_text = None act_as_text = None
act_as_number = None act_as_number = None
act_signed = QtWidgets.QAction(self.tr("signed"), men) act_signed = QtWidgets.QAction(self.tr("Signed"), men)
act_signed.setCheckable(True) act_signed.setCheckable(True)
act_signed.setChecked(sender.property("signed") or False) act_signed.setChecked(sender.property("signed") or False)
if sender.property("bit_address") == -1: if sender.property("bit_address") == -1:
men.addAction(act_signed) men.addAction(act_signed)
act_byteorder = QtWidgets.QAction(self.tr("big_endian"), men) act_byteorder = QtWidgets.QAction(self.tr("Big-endian"), men)
act_byteorder.setCheckable(True) act_byteorder.setCheckable(True)
act_byteorder.setChecked(sender.property("big_endian") or False) act_byteorder.setChecked(sender.property("big_endian") or False)
if sender.property("bit_address") == -1: if sender.property("bit_address") == -1:
men.addAction(act_byteorder) men.addAction(act_byteorder)
if sender.property("byte_length") > 2: if sender.property("byte_length") > 2:
act_wordorder = QtWidgets.QAction(self.tr("switch wordorder")) act_wordorder = QtWidgets.QAction(self.tr("Swap word order"))
act_wordorder.setCheckable(True) act_wordorder.setCheckable(True)
act_wordorder.setChecked(sender.property("word_order") == "big") act_wordorder.setChecked(sender.property("word_order") == "big")
men.addAction(act_wordorder) men.addAction(act_wordorder)
@@ -338,7 +338,7 @@ class DebugIos(QtWidgets.QMainWindow, Ui_win_debugios):
helper.cm.call_remote_function("ps_reset_counter", sender.objectName(), raise_exception=True) helper.cm.call_remote_function("ps_reset_counter", sender.objectName(), raise_exception=True)
except Exception as e: except Exception as e:
log.error(e) log.error(e)
QtWidgets.QMessageBox.critical(self, self.tr("Error"), self.tr("Could not reset the counter value")) QtWidgets.QMessageBox.critical(self, self.tr("Error"), self.tr("Cannot reset counter value."))
if sender.property("frm"): if sender.property("frm"):
sender.setProperty("frm", "{0}{1}".format( sender.setProperty("frm", "{0}{1}".format(
@@ -451,8 +451,8 @@ class DebugIos(QtWidgets.QMainWindow, Ui_win_debugios):
except UnicodeDecodeError: except UnicodeDecodeError:
child.setProperty("struct_type", "number") child.setProperty("struct_type", "number")
QtWidgets.QMessageBox.warning( QtWidgets.QMessageBox.warning(
self, self.tr("Can not use format text"), self.tr( self, self.tr("Cannot use text format."), self.tr(
"Can not convert bytes {0} to a text for IO '{1}'. Switch to number format instead!" "Cannot convert bytes {0} to text for I/O '{1}'. Switch to number format instead."
).format(value, io_name) ).format(value, io_name)
) )
if child.property("struct_type") == "number": if child.property("struct_type") == "number":
+24 -24
View File
@@ -372,7 +372,7 @@ class ConnectionManager(QtCore.QThread):
self._clear_settings() self._clear_settings()
self.connect_error.emit( self.connect_error.emit(
self.tr("Error"), self.tr( self.tr("Error"), self.tr(
"Could not establish a SSH connection to server:\n\n{0}" "Cannot connect to SSH server:\n\n{0}"
).format(str(e)), ).format(str(e)),
ConnectionFail.SSH_CONNECT, ConnectionFail.SSH_CONNECT,
revpi_settings, revpi_settings,
@@ -398,11 +398,11 @@ class ConnectionManager(QtCore.QThread):
if revpi_settings.ssh_use_tunnel: if revpi_settings.ssh_use_tunnel:
self.connect_error.emit( self.connect_error.emit(
self.tr("Error"), self.tr( self.tr("Error"), self.tr(
"Can not connect to RevPiPyLoad service through SSH tunnel!\n\n" "Cannot connect to RevPiPyLoad service through SSH tunnel.\n\n"
"This could have the following reasons:\n" "Possible reasons:\n"
"- The RevPiPyLoad service is not running (activate it on your Revolution Pi)\n" "- RevPiPyLoad service is not running. Activate service on your RevPi.\n"
"- The RevPiPyLoad XML-RPC service is NOT bind to localhost\n" "- RevPiPyLoad XML-RPC service is not bound to localhost.\n"
"- The ACL permission is not set for 127.0.0.1!!!" "- ACL permission is not set for 127.0.0.1."
), ),
ConnectionFail.NO_XML_RPC_VIA_TUNNEL, ConnectionFail.NO_XML_RPC_VIA_TUNNEL,
revpi_settings, revpi_settings,
@@ -410,14 +410,14 @@ class ConnectionManager(QtCore.QThread):
else: else:
self.connect_error.emit( self.connect_error.emit(
self.tr("Error"), self.tr( self.tr("Error"), self.tr(
"Can not connect to RevPiPyLoad XML-RPC service! \n\n" "Cannot connect to RevPiPyLoad XML-RPC service.\n\n"
"This could have the following reasons:\n" "Possible reasons:\n"
"- The Revolution Pi is not online\n" "- RevPi is offline.\n"
"- The RevPiPyLoad service is not running (activate it on your Revolution Pi)\n" "- RevPiPyLoad service is not running. Activate service on your RevPi.\n"
"- The RevPiPyLoad XML-RPC service is bind to localhost, only\n" "- RevPiPyLoad XML-RPC service is bound to localhost only.\n"
"- The ACL permission is not set for your IP!!!\n\n" "- The ACL permission is not set for your IP.\n\n"
"Use 'Connect via SSH' to use an encrypted connection or run " "Use 'Connect via SSH' to use encrypted connection or run "
"'sudo revpipyload_secure_installation' on Revolution Pi to setup direct remote access!" "'sudo revpipyload_secure_installation' on RevPi to set up direct remote access."
), ),
ConnectionFail.NO_XML_RPC, ConnectionFail.NO_XML_RPC,
revpi_settings, revpi_settings,
@@ -546,10 +546,10 @@ class ConnectionManager(QtCore.QThread):
if self._revpi is not None: if self._revpi is not None:
sp = None sp = None
self.status_changed.emit(self.tr("SIMULATING"), "yellow") self.status_changed.emit(self.tr("Simulating"), "#E3DE48")
elif self._cli is None: elif self._cli is None:
sp = None sp = None
self.status_changed.emit(self.tr("NOT CONNECTED"), "lightblue") self.status_changed.emit(self.tr("Not connected"), "lightblue")
elif not self._cli_connect.empty(): elif not self._cli_connect.empty():
# Get new connection information to create object in this thread # Get new connection information to create object in this thread
item = self._cli_connect.get() item = self._cli_connect.get()
@@ -566,7 +566,7 @@ class ConnectionManager(QtCore.QThread):
log.warning(e) log.warning(e)
except Exception as e: except Exception as e:
log.warning(e) log.warning(e)
self.status_changed.emit(self.tr("SERVER ERROR"), "red") self.status_changed.emit(self.tr("Server error"), "#CC6666")
self._has_error = True self._has_error = True
self.connection_error_observed.emit("{0} | {1}".format(e, type(e))) self.connection_error_observed.emit("{0} | {1}".format(e, type(e)))
@@ -596,19 +596,19 @@ class ConnectionManager(QtCore.QThread):
self.connection_recovered.emit() self.connection_recovered.emit()
if plc_exit_code == -1: if plc_exit_code == -1:
self.status_changed.emit(self.tr("RUNNING"), "green") self.status_changed.emit(self.tr("Running"), "green")
elif plc_exit_code == -2: elif plc_exit_code == -2:
self.status_changed.emit(self.tr("PLC FILE NOT FOUND"), "red") self.status_changed.emit(self.tr("PLC file not found"), "#CC6666")
elif plc_exit_code == -3: elif plc_exit_code == -3:
self.status_changed.emit(self.tr("NOT RUNNING (NO STATUS)"), "yellow") self.status_changed.emit(self.tr("Not running (no status)"), "#E3DE48")
elif plc_exit_code == -9: elif plc_exit_code == -9:
self.status_changed.emit(self.tr("PROGRAM KILLED"), "red") self.status_changed.emit(self.tr("Program killed"), "#CC6666")
elif plc_exit_code == -15: elif plc_exit_code == -15:
self.status_changed.emit(self.tr("PROGRAM TERMED"), "red") self.status_changed.emit(self.tr("Program terminated"), "#CC6666")
elif plc_exit_code == 0: elif plc_exit_code == 0:
self.status_changed.emit(self.tr("NOT RUNNING"), "yellow") self.status_changed.emit(self.tr("Not running"), "#E3DE48")
else: else:
self.status_changed.emit(self.tr("FINISHED WITH CODE {0}").format(plc_exit_code), "yellow") self.status_changed.emit(self.tr("Finished with exit code {0}").format(plc_exit_code), "#E3DE48")
self.msleep(self._cycle_time) self.msleep(self._cycle_time)
Binary file not shown.
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -81,7 +81,7 @@ class MqttManager(QtWidgets.QDialog, Ui_diag_mqtt):
if self._changesdone(): if self._changesdone():
ask = QtWidgets.QMessageBox.question( ask = QtWidgets.QMessageBox.question(
self, self.tr("Question"), self.tr( self, self.tr("Question"), self.tr(
"Do you really want to quit? \nUnsaved changes will be lost." "Quit without saving?\nUnsaved changes will be lost."
) )
) == QtWidgets.QMessageBox.Yes ) == QtWidgets.QMessageBox.Yes
if ask: if ask:
@@ -94,7 +94,7 @@ class MqttManager(QtWidgets.QDialog, Ui_diag_mqtt):
if not self._load_settings(): if not self._load_settings():
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Can not load the MQTT settings dialog. Missing values!" "Cannot load the MQTT settings dialog. Missing values."
) )
) )
return QtWidgets.QDialog.Rejected return QtWidgets.QDialog.Rejected
+38 -39
View File
@@ -142,9 +142,9 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
# If RevPiPyLoad is not running, we can try to activate it via ssh # If RevPiPyLoad is not running, we can try to activate it via ssh
QtWidgets.QMessageBox.information( QtWidgets.QMessageBox.information(
self, self.tr("Information"), self.tr( self, self.tr("Information"), self.tr(
"Can not connect to RevPiPyLoad service through SSH tunnel!\n\n" "Cannot connect to the RevPiPyLoad service through the SSH tunnel.\n\n"
"We are trying to activate this service now and reconnect. The settings can be " "Service activation and reconnection in progress. The settings can be "
"changed at any time via 'webstatus'." "changed at any time via Cockpit."
), ),
) )
revpi_settings.ssh_enable_revpipyload = True revpi_settings.ssh_enable_revpipyload = True
@@ -259,9 +259,9 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
diag_connecting = BackgroundWaiter( diag_connecting = BackgroundWaiter(
revpi_settings.timeout, revpi_settings.timeout,
self.tr("Establish a connection to the Revolution Pi..."), self.tr("Connecting to RevPi"),
self, self,
self.tr("Revolution Pi connected!"), self.tr("Connected to RevPi"),
) )
helper.cm.connection_established.connect(diag_connecting.requestInterruption) helper.cm.connection_established.connect(diag_connecting.requestInterruption)
@@ -294,7 +294,7 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
th_connecting.finished.connect(diag_connecting.requestInterruption) th_connecting.finished.connect(diag_connecting.requestInterruption)
th_connecting.start() th_connecting.start()
diag_connecting.exec_dialog(self.tr("Connecting..."), False) diag_connecting.exec_dialog(self.tr("Connecting"), False)
@QtCore.pyqtSlot() @QtCore.pyqtSlot()
def on_act_connections_triggered(self): def on_act_connections_triggered(self):
@@ -328,18 +328,18 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
if helper.cm.pyload_simulate(configrsc_file, procimg_file, diag.clean_procimg): if helper.cm.pyload_simulate(configrsc_file, procimg_file, diag.clean_procimg):
QtWidgets.QMessageBox.information( QtWidgets.QMessageBox.information(
self, self.tr("Simulator started..."), self.tr( self, self.tr("Simulator started"), self.tr(
"The simulator is running!\n\nYou can work with this simulator if your call " "Simulator is running.\n\nUse the additional "
"RevPiModIO with this additional parameters:\nprocimg={0}\nconfigrsc={1}\n\n" "RevPiModIO parameters:\nprocimg={0}\nconfigrsc={1}\n\n"
"You can copy that from header textbox." "from the header text box."
).format(procimg_file, configrsc_file) ).format(procimg_file, configrsc_file)
) )
else: else:
log.error("Can not start simulator") log.error("Can not start simulator")
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Can not start..."), self.tr( self, self.tr("Cannot start"), self.tr(
"Can not start the simulator! Maybe the piCtory file is corrupt " "Cannot start the simulator. The PiCtory file might be invalid "
"or you have no write permissions for '{0}'." "or you do not have write permissions for '{0}'."
).format(procimg_file) ).format(procimg_file)
) )
@@ -354,8 +354,8 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
if "load_plclog" not in helper.cm.xml_funcs: if "load_plclog" not in helper.cm.xml_funcs:
QtWidgets.QMessageBox.warning( QtWidgets.QMessageBox.warning(
self, self.tr("Warning"), self.tr( self, self.tr("Warning"), self.tr(
"This version of Logviewer ist not supported in version {0} " "This version of Log Viewer is not supported in version {0} "
"of RevPiPyLoad on your RevPi! You need at least version 0.4.1." "of RevPiPyLoad on your RevPi. At least version 0.4.1 is required."
).format(helper.cm.call_remote_function("version", default_value="-")) ).format(helper.cm.call_remote_function("version", default_value="-"))
) )
return None return None
@@ -375,7 +375,7 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
QtWidgets.QMessageBox.warning( QtWidgets.QMessageBox.warning(
self, self.tr("Warning"), self.tr( self, self.tr("Warning"), self.tr(
"XML-RPC access mode in the RevPiPyLoad " "XML-RPC access mode in the RevPiPyLoad "
"configuration is too small to access this dialog!" "configuration is too low to access this dialog."
) )
) )
return return
@@ -384,9 +384,9 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
if helper.cm.pyload_version < (0, 6, 0): if helper.cm.pyload_version < (0, 6, 0):
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"The Version of RevPiPyLoad on your Revolution Pi ({0}) is to old. " "The version of RevPiPyLoad on your RevPi ({0}) is too old. "
"This Version of RevPiCommander require at least version 0.6.0 " "This version of RevPi Commander requires at least version 0.6.0 "
"of RevPiPyLoad. Please update your Revolution Pi!" "of RevPiPyLoad. Update your RevPi."
) )
) )
return return
@@ -405,7 +405,7 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
QtWidgets.QMessageBox.warning( QtWidgets.QMessageBox.warning(
self, self.tr("Warning"), self.tr( self, self.tr("Warning"), self.tr(
"XML-RPC access mode in the RevPiPyLoad " "XML-RPC access mode in the RevPiPyLoad "
"configuration is too small to access this dialog!" "configuration is too low to access this dialog."
) )
) )
return return
@@ -414,7 +414,7 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
@QtCore.pyqtSlot() @QtCore.pyqtSlot()
def on_act_developer_triggered(self): def on_act_developer_triggered(self):
"""Extent developer mode to main window.""" """Extend developer mode to main window."""
if not helper.cm.connected: if not helper.cm.connected:
return return
@@ -437,10 +437,10 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
ask = QtWidgets.QMessageBox.question( ask = QtWidgets.QMessageBox.question(
self, self.tr("Question"), self.tr( self, self.tr("Question"), self.tr(
"Are you sure to reset piControl?\n" "Are you sure you want to reset piControl?\n"
"The pictory configuration will be reloaded. During that time " "The PiCtory configuration will be reloaded. During that time, "
"the process image will be interrupted and could rise errors " "the process image will be interrupted and could cause errors "
"on running control programs!" "on running control programs."
) )
) )
if ask != QtWidgets.QMessageBox.Yes: if ask != QtWidgets.QMessageBox.Yes:
@@ -450,14 +450,14 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
if ec == 0: if ec == 0:
QtWidgets.QMessageBox.information( QtWidgets.QMessageBox.information(
self, self.tr("Success"), self.tr( self, self.tr("Success"), self.tr(
"piControl reset executed successfully" "piControl reset completed successfully."
) )
) )
else: else:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"piControl reset could not be executed successfully" "piControl reset could not be completed."
) )
) )
@@ -474,7 +474,7 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
@QtCore.pyqtSlot() @QtCore.pyqtSlot()
def on_act_webpage_triggered(self): def on_act_webpage_triggered(self):
"""Open project page in default browser of operating system.""" """Open project page in default browser of operating system."""
webbrowser.open("https://revpimodio.org") webbrowser.open("https://revpimodio2.readthedocs.io/en/latest/")
@QtCore.pyqtSlot() @QtCore.pyqtSlot()
def on_act_info_triggered(self): def on_act_info_triggered(self):
@@ -504,13 +504,13 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
"""Restart plc program on revolution pi.""" """Restart plc program on revolution pi."""
if helper.cm.simulating: if helper.cm.simulating:
rc = QtWidgets.QMessageBox.question( rc = QtWidgets.QMessageBox.question(
self, self.tr("Reset to piCtory defaults..."), self.tr( self, self.tr("Reset to PiCtory defaults"), self.tr(
"Do you want to reset your process image to {0} values?\n" "Do you want to reset your process image to {0} values?\n"
"You have to stop other RevPiModIO programs before doing that, " "You have to stop other RevPiModIO programs before doing that, "
"because they could reset the outputs." "because they could reset the outputs."
).format( ).format(
self.tr("zero") if helper.settings.value("simulator/restart_zero", False, bool) self.tr("zero") if helper.settings.value("simulator/restart_zero", False, bool)
else self.tr("piCtory default")) else self.tr("PiCtory defaults"))
) == QtWidgets.QMessageBox.Yes ) == QtWidgets.QMessageBox.Yes
if rc: if rc:
# Set piCtory default values in process image # Set piCtory default values in process image
@@ -531,10 +531,10 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
elif "psstart" not in helper.cm.xml_funcs: elif "psstart" not in helper.cm.xml_funcs:
QtWidgets.QMessageBox.warning( QtWidgets.QMessageBox.warning(
self, self.tr("Warning"), self.tr( self, self.tr("Warning"), self.tr(
"The watch mode ist not supported in version {0} " "The watch mode is not supported in version {0} "
"of RevPiPyLoad on your RevPi! You need at least version " "of RevPiPyLoad on your RevPi. At least version 0.5.3 "
"0.5.3! Maybe the python3-revpimodio2 module is not " "is required. The python3-revpimodio2 module may be missing "
"installed on your RevPi at least version 2.0.0." "or older than version 2.0.0."
).format(helper.cm.call_remote_function("version", "-")) ).format(helper.cm.call_remote_function("version", "-"))
) )
self.btn_plc_debug.setChecked(False) self.btn_plc_debug.setChecked(False)
@@ -543,8 +543,8 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
elif helper.cm.xml_mode < 1 and not helper.cm.simulating: elif helper.cm.xml_mode < 1 and not helper.cm.simulating:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Can not load this function, because your ACL level is to low!\n" "Cannot load this function, because your ACL level is too low.\n"
"You need at least level 1 to read or level 3 to write." "At least level 1 to read or level 3 to write is required."
) )
) )
self.btn_plc_debug.setChecked(False) self.btn_plc_debug.setChecked(False)
@@ -558,9 +558,8 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander):
debugcontrol.deleteLater() debugcontrol.deleteLater()
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Can not load piCtory configuration. \n" "Cannot load PiCtory configuration.\n"
"Did you create a hardware configuration? " "Check hardware configuration in PiCtory."
"Please check this in piCtory!"
) )
) )
self.btn_plc_debug.setChecked(False) self.btn_plc_debug.setChecked(False)
+30 -30
View File
@@ -84,7 +84,7 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
self.dc_settings = {} self.dc_settings = {}
self.tree_files_counter = 0 self.tree_files_counter = 0
self.tree_files_counter_max = 10000 self.tree_files_counter_max = 10000
self.lbl_path_local.setText(helper.cm.settings.watch_path or self.tr("Please select...")) self.lbl_path_local.setText(helper.cm.settings.watch_path or self.tr("Select"))
self.lbl_path_local.setToolTip(self.lbl_path_local.text()) self.lbl_path_local.setToolTip(self.lbl_path_local.text())
self.btn_all.setEnabled(False) self.btn_all.setEnabled(False)
@@ -120,13 +120,13 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
if stop_restart and helper.cm.call_remote_function("plcstop") is None: if stop_restart and helper.cm.call_remote_function("plcstop") is None:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Can not stop plc program on Revolution Pi." "Cannot stop PLC program on RevPi."
) )
) )
return return
uploader = UploadFiles(self.file_list_local(), self) uploader = UploadFiles(self.file_list_local(), self)
if uploader.exec_dialog(self.tr("File transfer...")) == QtWidgets.QDialog.Rejected: if uploader.exec_dialog(self.tr("File transfer")) == QtWidgets.QDialog.Rejected:
return return
if uploader.ec == 0: if uploader.ec == 0:
@@ -134,7 +134,7 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
if not uploader.plc_program_included: if not uploader.plc_program_included:
QtWidgets.QMessageBox.information( QtWidgets.QMessageBox.information(
self, self.tr("Information"), self.tr( self, self.tr("Information"), self.tr(
"A PLC program has been uploaded. Please check the " "A PLC program has been uploaded. Check the "
"PLC program settings to see if the correct program " "PLC program settings to see if the correct program "
"is specified as the start program." "is specified as the start program."
) )
@@ -143,7 +143,7 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
elif uploader.ec == -1: elif uploader.ec == -1:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"The Revolution Pi could not process some parts of the " "RevPi cannot process some parts of the "
"transmission." "transmission."
) )
) )
@@ -151,13 +151,13 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
elif uploader.ec == -2: elif uploader.ec == -2:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self, self.tr("Error"),
self.tr("Errors occurred during transmission") self.tr("Errors occurred during transmission.")
) )
if stop_restart and helper.cm.call_remote_function("plcstart", default_value=1) != 0: if stop_restart and helper.cm.call_remote_function("plcstart", default_value=1) != 0:
QtWidgets.QMessageBox.warning( QtWidgets.QMessageBox.warning(
self, self.tr("Warning"), self.tr( self, self.tr("Warning"), self.tr(
"Could not start the plc program on Revolution Pi." "Cannot start the PLC program on RevPi."
) )
) )
@@ -169,7 +169,7 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
if "set_plcprogram" in helper.cm.xml_funcs: if "set_plcprogram" in helper.cm.xml_funcs:
self.btn_mark_plcprogram.setEnabled(False) self.btn_mark_plcprogram.setEnabled(False)
self.btn_mark_plcprogram.setToolTip(self.tr( self.btn_mark_plcprogram.setToolTip(self.tr(
"Set as start file" "Set as start program."
)) ))
if len(self.tree_files_revpi.selectedItems()) == 1: if len(self.tree_files_revpi.selectedItems()) == 1:
item = self.tree_files_revpi.selectedItems()[0] item = self.tree_files_revpi.selectedItems()[0]
@@ -177,7 +177,7 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
else: else:
self.btn_mark_plcprogram.setEnabled(False) self.btn_mark_plcprogram.setEnabled(False)
self.btn_mark_plcprogram.setToolTip(self.tr( self.btn_mark_plcprogram.setToolTip(self.tr(
"Upgrade your Revolution Pi! This function needs at least 'revpipyload' 0.11.0" "Upgrade your RevPi. This function needs at least 'revpipyload' 0.11.0."
)) ))
self.btn_all.setEnabled(state_local) self.btn_all.setEnabled(state_local)
@@ -186,17 +186,17 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
if "plcdeletefile" not in helper.cm.xml_funcs: if "plcdeletefile" not in helper.cm.xml_funcs:
self.btn_delete_revpi.setEnabled(False) self.btn_delete_revpi.setEnabled(False)
self.btn_delete_revpi.setToolTip(self.tr( self.btn_delete_revpi.setToolTip(self.tr(
"Upgrade your Revolution Pi! This function needs at least 'revpipyload' 0.9.5" "Upgrade your RevPi. This function needs at least 'revpipyload' 0.9.5."
)) ))
else: else:
self.btn_delete_revpi.setEnabled(state_revpi) self.btn_delete_revpi.setEnabled(state_revpi)
self.btn_delete_revpi.setToolTip(self.tr( self.btn_delete_revpi.setToolTip(self.tr(
"Deletes selected files immediately on the Revolution Pi" "Deletes selected files immediately on RevPi."
)) ))
if "plcdownload_file" not in helper.cm.xml_funcs: if "plcdownload_file" not in helper.cm.xml_funcs:
self.btn_to_left.setEnabled(False) self.btn_to_left.setEnabled(False)
self.btn_to_left.setToolTip(self.tr( self.btn_to_left.setToolTip(self.tr(
"Upgrade your Revolution Pi! This function needs at least 'revpipyload' 0.9.5" "Upgrade your RevPi. This function needs at least 'revpipyload' 0.9.5."
)) ))
elif not helper.cm.settings.watch_path: elif not helper.cm.settings.watch_path:
self.btn_to_left.setEnabled(False) self.btn_to_left.setEnabled(False)
@@ -275,7 +275,7 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
if not os.path.exists(base_dir): if not os.path.exists(base_dir):
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Can not open last directory '{0}'." "Cannot open last directory '{0}'."
).format(base_dir) ).format(base_dir)
) )
return return
@@ -332,7 +332,7 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
if not silent and self.tree_files_counter > self.tree_files_counter_max: if not silent and self.tree_files_counter > self.tree_files_counter_max:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Stop scanning for files, because we found more than {0} files." "Stopped scanning for files because more than {0} files were found."
).format(self.tree_files_counter_max) ).format(self.tree_files_counter_max)
) )
@@ -373,7 +373,7 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
lst_revpi = helper.cm.call_remote_function("get_filelist") lst_revpi = helper.cm.call_remote_function("get_filelist")
self.dc_settings = helper.cm.call_remote_function("get_config", default_value={}) self.dc_settings = helper.cm.call_remote_function("get_config", default_value={})
self.lbl_path_revpi.setText( self.lbl_path_revpi.setText(
self.dc_settings.get("plcworkdir", self.tr("Could not load path of working dir")) self.dc_settings.get("plcworkdir", self.tr("Cannot load the working directory path."))
) )
self.lbl_path_revpi.setToolTip(self.lbl_path_revpi.text()) self.lbl_path_revpi.setToolTip(self.lbl_path_revpi.text())
@@ -439,7 +439,7 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
elif not silent: elif not silent:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Can not load file list from Revolution Pi." "Cannot load file list from RevPi."
) )
) )
@@ -470,7 +470,7 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
log.debug("RevPiFiles.on_btn_select_clicked") log.debug("RevPiFiles.on_btn_select_clicked")
diag_folder = QtWidgets.QFileDialog( diag_folder = QtWidgets.QFileDialog(
self, self.tr("Select folder..."), self, self.tr("Select folder"),
helper.cm.settings.watch_path, helper.cm.settings.watch_path,
) )
diag_folder.setFileMode(QtWidgets.QFileDialog.DirectoryOnly) diag_folder.setFileMode(QtWidgets.QFileDialog.DirectoryOnly)
@@ -482,7 +482,7 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
if not os.access(selected_dir, os.R_OK): if not os.access(selected_dir, os.R_OK):
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Can not access the folder '{0}' to read files." "Cannot access the folder '{0}' to read files."
) )
) )
helper.cm.settings.watch_files = [] helper.cm.settings.watch_files = []
@@ -531,17 +531,17 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
rc = rc.data rc = rc.data
if not rc: if not rc:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error..."), self.tr( self, self.tr("Error"), self.tr(
"Error while download file '{0}'." "Error while downloading file '{0}'."
).format(file_name) ).format(file_name)
) )
else: else:
file_name = os.path.join(helper.cm.settings.watch_path, file_name) file_name = os.path.join(helper.cm.settings.watch_path, file_name)
if override is None and os.path.exists(file_name): if override is None and os.path.exists(file_name):
rc_diag = QtWidgets.QMessageBox.question( rc_diag = QtWidgets.QMessageBox.question(
self, self.tr("Override files..."), self.tr( self, self.tr("Overwrite files"), self.tr(
"One or more files does exist on your computer! Do you want to override the existing" "One or more files already exist on your computer. Do you want to overwrite the existing "
"files?\n\nSelect 'Yes' to override, 'No' to download only missing files." "files?\n\nSelect 'Yes' to overwrite, 'No' to download only missing files."
), ),
buttons=QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No | QtWidgets.QMessageBox.Cancel buttons=QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No | QtWidgets.QMessageBox.Cancel
) )
@@ -571,8 +571,8 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
lst_delete.append(item.data(0, WidgetData.file_name)) lst_delete.append(item.data(0, WidgetData.file_name))
rc = QtWidgets.QMessageBox.question( rc = QtWidgets.QMessageBox.question(
self, self.tr("Delete files from Revolution Pi..."), self.tr( self, self.tr("Delete files from RevPi"), self.tr(
"Do you want to delete {0} files from revolution pi?" "Do you want to delete {0} files from RevPi?"
).format(len(lst_delete)) ).format(len(lst_delete))
) )
if rc != QtWidgets.QMessageBox.Yes: if rc != QtWidgets.QMessageBox.Yes:
@@ -582,8 +582,8 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
rc = helper.cm.call_remote_function("plcdeletefile", file_name, default_value=False) rc = helper.cm.call_remote_function("plcdeletefile", file_name, default_value=False)
if not rc: if not rc:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error..."), self.tr( self, self.tr("Error"), self.tr(
"Error while delete file '{0}'." "Error while deleting file '{0}'."
).format(file_name) ).format(file_name)
) )
@@ -601,9 +601,9 @@ class RevPiFiles(QtWidgets.QMainWindow, Ui_win_files):
if saved is None: if saved is None:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"The settings could not be saved on the Revolution Pi!\n" "Cannot save settings on RevPi.\n"
"Try to save the values one mor time and check the log " "Try saving the values one more time and check the "
"files of RevPiPyLoad if the error rises again." "RevPiPyLoad log files if the error occurs again."
) )
) )
+1 -1
View File
@@ -44,7 +44,7 @@ class RevPiInfo(QtWidgets.QDialog, Ui_diag_revpiinfo):
elif helper.cm.connected: elif helper.cm.connected:
lst = helper.cm.call_remote_function( lst = helper.cm.call_remote_function(
"get_filelist", "get_filelist",
default_value=[self.tr("Can not load file list")] default_value=[self.tr("Cannot load file list.")]
) )
else: else:
lst = [self.tr("Not connected")] lst = [self.tr("Not connected")]
+1 -1
View File
@@ -207,7 +207,7 @@ class RevPiLogfile(QtWidgets.QMainWindow, Ui_win_revpilogfile):
if not success: if not success:
textwidget.clear() textwidget.clear()
textwidget.setPlainText(self.tr("Can not access log file on the RevPi")) textwidget.setPlainText(self.tr("Cannot access log file on RevPi."))
elif text != "": elif text != "":
# Function will add \n automatically # Function will add \n automatically
textwidget.appendPlainText(text.strip("\n")) textwidget.appendPlainText(text.strip("\n"))
+16 -16
View File
@@ -187,7 +187,7 @@ class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
ask = QtWidgets.QMessageBox.question( ask = QtWidgets.QMessageBox.question(
self, self.tr("Question"), self.tr( self, self.tr("Question"), self.tr(
"The settings will be set on the Revolution Pi now.\n\n" "Applying settings on RevPi.\n\n"
"ACL changes and service settings are applied immediately." "ACL changes and service settings are applied immediately."
) )
) == QtWidgets.QMessageBox.Yes ) == QtWidgets.QMessageBox.Yes
@@ -234,9 +234,9 @@ class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
else: else:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"The settings could not be saved on the Revolution Pi!\n" "Cannot save settings on RevPi\n"
"Try to save the values one mor time and check the log " "Try saving the values one more time and check the "
"files of RevPiPyLoad if the error rises again." "RevPiPyLoad log files if the error occurs again."
) )
) )
@@ -244,7 +244,7 @@ class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
if self._changesdone(): if self._changesdone():
ask = QtWidgets.QMessageBox.question( ask = QtWidgets.QMessageBox.question(
self, self.tr("Question"), self.tr( self, self.tr("Question"), self.tr(
"Do you really want to quit? \nUnsaved changes will be lost." "Quit without saving?\nUnsaved changes will be lost."
) )
) == QtWidgets.QMessageBox.Yes ) == QtWidgets.QMessageBox.Yes
@@ -273,7 +273,7 @@ class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
default_value=False default_value=False
) )
self.lbl_server_status.setText( self.lbl_server_status.setText(
self.tr("running") if running else self.tr("stopped") self.tr("Running") if running else self.tr("Stopped")
) )
self.lbl_server_status.setStyleSheet( self.lbl_server_status.setStyleSheet(
"color: green" if running else "color: red" "color: green" if running else "color: red"
@@ -292,7 +292,7 @@ class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
self.cbx_mqtt.setToolTip("") self.cbx_mqtt.setToolTip("")
self.btn_mqtt.setVisible(True) self.btn_mqtt.setVisible(True)
self.lbl_mqtt_status.setText( self.lbl_mqtt_status.setText(
self.tr("running") if running else self.tr("stopped") self.tr("Running") if running else self.tr("Stopped")
) )
self.lbl_mqtt_status.setStyleSheet( self.lbl_mqtt_status.setStyleSheet(
"color: green" if running else "color: red" "color: green" if running else "color: red"
@@ -323,8 +323,8 @@ class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
def on_btn_aclplcserver_clicked(self): def on_btn_aclplcserver_clicked(self):
"""Start ACL manager to edit ACL entries.""" """Start ACL manager to edit ACL entries."""
self.diag_aclmanager.setup_acl_manager(self.acl_plcserver, { self.diag_aclmanager.setup_acl_manager(self.acl_plcserver, {
0: self.tr("read only"), 0: self.tr("Read-only"),
1: self.tr("read and write"), 1: self.tr("Read/write"),
}) })
self.diag_aclmanager.read_only = helper.cm.xml_mode < 4 self.diag_aclmanager.read_only = helper.cm.xml_mode < 4
if self.diag_aclmanager.exec() == QtWidgets.QDialog.Accepted: if self.diag_aclmanager.exec() == QtWidgets.QDialog.Accepted:
@@ -345,8 +345,8 @@ class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
self.mrk_xml_ask = QtWidgets.QMessageBox.question( self.mrk_xml_ask = QtWidgets.QMessageBox.question(
self, self.tr("Question"), self.tr( self, self.tr("Question"), self.tr(
"Are you sure you want to deactivate the XML-RPC server? " "Are you sure you want to deactivate the XML-RPC server? "
"You will NOT be able to access the Revolution Pi with " "RevPi will no longer be accessible from "
"this program after saving the options!" "this program after saving settings."
) )
) == QtWidgets.QMessageBox.No ) == QtWidgets.QMessageBox.No
if self.mrk_xml_ask: if self.mrk_xml_ask:
@@ -355,11 +355,11 @@ class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
@QtCore.pyqtSlot() @QtCore.pyqtSlot()
def on_btn_aclxmlrpc_clicked(self): def on_btn_aclxmlrpc_clicked(self):
self.diag_aclmanager.setup_acl_manager(self.acl_xmlrpc, { self.diag_aclmanager.setup_acl_manager(self.acl_xmlrpc, {
0: self.tr("Start/Stop PLC program and read logs"), 0: self.tr("Start/stop PLC program and read log files"),
1: self.tr("+ read IOs in watch mode"), 1: self.tr("+ Read I/Os in watch mode"),
2: self.tr("+ read properties and download PLC program"), 2: self.tr("+ Read properties and download PLC program"),
3: self.tr("+ upload PLC program"), 3: self.tr("+ Upload PLC program"),
4: self.tr("+ set properties") 4: self.tr("+ Set properties")
}) })
self.diag_aclmanager.read_only = helper.cm.xml_mode < 4 self.diag_aclmanager.read_only = helper.cm.xml_mode < 4
if self.diag_aclmanager.exec() == QtWidgets.QDialog.Accepted: if self.diag_aclmanager.exec() == QtWidgets.QDialog.Accepted:
+3 -3
View File
@@ -134,7 +134,7 @@ class RevPiPlcList(QtWidgets.QDialog, Ui_diag_connections):
if self.changes: if self.changes:
ask = QtWidgets.QMessageBox.question( ask = QtWidgets.QMessageBox.question(
self, self.tr("Question"), self.tr( self, self.tr("Question"), self.tr(
"Do you really want to quit? \nUnsaved changes will be lost." "Quit without saving?\nUnsaved changes will be lost."
) )
) == QtWidgets.QMessageBox.Yes ) == QtWidgets.QMessageBox.Yes
@@ -303,8 +303,8 @@ class RevPiPlcList(QtWidgets.QDialog, Ui_diag_connections):
if item_to_remove.childCount(): if item_to_remove.childCount():
rc = QtWidgets.QMessageBox.question( rc = QtWidgets.QMessageBox.question(
self, self.tr("Question"), self.tr( self, self.tr("Question"), self.tr(
"If you remote this folder, all containing elements will be removed, too. \n\n" "If you remove this folder, all contained items will be removed as well.\n\n"
"Do you want to delete folder and all elements?" "Do you want to delete the folder and all contained items?"
), ),
) )
if rc != QtWidgets.QMessageBox.Yes: if rc != QtWidgets.QMessageBox.Yes:
+52 -52
View File
@@ -105,7 +105,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
if self.cbb_plcprogram.currentText() == "": if self.cbb_plcprogram.currentText() == "":
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"You have to select a start program, before uploading the " "You must select a start program before uploading the "
"settings." "settings."
) )
) )
@@ -113,9 +113,9 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
ask = QtWidgets.QMessageBox.question( ask = QtWidgets.QMessageBox.question(
self, self.tr("Question"), self.tr( self, self.tr("Question"), self.tr(
"The settings will be set on the Revolution Pi now.\n\n" "Saving settings on RevPi.\n\n"
"If you made changes on the 'PCL Program' section, your plc " "If you made changes in the 'PLC Program' section, your PLC "
"program will restart now!" "program will be restarted."
) )
) == QtWidgets.QMessageBox.Yes ) == QtWidgets.QMessageBox.Yes
@@ -137,9 +137,9 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
else: else:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"The settings could not be saved on the Revolution Pi!\n" "Cannot save settings on RevPi.\n"
"Try to save the values one mor time and check the log " "Try saving the values one more time and check the "
"files of RevPiPyLoad if the error rises again." "RevPiPyLoad log files if the error occurs again."
) )
) )
@@ -147,7 +147,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
if self._changesdone(): if self._changesdone():
ask = QtWidgets.QMessageBox.question( ask = QtWidgets.QMessageBox.question(
self, self.tr("Question"), self.tr( self, self.tr("Question"), self.tr(
"Do you really want to quit? \nUnsaved changes will be lost." "Quit without saving?\nUnsaved changes will be lost."
) )
) == QtWidgets.QMessageBox.Yes ) == QtWidgets.QMessageBox.Yes
@@ -186,10 +186,10 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
fh.close() fh.close()
ask = QtWidgets.QMessageBox.question( ask = QtWidgets.QMessageBox.question(
self, self.tr("Reset driver..."), self.tr( self, self.tr("Reset driver"), self.tr(
"Reset piControl driver after successful uploading new piCtory " "Reset piControl driver after successfully uploading the new PiCtory "
"configuration?\nThe process image will be interrupted for a " "configuration?\nThe process image will be interrupted for a "
"short time!" "short time."
), QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No | QtWidgets.QMessageBox.Cancel ), QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No | QtWidgets.QMessageBox.Cancel
) )
if ask == QtWidgets.QMessageBox.Cancel: if ask == QtWidgets.QMessageBox.Cancel:
@@ -202,8 +202,8 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
if ec is None: if ec is None:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Got an network error while send data to Revolution Pi.\n" "Network error while sending data to RevPi.\n"
"Please try again." "Try again."
) )
) )
elif ec == 0: elif ec == 0:
@@ -211,7 +211,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
if ask == QtWidgets.QMessageBox.Yes: if ask == QtWidgets.QMessageBox.Yes:
QtWidgets.QMessageBox.information( QtWidgets.QMessageBox.information(
self, self.tr("Success"), self.tr( self, self.tr("Success"), self.tr(
"The transfer of the piCtory configuration " "The transfer of the PiCtory configuration "
"and the reset of piControl have been " "and the reset of piControl have been "
"successfully executed." "successfully executed."
), ),
@@ -219,47 +219,47 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
else: else:
QtWidgets.QMessageBox.information( QtWidgets.QMessageBox.information(
self, self.tr("Success"), self.tr( self, self.tr("Success"), self.tr(
"The piCtory configuration was successfully transferred." "The PiCtory configuration was successfully transferred."
) )
) )
elif ec == -1: elif ec == -1:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Can not process the transferred file." "Cannot process the transferred file."
) )
) )
elif ec == -2: elif ec == -2:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Can not find main elements in piCtory file." "Cannot find main elements in PiCtory file."
) )
) )
elif ec == -4: elif ec == -4:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Contained devices could not be found on Revolution " "Cannot find contained devices on RevPi.\n"
"Pi. The configuration may be from a newer piCtory version!" "The configuration may be from a newer PiCtory version."
) )
) )
elif ec == -5: elif ec == -5:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Could not load RAP catalog on Revolution Pi." "Cannot load RAP catalog on RevPi."
) )
) )
elif ec < 0: elif ec < 0:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"The piCtory configuration could not be " "Cannot write PiCtory configuration "
"written on the Revolution Pi." "on RevPi."
) )
) )
elif ec > 0: elif ec > 0:
QtWidgets.QMessageBox.warning( QtWidgets.QMessageBox.warning(
self, self.tr("Warning"), self.tr( self, self.tr("Warning"), self.tr(
"The piCtroy configuration has been saved successfully.\n" "The PiCtory configuration has been saved successfully.\n"
"An error occurred on piControl reset!" "An error occurred on piControl reset."
) )
) )
@@ -321,7 +321,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
if self.cbb_format.currentIndex() == 0: if self.cbb_format.currentIndex() == 0:
# Save files as zip archive # Save files as zip archive
diag_save = QtWidgets.QFileDialog( diag_save = QtWidgets.QFileDialog(
self, self.tr("Save ZIP archive..."), self, self.tr("Save ZIP archive"),
helper.cm.settings.last_zip_file or "{0}.zip".format(helper.cm.settings.name), helper.cm.settings.last_zip_file or "{0}.zip".format(helper.cm.settings.name),
self.tr("ZIP archive (*.zip);;All files (*.*)") self.tr("ZIP archive (*.zip);;All files (*.*)")
) )
@@ -339,7 +339,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
elif self.cbb_format.currentIndex() == 1: elif self.cbb_format.currentIndex() == 1:
# Save files as TarGz archive # Save files as TarGz archive
diag_save = QtWidgets.QFileDialog( diag_save = QtWidgets.QFileDialog(
self, self.tr("Save TGZ archive..."), self, self.tr("Save TGZ archive"),
helper.cm.settings.last_tar_file or "{0}.tgz".format(helper.cm.settings.name), helper.cm.settings.last_tar_file or "{0}.tgz".format(helper.cm.settings.name),
self.tr("TGZ archive (*.tgz);;All files (*.*)") self.tr("TGZ archive (*.tgz);;All files (*.*)")
) )
@@ -367,7 +367,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
if plcfile is None: if plcfile is None:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Could not load PLC program from Revolution Pi." "Cannot load PLC program from RevPi."
) )
) )
@@ -380,8 +380,8 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
log.error(e) log.error(e)
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Coud not save the archive or extract the files!\n" "Cannot save the archive or extract the files.\n"
"Please retry.") "Try again.")
) )
else: else:
QtWidgets.QMessageBox.information( QtWidgets.QMessageBox.information(
@@ -411,7 +411,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
if self.cbb_format.currentIndex() == 0: if self.cbb_format.currentIndex() == 0:
# Upload zip archive content # Upload zip archive content
diag_open = QtWidgets.QFileDialog( diag_open = QtWidgets.QFileDialog(
self, self.tr("Upload content of ZIP archive..."), self, self.tr("Upload content of ZIP archive"),
helper.cm.settings.last_file_upload, helper.cm.settings.last_file_upload,
self.tr("ZIP archive (*.zip);;All files (*.*)") self.tr("ZIP archive (*.zip);;All files (*.*)")
) )
@@ -437,7 +437,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
else: else:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"The selected file ist not a ZIP archive." "The selected file is not a ZIP archive."
) )
) )
return return
@@ -445,7 +445,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
elif self.cbb_format.currentIndex() == 1: elif self.cbb_format.currentIndex() == 1:
# Upload TarGz content # Upload TarGz content
diag_open = QtWidgets.QFileDialog( diag_open = QtWidgets.QFileDialog(
self, self.tr("Upload content of TAR archive..."), self, self.tr("Upload content of TAR archive"),
helper.cm.settings.last_file_upload, helper.cm.settings.last_file_upload,
self.tr("TAR archive (*.tgz);;All files (*.*)") self.tr("TAR archive (*.tgz);;All files (*.*)")
) )
@@ -471,7 +471,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
else: else:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"The selected file ist not a TAR archive." "The selected file is not a TAR archive."
) )
) )
return return
@@ -479,8 +479,8 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
# No files selected # No files selected
if len(lst_files) == 0: if len(lst_files) == 0:
QtWidgets.QMessageBox.warning( QtWidgets.QMessageBox.warning(
self, self.tr("No files to upload..."), self.tr( self, self.tr("No files to upload"), self.tr(
"Found no files to upload in given location or archive." "No files found in the selected location or archive."
) )
) )
remove_temp() remove_temp()
@@ -491,8 +491,8 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
if self.cbx_clear.isChecked() and not clean_revpi: if self.cbx_clear.isChecked() and not clean_revpi:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"There was an error deleting the files on the Revolution Pi.\n" "Cannot delete files on RevPi.\n"
"Upload aborted! Please try again." "Upload aborted. Try again."
) )
) )
remove_temp() remove_temp()
@@ -545,10 +545,10 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
if plc_program_not_in_upload: if plc_program_not_in_upload:
QtWidgets.QMessageBox.warning( QtWidgets.QMessageBox.warning(
self, self.tr("Information"), self.tr( self, self.tr("Information"), self.tr(
"Could not find the selected PLC start program in " "Cannot find the selected PLC start program in "
"uploaded files.\nThis is not an error, if the file " "the uploaded files.\nThis is not an error if the file "
"was already on the Revolution Pi. Check PLC start " "already exists on RevPi. Check the PLC start program "
"program field" "field."
) )
) )
@@ -558,14 +558,14 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
else: else:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"There is no piCtory configuration in this archive." "There is no PiCtory configuration in this archive."
) )
) )
elif ec == -1: elif ec == -1:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"The Revolution Pi could not process some parts of the transmission." "RevPi cannot process some parts of the transmission."
) )
) )
@@ -590,12 +590,12 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
return return
diag_save = QtWidgets.QFileDialog( diag_save = QtWidgets.QFileDialog(
self, self.tr("Save piCtory file..."), self, self.tr("Save PiCtory file"),
os.path.join( os.path.join(
helper.cm.settings.last_dir_pictory, helper.cm.settings.last_dir_pictory,
"{0}.rsc".format(helper.cm.settings.name) "{0}.rsc".format(helper.cm.settings.name)
), ),
self.tr("piCtory file (*.rsc);;All files (*.*)") self.tr("PiCtory file (*.rsc);;All files (*.*)")
) )
diag_save.setAcceptMode(QtWidgets.QFileDialog.AcceptSave) diag_save.setAcceptMode(QtWidgets.QFileDialog.AcceptSave)
diag_save.setDefaultSuffix("rsc") diag_save.setDefaultSuffix("rsc")
@@ -610,7 +610,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
if bin_buffer is None: if bin_buffer is None:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Could not load piCtory file from Revolution Pi." "Cannot load PiCtory file from RevPi."
) )
) )
else: else:
@@ -620,7 +620,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
QtWidgets.QMessageBox.information( QtWidgets.QMessageBox.information(
self, self.tr("Success"), self.tr( self, self.tr("Success"), self.tr(
"piCtory configuration successfully loaded and saved to:\n{0}." "PiCtory configuration saved to:\n{0}."
).format(filename) ).format(filename)
) )
@@ -630,9 +630,9 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
return return
diag_open = QtWidgets.QFileDialog( diag_open = QtWidgets.QFileDialog(
self, self.tr("Upload piCtory file..."), self, self.tr("Upload PiCtory file"),
helper.cm.settings.last_pictory_file or "{0}.rsc".format(helper.cm.settings.name), helper.cm.settings.last_pictory_file or "{0}.rsc".format(helper.cm.settings.name),
self.tr("piCtory file (*.rsc);;All files (*.*)") self.tr("PiCtory file (*.rsc);;All files (*.*)")
) )
diag_open.setAcceptMode(QtWidgets.QFileDialog.AcceptOpen) diag_open.setAcceptMode(QtWidgets.QFileDialog.AcceptOpen)
diag_open.setFileMode(QtWidgets.QFileDialog.ExistingFile) diag_open.setFileMode(QtWidgets.QFileDialog.ExistingFile)
@@ -652,7 +652,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
diag_save = QtWidgets.QFileDialog( diag_save = QtWidgets.QFileDialog(
self, self,
self.tr("Save piControl file..."), self.tr("Save piControl file"),
os.path.join( os.path.join(
helper.cm.settings.last_dir_picontrol, helper.cm.settings.last_dir_picontrol,
"{0}.img".format(helper.cm.settings.name) "{0}.img".format(helper.cm.settings.name)
@@ -673,7 +673,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
if bin_buffer is None: if bin_buffer is None:
QtWidgets.QMessageBox.critical( QtWidgets.QMessageBox.critical(
self, self.tr("Error"), self.tr( self, self.tr("Error"), self.tr(
"Could not load process image from Revolution Pi." "Cannot load process image from RevPi."
) )
) )
else: else:
@@ -683,7 +683,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
QtWidgets.QMessageBox.information( QtWidgets.QMessageBox.information(
self, self.tr("Success"), self.tr( self, self.tr("Success"), self.tr(
"Process image successfully loaded and saved to:\n{0}." "Process image saved to:\n{0}."
).format(filename) ).format(filename)
) )
+2 -2
View File
@@ -77,9 +77,9 @@ class Simulator(QtWidgets.QDialog, Ui_diag_simulator):
@QtCore.pyqtSlot() @QtCore.pyqtSlot()
def on_btn_configrsc_clicked(self) -> None: def on_btn_configrsc_clicked(self) -> None:
diag_open = QtWidgets.QFileDialog( diag_open = QtWidgets.QFileDialog(
self, self.tr("Select downloaded piCtory file..."), self, self.tr("Select downloaded PiCtory file"),
helper.settings.value("simulator/last_dir", ".", str), helper.settings.value("simulator/last_dir", ".", str),
self.tr("piCtory file (*.rsc);;All files (*.*)") self.tr("PiCtory file (*.rsc);;All files (*.*)")
) )
diag_open.setAcceptMode(QtWidgets.QFileDialog.AcceptOpen) diag_open.setAcceptMode(QtWidgets.QFileDialog.AcceptOpen)
diag_open.setFileMode(QtWidgets.QFileDialog.ExistingFile) diag_open.setFileMode(QtWidgets.QFileDialog.ExistingFile)
+4 -4
View File
@@ -49,11 +49,11 @@ class SSHAuth(QtWidgets.QDialog, Ui_diag_sshauth):
log.error(e) log.error(e)
self._in_keyring = False self._in_keyring = False
QtWidgets.QMessageBox.warning( QtWidgets.QMessageBox.warning(
self, self.tr("Could not save password"), self.tr( self, self.tr("Cannot save password"), self.tr(
"Could not save password to operating systems password save.\n\n" "Cannot save password to operating system's password store.\n\n"
"Maybe your operating system does not support saving passwords. " "The operating system may not support saving passwords. "
"This could be due to missing libraries or programs.\n\n" "This could be due to missing libraries or programs.\n\n"
"This is not an error of RevPi Commander." "This is not a RevPi Commander error."
) )
) )
else: else:
+4 -4
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -137,15 +137,15 @@ class Ui_diag_aclmanager(object):
def retranslateUi(self, diag_aclmanager): def retranslateUi(self, diag_aclmanager):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
diag_aclmanager.setWindowTitle(_translate("diag_aclmanager", "IP access control list")) diag_aclmanager.setWindowTitle(_translate("diag_aclmanager", "IP Access Control List"))
self.gb_acls.setTitle(_translate("diag_aclmanager", "Existing ACLs")) self.gb_acls.setTitle(_translate("diag_aclmanager", "Existing ACLs"))
item = self.tb_acls.horizontalHeaderItem(0) item = self.tb_acls.horizontalHeaderItem(0)
item.setText(_translate("diag_aclmanager", "IP Address")) item.setText(_translate("diag_aclmanager", "IP address"))
item = self.tb_acls.horizontalHeaderItem(1) item = self.tb_acls.horizontalHeaderItem(1)
item.setText(_translate("diag_aclmanager", "Access Level")) item.setText(_translate("diag_aclmanager", "Access Level"))
self.btn_edit.setText(_translate("diag_aclmanager", "&Edit")) self.btn_edit.setText(_translate("diag_aclmanager", "&Edit"))
self.btn_remove.setText(_translate("diag_aclmanager", "&Remove")) self.btn_remove.setText(_translate("diag_aclmanager", "&Remove"))
self.gb_edit.setTitle(_translate("diag_aclmanager", "Add / Edit access entry")) self.gb_edit.setTitle(_translate("diag_aclmanager", "Add/Edit Access Entry"))
self.btn_clear.setText(_translate("diag_aclmanager", "Clear fields")) self.btn_clear.setText(_translate("diag_aclmanager", "Clear fields"))
self.btn_add.setText(_translate("diag_aclmanager", "&Save entry")) self.btn_add.setText(_translate("diag_aclmanager", "&Save entry"))
self.lbl_ip.setText(_translate("diag_aclmanager", "IP address:")) self.lbl_ip.setText(_translate("diag_aclmanager", "IP address:"))
+9 -9
View File
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'avahisearch.ui' # Form implementation generated from reading ui file 'avahisearch.ui'
# #
# Created by: PyQt5 UI code generator 5.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -84,25 +84,25 @@ class Ui_diag_search(object):
def retranslateUi(self, diag_search): def retranslateUi(self, diag_search):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
diag_search.setWindowTitle(_translate("diag_search", "Search Revolution Pi devices")) diag_search.setWindowTitle(_translate("diag_search", "RevPi device search"))
self.lbl_search.setText(_translate("diag_search", "Searching for Revolution Pi devices in your network...")) self.lbl_search.setText(_translate("diag_search", "Searching for RevPi devices on the network"))
self.btn_restart.setToolTip(_translate("diag_search", "Restart search")) self.btn_restart.setToolTip(_translate("diag_search", "Restart search"))
self.tb_revpi.setSortingEnabled(True) self.tb_revpi.setSortingEnabled(True)
item = self.tb_revpi.horizontalHeaderItem(0) item = self.tb_revpi.horizontalHeaderItem(0)
item.setText(_translate("diag_search", "Zero-conf name")) item.setText(_translate("diag_search", "ZeroConf name"))
item = self.tb_revpi.horizontalHeaderItem(1) item = self.tb_revpi.horizontalHeaderItem(1)
item.setText(_translate("diag_search", "IP address")) item.setText(_translate("diag_search", "IP address"))
self.btn_connect.setText(_translate("diag_search", "&Connect to Revolution Pi")) self.btn_connect.setText(_translate("diag_search", "&Connect to RevPi"))
self.btn_save.setText(_translate("diag_search", "&Save connection")) self.btn_save.setText(_translate("diag_search", "&Save connection"))
self.act_copy_host.setText(_translate("diag_search", "Copy host name")) self.act_copy_host.setText(_translate("diag_search", "Copy host name"))
self.act_copy_ip.setText(_translate("diag_search", "Copy IP address")) self.act_copy_ip.setText(_translate("diag_search", "Copy IP address"))
self.act_open_pictory.setText(_translate("diag_search", "Open piCtory")) self.act_open_pictory.setText(_translate("diag_search", "Open PiCtory"))
self.act_connect_ssh.setText(_translate("diag_search", "Connect via SSH (recommended)")) self.act_connect_ssh.setText(_translate("diag_search", "Connect via SSH (recommended)"))
self.act_connect_ssh.setToolTip(_translate("diag_search", "Establish a connection via encrypted SSH tunnel")) self.act_connect_ssh.setToolTip(_translate("diag_search", "Connect via an encrypted SSH tunnel."))
self.act_connect_xmlrpc.setText(_translate("diag_search", "Connect via XML-RPC")) self.act_connect_xmlrpc.setText(_translate("diag_search", "Connect via XML-RPC"))
self.act_connect_xmlrpc.setToolTip(_translate("diag_search", "You have to configure your Revolution Pi to accept this connections")) self.act_connect_xmlrpc.setToolTip(_translate("diag_search", "Enable these connections on RevPi."))
self.act_connect.setText(_translate("diag_search", "Connect")) self.act_connect.setText(_translate("diag_search", "Connect"))
self.act_connect.setToolTip(_translate("diag_search", "Connect to Revoluton Pi")) self.act_connect.setToolTip(_translate("diag_search", "Connect to RevPi"))
from . import ressources_rc from . import ressources_rc
+2 -2
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -19,7 +19,7 @@ class Ui_diag_backgroundworker(object):
self.verticalLayout = QtWidgets.QVBoxLayout(diag_backgroundworker) self.verticalLayout = QtWidgets.QVBoxLayout(diag_backgroundworker)
self.verticalLayout.setObjectName("verticalLayout") self.verticalLayout.setObjectName("verticalLayout")
self.lbl_status = QtWidgets.QLabel(diag_backgroundworker) self.lbl_status = QtWidgets.QLabel(diag_backgroundworker)
self.lbl_status.setText("Status message...") self.lbl_status.setText("Status message")
self.lbl_status.setObjectName("lbl_status") self.lbl_status.setObjectName("lbl_status")
self.verticalLayout.addWidget(self.lbl_status) self.verticalLayout.addWidget(self.lbl_status)
self.pgb_status = QtWidgets.QProgressBar(diag_backgroundworker) self.pgb_status = QtWidgets.QProgressBar(diag_backgroundworker)
+12 -12
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -65,21 +65,21 @@ class Ui_wid_debugcontrol(object):
def retranslateUi(self, wid_debugcontrol): def retranslateUi(self, wid_debugcontrol):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
self.gb_devices.setTitle(_translate("wid_debugcontrol", "Revolution Pi devices")) self.gb_devices.setTitle(_translate("wid_debugcontrol", "RevPi Devices"))
self.cbx_stay_on_top.setText(_translate("wid_debugcontrol", "Open to stay on top")) self.cbx_stay_on_top.setText(_translate("wid_debugcontrol", "Keep window on top"))
self.gb_control.setTitle(_translate("wid_debugcontrol", "IO Control")) self.gb_control.setTitle(_translate("wid_debugcontrol", "I/O Control"))
self.btn_read_io.setToolTip(_translate("wid_debugcontrol", "Read all IO values and discard local changes (F4)\n" self.btn_read_io.setToolTip(_translate("wid_debugcontrol", "Read all I/O values and discard local changes (F4).\n"
"\n" "\n"
"Hold this button pressed and it will refresh the IOs every 200 ms.")) "Hold this button to refresh the I/Os every 200 ms."))
self.btn_read_io.setText(_translate("wid_debugcontrol", "Read &all IO values")) self.btn_read_io.setText(_translate("wid_debugcontrol", "Read &all I/O values"))
self.btn_refresh_io.setToolTip(_translate("wid_debugcontrol", "Refresh all IO values which are locally not changed (F5)\n" self.btn_refresh_io.setToolTip(_translate("wid_debugcontrol", "Refresh all I/O values that have not been modified locally (F5).\n"
"\n" "\n"
"Hold this button pressed and it will refresh the IOs every 200 ms.")) "Hold this button to refresh the I/Os every 200 ms."))
self.btn_refresh_io.setText(_translate("wid_debugcontrol", "&Refresh unchanged IOs")) self.btn_refresh_io.setText(_translate("wid_debugcontrol", "&Refresh unchanged I/Os"))
self.btn_write_o.setToolTip(_translate("wid_debugcontrol", "Write locally changed output values to process image (F6)")) self.btn_write_o.setToolTip(_translate("wid_debugcontrol", "Write locally modified output values to process image (F6)."))
self.btn_write_o.setText(_translate("wid_debugcontrol", "&Write changed outputs")) self.btn_write_o.setText(_translate("wid_debugcontrol", "&Write changed outputs"))
self.cbx_refresh.setText(_translate("wid_debugcontrol", "&Auto refresh values")) self.cbx_refresh.setText(_translate("wid_debugcontrol", "&Auto refresh values"))
self.cbx_write.setText(_translate("wid_debugcontrol", "and write outputs")) self.cbx_write.setText(_translate("wid_debugcontrol", "Write outputs"))
if __name__ == "__main__": if __name__ == "__main__":
+1 -1
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
+5 -5
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -169,17 +169,17 @@ class Ui_win_files(object):
def retranslateUi(self, win_files): def retranslateUi(self, win_files):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
win_files.setWindowTitle(_translate("win_files", "File manager")) win_files.setWindowTitle(_translate("win_files", "File Manager"))
self.gb_select_local.setTitle(_translate("win_files", "Local computer")) self.gb_select_local.setTitle(_translate("win_files", "Local Computer"))
self.lbl_select_local.setText(_translate("win_files", "Path to development root:")) self.lbl_select_local.setText(_translate("win_files", "Path to development root:"))
self.btn_select_local.setToolTip(_translate("win_files", "Open developer root directory")) self.btn_select_local.setToolTip(_translate("win_files", "Open developer root directory"))
self.btn_refresh_local.setToolTip(_translate("win_files", "Reload file list")) self.btn_refresh_local.setToolTip(_translate("win_files", "Reload file list"))
self.tree_files_local.setSortingEnabled(True) self.tree_files_local.setSortingEnabled(True)
self.gb_select_revpi.setTitle(_translate("win_files", "Revolution Pi")) self.gb_select_revpi.setTitle(_translate("win_files", "RevPi"))
self.lbl_select_revpi.setText(_translate("win_files", "RevPiPyLoad working directory:")) self.lbl_select_revpi.setText(_translate("win_files", "RevPiPyLoad working directory:"))
self.btn_refresh_revpi.setToolTip(_translate("win_files", "Reload file list")) self.btn_refresh_revpi.setToolTip(_translate("win_files", "Reload file list"))
self.tree_files_revpi.setSortingEnabled(True) self.tree_files_revpi.setSortingEnabled(True)
self.btn_all.setText(_translate("win_files", "Stop - Upload - Start")) self.btn_all.setText(_translate("win_files", "Stop, upload, start"))
from . import ressources_rc from . import ressources_rc
+4 -4
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -126,7 +126,7 @@ class Ui_diag_mqtt(object):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
diag_mqtt.setWindowTitle(_translate("diag_mqtt", "MQTT settings")) diag_mqtt.setWindowTitle(_translate("diag_mqtt", "MQTT settings"))
self.gb_basetopic.setTitle(_translate("diag_mqtt", "Base topic")) self.gb_basetopic.setTitle(_translate("diag_mqtt", "Base topic"))
self.lbl_basetopic_description.setText(_translate("diag_mqtt", "The base topic is the first part of any mqtt topic, the Revolution Pi will publish. You can use any character includig \'/\' to structure the messages on your broker.\n" self.lbl_basetopic_description.setText(_translate("diag_mqtt", "Base topic is the prefix for MQTT topics published by RevPi. Use \"/\" to structure broker topics.\n"
"\n" "\n"
"For example: revpi0000/data")) "For example: revpi0000/data"))
self.lbl_basetopic.setText(_translate("diag_mqtt", "Base topic:")) self.lbl_basetopic.setText(_translate("diag_mqtt", "Base topic:"))
@@ -136,10 +136,10 @@ class Ui_diag_mqtt(object):
self.cbx_send_on_event.setText(_translate("diag_mqtt", "Send exported values immediately on value change")) self.cbx_send_on_event.setText(_translate("diag_mqtt", "Send exported values immediately on value change"))
self.lbl_topic_event.setText(_translate("diag_mqtt", "Topic: [basetopic]/event/[ioname]")) self.lbl_topic_event.setText(_translate("diag_mqtt", "Topic: [basetopic]/event/[ioname]"))
self.gb_write_outputs.setTitle(_translate("diag_mqtt", "Set outputs")) self.gb_write_outputs.setTitle(_translate("diag_mqtt", "Set outputs"))
self.lbl_write_outputs.setText(_translate("diag_mqtt", "The Revolution Pi will subscribe a topic on which your mqtt client can publish messages with the new io value as payload.\n" self.lbl_write_outputs.setText(_translate("diag_mqtt", "RevPi subscribes to an MQTT topic for setting output values. Publish the new I/O value as payload.\n"
"\n" "\n"
"Publish values with topic: [basetopic]/set/[outputname]")) "Publish values with topic: [basetopic]/set/[outputname]"))
self.cbx_write_outputs.setText(_translate("diag_mqtt", "Allow MQTT to to set outputs on Revolution Pi")) self.cbx_write_outputs.setText(_translate("diag_mqtt", "Allow MQTT to set outputs on RevPi"))
self.gb_broker.setTitle(_translate("diag_mqtt", "Broker settings")) self.gb_broker.setTitle(_translate("diag_mqtt", "Broker settings"))
self.lbl_broker_address.setText(_translate("diag_mqtt", "Broker address:")) self.lbl_broker_address.setText(_translate("diag_mqtt", "Broker address:"))
self.lbl_port.setText(_translate("diag_mqtt", "Broker port:")) self.lbl_port.setText(_translate("diag_mqtt", "Broker port:"))
+4 -4
View File
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'oss_licenses.ui' # Form implementation generated from reading ui file 'oss_licenses.ui'
# #
# Created by: PyQt5 UI code generator 5.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -59,14 +59,14 @@ class Ui_diag_oss_licenses(object):
def retranslateUi(self, diag_oss_licenses): def retranslateUi(self, diag_oss_licenses):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
diag_oss_licenses.setWindowTitle(_translate("diag_oss_licenses", "Open-Source licenses")) diag_oss_licenses.setWindowTitle(_translate("diag_oss_licenses", "Open source licenses"))
self.tb_oss_licenses.setSortingEnabled(True) self.tb_oss_licenses.setSortingEnabled(True)
item = self.tb_oss_licenses.horizontalHeaderItem(0) item = self.tb_oss_licenses.horizontalHeaderItem(0)
item.setText(_translate("diag_oss_licenses", "Software")) item.setText(_translate("diag_oss_licenses", "Software"))
item = self.tb_oss_licenses.horizontalHeaderItem(1) item = self.tb_oss_licenses.horizontalHeaderItem(1)
item.setText(_translate("diag_oss_licenses", "License")) item.setText(_translate("diag_oss_licenses", "License"))
self.action_start.setText(_translate("diag_oss_licenses", "More licenses...")) self.action_start.setText(_translate("diag_oss_licenses", "More licenses"))
self.action_start.setToolTip(_translate("diag_oss_licenses", "Show more open-source software licenses")) self.action_start.setToolTip(_translate("diag_oss_licenses", "Show more open source software licenses"))
if __name__ == "__main__": if __name__ == "__main__":
+6 -6
View File
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'revpicommander.ui' # Form implementation generated from reading ui file 'revpicommander.ui'
# #
# Created by: PyQt5 UI code generator 5.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -177,17 +177,17 @@ class Ui_win_revpicommander(object):
self.men_plc.setTitle(_translate("win_revpicommander", "&PLC")) self.men_plc.setTitle(_translate("win_revpicommander", "&PLC"))
self.men_connections.setTitle(_translate("win_revpicommander", "&Connections")) self.men_connections.setTitle(_translate("win_revpicommander", "&Connections"))
self.act_connections.setText(_translate("win_revpicommander", "&Connections...")) self.act_connections.setText(_translate("win_revpicommander", "&Connections..."))
self.act_search.setText(_translate("win_revpicommander", "&Search Revolution Pi...")) self.act_search.setText(_translate("win_revpicommander", "&Search RevPi..."))
self.act_quit.setText(_translate("win_revpicommander", "&Quit")) self.act_quit.setText(_translate("win_revpicommander", "&Quit"))
self.act_webpage.setText(_translate("win_revpicommander", "Visit &webpage...")) self.act_webpage.setText(_translate("win_revpicommander", "Visit &website"))
self.act_info.setText(_translate("win_revpicommander", "&Info...")) self.act_info.setText(_translate("win_revpicommander", "&Info"))
self.act_logs.setText(_translate("win_revpicommander", "PLC &logs...")) self.act_logs.setText(_translate("win_revpicommander", "PLC &logs..."))
self.act_options.setText(_translate("win_revpicommander", "PLC &options...")) self.act_options.setText(_translate("win_revpicommander", "PLC &options..."))
self.act_program.setText(_translate("win_revpicommander", "PLC progra&m...")) self.act_program.setText(_translate("win_revpicommander", "PLC progra&m..."))
self.act_developer.setText(_translate("win_revpicommander", "PLC de&veloper...")) self.act_developer.setText(_translate("win_revpicommander", "PLC de&veloper..."))
self.act_pictory.setText(_translate("win_revpicommander", "piCtory configuraiton...")) self.act_pictory.setText(_translate("win_revpicommander", "PiCtory configuration"))
self.act_disconnect.setText(_translate("win_revpicommander", "&Disconnect")) self.act_disconnect.setText(_translate("win_revpicommander", "&Disconnect"))
self.act_reset.setText(_translate("win_revpicommander", "Reset driver...")) self.act_reset.setText(_translate("win_revpicommander", "Reset driver"))
self.act_simulator.setText(_translate("win_revpicommander", "RevPi si&mulator...")) self.act_simulator.setText(_translate("win_revpicommander", "RevPi si&mulator..."))
from . import ressources_rc from . import ressources_rc
+5 -6
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -75,7 +75,7 @@ class Ui_diag_revpiinfo(object):
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 5, 0, 1, 1) self.gridLayout.addItem(spacerItem, 5, 0, 1, 1)
self.lbl_link = QtWidgets.QLabel(diag_revpiinfo) self.lbl_link = QtWidgets.QLabel(diag_revpiinfo)
self.lbl_link.setText("<html><head/><body><p><a href=\"https://revpimodio.org/\"><span style=\" text-decoration: underline; color:#0000ff;\">https://revpimodio.org/</span></a></p></body></html>") self.lbl_link.setText("<html><head/><body><p><a href=\"https://revpimodio2.readthedocs.io/en/latest/\"><span style=\" text-decoration: underline; color:#0000ff;\">https://revpimodio2.readthedocs.io/en/latest/</span></a></p></body></html>")
self.lbl_link.setOpenExternalLinks(True) self.lbl_link.setOpenExternalLinks(True)
self.lbl_link.setObjectName("lbl_link") self.lbl_link.setObjectName("lbl_link")
self.gridLayout.addWidget(self.lbl_link, 6, 0, 1, 2) self.gridLayout.addWidget(self.lbl_link, 6, 0, 1, 2)
@@ -87,13 +87,12 @@ class Ui_diag_revpiinfo(object):
def retranslateUi(self, diag_revpiinfo): def retranslateUi(self, diag_revpiinfo):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
diag_revpiinfo.setWindowTitle(_translate("diag_revpiinfo", "Program information")) diag_revpiinfo.setWindowTitle(_translate("diag_revpiinfo", "Program Information"))
self.lbl_head.setText(_translate("diag_revpiinfo", "RevPi Python PLC - Commander")) self.lbl_head.setText(_translate("diag_revpiinfo", "RevPi Commander (Python/PLC)"))
self.lbl_lbl_version_pyload.setText(_translate("diag_revpiinfo", "RevPiPyLoad version on RevPi:")) self.lbl_lbl_version_pyload.setText(_translate("diag_revpiinfo", "RevPiPyLoad version on RevPi:"))
self.lbl_lbl_version_control.setText(_translate("diag_revpiinfo", "Version:")) self.lbl_lbl_version_control.setText(_translate("diag_revpiinfo", "Version:"))
self.lbl_info.setText(_translate("diag_revpiinfo", "RevPiModIO, RevPiPyLoad and RevPiPyControl are community driven projects. They are all free and open source software.\n" self.lbl_info.setText(_translate("diag_revpiinfo", "RevPiModIO, RevPiPyLoad and RevPiPyControl are community driven projects. They are all free and open source software.\n"
"All of them comes with ABSOLUTELY NO WARRANTY, to the extent permitted by\n" "All of them come with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.\n"
"applicable law.\n"
"\n" "\n"
"(c) Sven Sager, License: GPLv2")) "(c) Sven Sager, License: GPLv2"))
+5 -5
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -79,13 +79,13 @@ class Ui_win_revpilogfile(object):
def retranslateUi(self, win_revpilogfile): def retranslateUi(self, win_revpilogfile):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
win_revpilogfile.setWindowTitle(_translate("win_revpilogfile", "RevPi Python PLC Logfiles")) win_revpilogfile.setWindowTitle(_translate("win_revpilogfile", "RevPi Python PLC Log Files"))
self.cbx_stay_on_top.setText(_translate("win_revpilogfile", "Stay on top of all windows")) self.cbx_stay_on_top.setText(_translate("win_revpilogfile", "Stay on top of all windows"))
self.cbx_wrap.setText(_translate("win_revpilogfile", "Linewrap")) self.cbx_wrap.setText(_translate("win_revpilogfile", "Line wrap"))
self.lbl_daemon.setText(_translate("win_revpilogfile", "RevPiPyLoad - Logfile")) self.lbl_daemon.setText(_translate("win_revpilogfile", "RevPiPyLoad Log File"))
self.btn_daemon.setText(_translate("win_revpilogfile", "Clear view")) self.btn_daemon.setText(_translate("win_revpilogfile", "Clear view"))
self.btn_app.setText(_translate("win_revpilogfile", "Clear view")) self.btn_app.setText(_translate("win_revpilogfile", "Clear view"))
self.lbl_app.setText(_translate("win_revpilogfile", "Python PLC program - Logfile")) self.lbl_app.setText(_translate("win_revpilogfile", "Python PLC Program Log File"))
if __name__ == "__main__": if __name__ == "__main__":
+15 -15
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -123,34 +123,34 @@ class Ui_diag_options(object):
def retranslateUi(self, diag_options): def retranslateUi(self, diag_options):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
diag_options.setWindowTitle(_translate("diag_options", "RevPi Python PLC Options")) diag_options.setWindowTitle(_translate("diag_options", "RevPi Python PLC Options"))
self.gb_plc.setTitle(_translate("diag_options", "Start / Stop behavior of PLC program")) self.gb_plc.setTitle(_translate("diag_options", "PLC Start/Stop Behavior"))
self.lbl_replace_io.setText(_translate("diag_options", "Replace IO file:")) self.lbl_replace_io.setText(_translate("diag_options", "Replace I/O file:"))
self.cbx_zeroonerror.setText(_translate("diag_options", "... after exception and errors")) self.cbx_zeroonerror.setText(_translate("diag_options", "after exceptions or errors"))
self.cbx_autostart.setText(_translate("diag_options", "Start PLC program automatically")) self.cbx_autostart.setText(_translate("diag_options", "Start PLC program automatically"))
self.cbb_reset_driver_action.setItemText(0, _translate("diag_options", "Do nothing")) self.cbb_reset_driver_action.setItemText(0, _translate("diag_options", "Do nothing"))
self.cbb_reset_driver_action.setItemText(1, _translate("diag_options", "Restart after piCtory changed")) self.cbb_reset_driver_action.setItemText(1, _translate("diag_options", "Restart after PiCtory changes"))
self.cbb_reset_driver_action.setItemText(2, _translate("diag_options", "Always restart the PLC program")) self.cbb_reset_driver_action.setItemText(2, _translate("diag_options", "Always restart the PLC program"))
self.lbl_reset_driver_action.setText(_translate("diag_options", "Driver reset action:")) self.lbl_reset_driver_action.setText(_translate("diag_options", "Driver reset action:"))
self.lbl_plc_zero.setText(_translate("diag_options", "Set process image to NULL if program terminates...")) self.lbl_plc_zero.setText(_translate("diag_options", "Set process image to NULL if the program terminates"))
self.cbb_replace_io.setItemText(0, _translate("diag_options", "Do not use replace io file")) self.cbb_replace_io.setItemText(0, _translate("diag_options", "Do not replace I/O file"))
self.cbb_replace_io.setItemText(1, _translate("diag_options", "Use static file from RevPiPyLoad")) self.cbb_replace_io.setItemText(1, _translate("diag_options", "Use static file from RevPiPyLoad"))
self.cbb_replace_io.setItemText(2, _translate("diag_options", "Use dynamic file from work directory")) self.cbb_replace_io.setItemText(2, _translate("diag_options", "Use dynamic file from work directory"))
self.cbb_replace_io.setItemText(3, _translate("diag_options", "Give own path and filename")) self.cbb_replace_io.setItemText(3, _translate("diag_options", "Use custom path and file name"))
self.cbx_zeroonexit.setText(_translate("diag_options", "... sucessfully without error")) self.cbx_zeroonexit.setText(_translate("diag_options", "without errors"))
self.lbl_plc_delay.setText(_translate("diag_options", "Restart delay in seconds:")) self.lbl_plc_delay.setText(_translate("diag_options", "Restart delay in seconds:"))
self.cbx_autoreload.setText(_translate("diag_options", "Restart PLC program after exit or crash")) self.cbx_autoreload.setText(_translate("diag_options", "Restart PLC program after exit or crash"))
self.lbl_lbl_reset_driver_action.setText(_translate("diag_options", "PLC program behavior after piCtory driver reset clicked")) self.lbl_lbl_reset_driver_action.setText(_translate("diag_options", "PLC program behavior after PiCtory driver reset"))
self.gb_server.setTitle(_translate("diag_options", "RevPiPyLoad server services")) self.gb_server.setTitle(_translate("diag_options", "RevPiPyLoad Server Services"))
self.btn_aclplcserver.setText(_translate("diag_options", "Edit ACL")) self.btn_aclplcserver.setText(_translate("diag_options", "Edit ACL"))
self.cbx_mqtt.setText(_translate("diag_options", "MQTT process image publisher")) self.cbx_mqtt.setText(_translate("diag_options", "MQTT process image publisher"))
self.cbx_plcserver.setText(_translate("diag_options", "Start RevPi piControl server")) self.cbx_plcserver.setText(_translate("diag_options", "Start piControl server"))
self.lbl_server_status.setText(_translate("diag_options", "status")) self.lbl_server_status.setText(_translate("diag_options", "status"))
self.lbl_lbl_server_status.setText(_translate("diag_options", "piControl server is:")) self.lbl_lbl_server_status.setText(_translate("diag_options", "piControl server:"))
self.lbl_mqtt_status.setText(_translate("diag_options", "status")) self.lbl_mqtt_status.setText(_translate("diag_options", "status"))
self.lbl_lbl_mqtt_status.setText(_translate("diag_options", "MQTT publish service is:")) self.lbl_lbl_mqtt_status.setText(_translate("diag_options", "MQTT publish service:"))
self.btn_mqtt.setText(_translate("diag_options", "Settings")) self.btn_mqtt.setText(_translate("diag_options", "Settings"))
self.btn_aclxmlrpc.setText(_translate("diag_options", "Edit ACL")) self.btn_aclxmlrpc.setText(_translate("diag_options", "Edit ACL"))
self.cbx_xmlrpc.setText(_translate("diag_options", "Activate XML-RPC for RevPiCommander")) self.cbx_xmlrpc.setText(_translate("diag_options", "Activate XML-RPC for RevPi Commander"))
if __name__ == "__main__": if __name__ == "__main__":
+6 -6
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -155,19 +155,19 @@ class Ui_diag_connections(object):
def retranslateUi(self, diag_connections): def retranslateUi(self, diag_connections):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
diag_connections.setWindowTitle(_translate("diag_connections", "Revolution Pi connections")) diag_connections.setWindowTitle(_translate("diag_connections", "RevPi Connections"))
self.lbl_name.setText(_translate("diag_connections", "Display name:")) self.lbl_name.setText(_translate("diag_connections", "Display name:"))
self.lbl_address.setText(_translate("diag_connections", "Address (DNS/IP):")) self.lbl_address.setText(_translate("diag_connections", "Address (DNS/IP):"))
self.lbl_port.setText(_translate("diag_connections", "Port (Default {0}):")) self.lbl_port.setText(_translate("diag_connections", "Port (default {0}):"))
self.lbl_timeout.setText(_translate("diag_connections", "Connection timeout:")) self.lbl_timeout.setText(_translate("diag_connections", "Connection timeout:"))
self.sbx_timeout.setSuffix(_translate("diag_connections", " sec.")) self.sbx_timeout.setSuffix(_translate("diag_connections", " s"))
self.lbl_folder.setText(_translate("diag_connections", "Sub folder:")) self.lbl_folder.setText(_translate("diag_connections", "Subfolder:"))
self.tab_properties.setTabText(self.tab_properties.indexOf(self.tab_connection), _translate("diag_connections", "Connection")) self.tab_properties.setTabText(self.tab_properties.indexOf(self.tab_connection), _translate("diag_connections", "Connection"))
self.lbl_ssh_use_tunnel.setText(_translate("diag_connections", "Connect over SSH tunnel:")) self.lbl_ssh_use_tunnel.setText(_translate("diag_connections", "Connect over SSH tunnel:"))
self.lbl_ssh_port.setText(_translate("diag_connections", "SSH port:")) self.lbl_ssh_port.setText(_translate("diag_connections", "SSH port:"))
self.lbl_ssh_user.setText(_translate("diag_connections", "SSH user name:")) self.lbl_ssh_user.setText(_translate("diag_connections", "SSH user name:"))
self.tab_properties.setTabText(self.tab_properties.indexOf(self.tab_ssh), _translate("diag_connections", "Over SSH")) self.tab_properties.setTabText(self.tab_properties.indexOf(self.tab_ssh), _translate("diag_connections", "Over SSH"))
self.tre_connections.headerItem().setText(0, _translate("diag_connections", "Connection name")) self.tre_connections.headerItem().setText(0, _translate("diag_connections", "Connection Name"))
self.tre_connections.headerItem().setText(1, _translate("diag_connections", "Address")) self.tre_connections.headerItem().setText(1, _translate("diag_connections", "Address"))
from . import ressources_rc from . import ressources_rc
+14 -14
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -112,27 +112,27 @@ class Ui_diag_program(object):
def retranslateUi(self, diag_program): def retranslateUi(self, diag_program):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
diag_program.setWindowTitle(_translate("diag_program", "PLC program")) diag_program.setWindowTitle(_translate("diag_program", "PLC Program"))
self.gb_plc.setTitle(_translate("diag_program", "PLC program")) self.gb_plc.setTitle(_translate("diag_program", "PLC Program"))
self.lbl_plcarguments.setText(_translate("diag_program", "Program arguments:")) self.lbl_plcarguments.setText(_translate("diag_program", "Arguments:"))
self.lbl_plcprogram_watchdog.setText(_translate("diag_program", "Software watchdog (0=disabled):")) self.lbl_plcprogram_watchdog.setText(_translate("diag_program", "Software watchdog (0 = disabled):"))
self.cbx_plcworkdir_set_uid.setText(_translate("diag_program", "Set write permissions for plc program to workdirectory")) self.cbx_plcworkdir_set_uid.setText(_translate("diag_program", "Set write permissions for PLC program working directory"))
self.lbl_plcprogram.setText(_translate("diag_program", "Python PLC start program:")) self.lbl_plcprogram.setText(_translate("diag_program", "Python PLC start program:"))
self.sbx_plcprogram_watchdog.setSuffix(_translate("diag_program", " sec.")) self.sbx_plcprogram_watchdog.setSuffix(_translate("diag_program", " s"))
self.cb_transfair.setTitle(_translate("diag_program", "Transfair PLC program")) self.cb_transfair.setTitle(_translate("diag_program", "Transfer PLC program"))
self.cbb_format.setItemText(0, _translate("diag_program", "ZIP archive")) self.cbb_format.setItemText(0, _translate("diag_program", "ZIP archive"))
self.cbb_format.setItemText(1, _translate("diag_program", "TGZ archive")) self.cbb_format.setItemText(1, _translate("diag_program", "TGZ archive"))
self.btn_program_upload.setText(_translate("diag_program", "Upload")) self.btn_program_upload.setText(_translate("diag_program", "Upload"))
self.btn_program_download.setText(_translate("diag_program", "Download")) self.btn_program_download.setText(_translate("diag_program", "Download"))
self.lbl_format.setText(_translate("diag_program", "Transfair format:")) self.lbl_format.setText(_translate("diag_program", "Transfer format:"))
self.cbx_pictory.setText(_translate("diag_program", "Including piCtory configuration")) self.cbx_pictory.setText(_translate("diag_program", "Include PiCtory configuration"))
self.cbx_clear.setText(_translate("diag_program", "Remove all files on Revolution Pi before upload")) self.cbx_clear.setText(_translate("diag_program", "Remove all files on RevPi before upload"))
self.gb_control.setTitle(_translate("diag_program", "Control files")) self.gb_control.setTitle(_translate("diag_program", "Control Files"))
self.btn_procimg_download.setText(_translate("diag_program", "Download")) self.btn_procimg_download.setText(_translate("diag_program", "Download"))
self.btn_pictory_download.setText(_translate("diag_program", "Download")) self.btn_pictory_download.setText(_translate("diag_program", "Download"))
self.btn_pictory_upload.setText(_translate("diag_program", "Upload")) self.btn_pictory_upload.setText(_translate("diag_program", "Upload"))
self.lbl_pictory.setText(_translate("diag_program", "piCtory configuraiton")) self.lbl_pictory.setText(_translate("diag_program", "PiCtory configuration"))
self.lbl_procimg.setText(_translate("diag_program", "Process image from piControl0")) self.lbl_procimg.setText(_translate("diag_program", "Process image from piControl"))
if __name__ == "__main__": if __name__ == "__main__":
+11 -11
View File
@@ -2,7 +2,7 @@
# 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.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -108,22 +108,22 @@ class Ui_diag_simulator(object):
def retranslateUi(self, diag_simulator): def retranslateUi(self, diag_simulator):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
diag_simulator.setWindowTitle(_translate("diag_simulator", "piControl simulator")) diag_simulator.setWindowTitle(_translate("diag_simulator", "piControl Simulator"))
self.gb_settings.setTitle(_translate("diag_simulator", "Simulator settings")) self.gb_settings.setTitle(_translate("diag_simulator", "Simulator Settings"))
self.lbl_history.setText(_translate("diag_simulator", "Last used:")) self.lbl_history.setText(_translate("diag_simulator", "Last used:"))
self.lbl_configrsc.setText(_translate("diag_simulator", "piCtory file:")) self.lbl_configrsc.setText(_translate("diag_simulator", "PiCtory file:"))
self.btn_configrsc.setText(_translate("diag_simulator", "select...")) self.btn_configrsc.setText(_translate("diag_simulator", "Select"))
self.lbl_procimg.setText(_translate("diag_simulator", "Process image:")) self.lbl_procimg.setText(_translate("diag_simulator", "Process image:"))
self.lbl_stop.setText(_translate("diag_simulator", "Stop action:")) self.lbl_stop.setText(_translate("diag_simulator", "Stop action:"))
self.lbl_restart.setText(_translate("diag_simulator", "Restart action:")) self.lbl_restart.setText(_translate("diag_simulator", "Restart action:"))
self.cbx_stop_remove.setText(_translate("diag_simulator", "Remove process image file")) self.cbx_stop_remove.setText(_translate("diag_simulator", "Remove process image file"))
self.rb_restart_pictory.setText(_translate("diag_simulator", "Restore piCtory default values")) self.rb_restart_pictory.setText(_translate("diag_simulator", "Restore PiCtory default values"))
self.rb_restart_zero.setText(_translate("diag_simulator", "Reset everything to ZERO")) self.rb_restart_zero.setText(_translate("diag_simulator", "Reset all values to NULL"))
self.gb_info.setTitle(_translate("diag_simulator", "RevPiModIO integration")) self.gb_info.setTitle(_translate("diag_simulator", "RevPiModIO Integration"))
self.lbl_info.setText(_translate("diag_simulator", "You can work with this simulator if you call RevPiModIO with this additional parameters:")) self.lbl_info.setText(_translate("diag_simulator", "To use this simulator, call RevPiModIO with the following additional parameters:"))
self.btn_start_pictory.setText(_translate("diag_simulator", "Start with piCtory default values")) self.btn_start_pictory.setText(_translate("diag_simulator", "Start with PiCtory default values"))
self.btn_start_empty.setText(_translate("diag_simulator", "Start with empty process image")) self.btn_start_empty.setText(_translate("diag_simulator", "Start with empty process image"))
self.btn_start_nochange.setText(_translate("diag_simulator", "Start without changing actual process image")) self.btn_start_nochange.setText(_translate("diag_simulator", "Start without changing the current process image"))
if __name__ == "__main__": if __name__ == "__main__":
+5 -5
View File
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'sshauth.ui' # Form implementation generated from reading ui file 'sshauth.ui'
# #
# Created by: PyQt5 UI code generator 5.15.9 # Created by: PyQt5 UI code generator 5.15.11
# #
# WARNING: Any manual changes made to this file will be lost when pyuic5 is # 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. # run again. Do not edit this file unless you know what you are doing.
@@ -64,11 +64,11 @@ class Ui_diag_sshauth(object):
def retranslateUi(self, diag_sshauth): def retranslateUi(self, diag_sshauth):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
diag_sshauth.setWindowTitle(_translate("diag_sshauth", "SSH authentication")) diag_sshauth.setWindowTitle(_translate("diag_sshauth", "SSH authentication"))
self.lbl_username.setText(_translate("diag_sshauth", "SSH username:")) self.lbl_username.setText(_translate("diag_sshauth", "SSH user name:"))
self.lbl_password.setText(_translate("diag_sshauth", "SSH password:")) self.lbl_password.setText(_translate("diag_sshauth", "SSH password:"))
self.cbx_save_password.setToolTip(_translate("diag_sshauth", "Username and password will be saved in secured operating systems\'s password storage.")) self.cbx_save_password.setToolTip(_translate("diag_sshauth", "Save user name and password in secure password storage."))
self.cbx_save_password.setText(_translate("diag_sshauth", "Save username and password")) self.cbx_save_password.setText(_translate("diag_sshauth", "Save user name and password"))
self.lbl_info.setText(_translate("diag_sshauth", "Note: The default user for SSH is \"pi\" which differs from the web configuration. You can find the password on the sticker on the device.")) self.lbl_info.setText(_translate("diag_sshauth", "Default SSH user is \"pi\". The device password is on the RevPi housing sticker."))
if __name__ == "__main__": if __name__ == "__main__":
+3 -3
View File
@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>IP access control list</string> <string>IP Access Control List</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
@@ -51,7 +51,7 @@
</attribute> </attribute>
<column> <column>
<property name="text"> <property name="text">
<string>IP Address</string> <string>IP address</string>
</property> </property>
</column> </column>
<column> <column>
@@ -97,7 +97,7 @@
<item> <item>
<widget class="QGroupBox" name="gb_edit"> <widget class="QGroupBox" name="gb_edit">
<property name="title"> <property name="title">
<string>Add / Edit access entry</string> <string>Add/Edit Access Entry</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="0"> <item row="1" column="0">
+8 -8
View File
@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Search Revolution Pi devices</string> <string>RevPi device search</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" colspan="2"> <item row="0" column="0" colspan="2">
@@ -19,7 +19,7 @@
<item> <item>
<widget class="QLabel" name="lbl_search"> <widget class="QLabel" name="lbl_search">
<property name="text"> <property name="text">
<string>Searching for Revolution Pi devices in your network...</string> <string>Searching for RevPi devices on the network</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -85,7 +85,7 @@
</attribute> </attribute>
<column> <column>
<property name="text"> <property name="text">
<string>Zero-conf name</string> <string>ZeroConf name</string>
</property> </property>
</column> </column>
<column> <column>
@@ -98,7 +98,7 @@
<item row="2" column="0"> <item row="2" column="0">
<widget class="QPushButton" name="btn_connect"> <widget class="QPushButton" name="btn_connect">
<property name="text"> <property name="text">
<string>&amp;Connect to Revolution Pi</string> <string>&amp;Connect to RevPi</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -132,7 +132,7 @@
</action> </action>
<action name="act_open_pictory"> <action name="act_open_pictory">
<property name="text"> <property name="text">
<string>Open piCtory</string> <string>Open PiCtory</string>
</property> </property>
</action> </action>
<action name="act_connect_ssh"> <action name="act_connect_ssh">
@@ -140,7 +140,7 @@
<string>Connect via SSH (recommended)</string> <string>Connect via SSH (recommended)</string>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>Establish a connection via encrypted SSH tunnel</string> <string>Connect via an encrypted SSH tunnel.</string>
</property> </property>
</action> </action>
<action name="act_connect_xmlrpc"> <action name="act_connect_xmlrpc">
@@ -148,7 +148,7 @@
<string>Connect via XML-RPC</string> <string>Connect via XML-RPC</string>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>You have to configure your Revolution Pi to accept this connections</string> <string>Enable these connections on RevPi.</string>
</property> </property>
</action> </action>
<action name="act_connect"> <action name="act_connect">
@@ -156,7 +156,7 @@
<string>Connect</string> <string>Connect</string>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>Connect to Revoluton Pi</string> <string>Connect to RevPi</string>
</property> </property>
</action> </action>
</widget> </widget>
+1 -1
View File
@@ -17,7 +17,7 @@
<item> <item>
<widget class="QLabel" name="lbl_status"> <widget class="QLabel" name="lbl_status">
<property name="text"> <property name="text">
<string notr="true">Status message...</string> <string notr="true">Status message</string>
</property> </property>
</widget> </widget>
</item> </item>
+11 -11
View File
@@ -32,7 +32,7 @@
<item row="0" column="0"> <item row="0" column="0">
<widget class="QGroupBox" name="gb_devices"> <widget class="QGroupBox" name="gb_devices">
<property name="title"> <property name="title">
<string>Revolution Pi devices</string> <string>RevPi Devices</string>
</property> </property>
<layout class="QVBoxLayout" name="vl_devices"/> <layout class="QVBoxLayout" name="vl_devices"/>
</widget> </widget>
@@ -40,25 +40,25 @@
<item row="1" column="0"> <item row="1" column="0">
<widget class="QCheckBox" name="cbx_stay_on_top"> <widget class="QCheckBox" name="cbx_stay_on_top">
<property name="text"> <property name="text">
<string>Open to stay on top</string> <string>Keep window on top</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1" rowspan="2"> <item row="0" column="1" rowspan="2">
<widget class="QGroupBox" name="gb_control"> <widget class="QGroupBox" name="gb_control">
<property name="title"> <property name="title">
<string>IO Control</string> <string>I/O Control</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QPushButton" name="btn_read_io"> <widget class="QPushButton" name="btn_read_io">
<property name="toolTip"> <property name="toolTip">
<string>Read all IO values and discard local changes (F4) <string>Read all I/O values and discard local changes (F4).
Hold this button pressed and it will refresh the IOs every 200 ms.</string> Hold this button to refresh the I/Os every 200 ms.</string>
</property> </property>
<property name="text"> <property name="text">
<string>Read &amp;all IO values</string> <string>Read &amp;all I/O values</string>
</property> </property>
<property name="autoRepeat"> <property name="autoRepeat">
<bool>true</bool> <bool>true</bool>
@@ -74,12 +74,12 @@ Hold this button pressed and it will refresh the IOs every 200 ms.</string>
<item> <item>
<widget class="QPushButton" name="btn_refresh_io"> <widget class="QPushButton" name="btn_refresh_io">
<property name="toolTip"> <property name="toolTip">
<string>Refresh all IO values which are locally not changed (F5) <string>Refresh all I/O values that have not been modified locally (F5).
Hold this button pressed and it will refresh the IOs every 200 ms.</string> Hold this button to refresh the I/Os every 200 ms.</string>
</property> </property>
<property name="text"> <property name="text">
<string>&amp;Refresh unchanged IOs</string> <string>&amp;Refresh unchanged I/Os</string>
</property> </property>
<property name="autoRepeat"> <property name="autoRepeat">
<bool>true</bool> <bool>true</bool>
@@ -95,7 +95,7 @@ Hold this button pressed and it will refresh the IOs every 200 ms.</string>
<item> <item>
<widget class="QPushButton" name="btn_write_o"> <widget class="QPushButton" name="btn_write_o">
<property name="toolTip"> <property name="toolTip">
<string>Write locally changed output values to process image (F6)</string> <string>Write locally modified output values to process image (F6).</string>
</property> </property>
<property name="text"> <property name="text">
<string>&amp;Write changed outputs</string> <string>&amp;Write changed outputs</string>
@@ -112,7 +112,7 @@ Hold this button pressed and it will refresh the IOs every 200 ms.</string>
<item> <item>
<widget class="QCheckBox" name="cbx_write"> <widget class="QCheckBox" name="cbx_write">
<property name="text"> <property name="text">
<string>and write outputs</string> <string>Write outputs</string>
</property> </property>
</widget> </widget>
</item> </item>
+4 -4
View File
@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>File manager</string> <string>File Manager</string>
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
@@ -28,7 +28,7 @@
<item> <item>
<widget class="QGroupBox" name="gb_select_local"> <widget class="QGroupBox" name="gb_select_local">
<property name="title"> <property name="title">
<string>Local computer</string> <string>Local Computer</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2" columnstretch="1,0,0"> <layout class="QGridLayout" name="gridLayout_2" columnstretch="1,0,0">
<item row="0" column="0"> <item row="0" column="0">
@@ -168,7 +168,7 @@
<item> <item>
<widget class="QGroupBox" name="gb_select_revpi"> <widget class="QGroupBox" name="gb_select_revpi">
<property name="title"> <property name="title">
<string>Revolution Pi</string> <string>RevPi</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_3" columnstretch="1,0"> <layout class="QGridLayout" name="gridLayout_3" columnstretch="1,0">
<item row="1" column="0" colspan="2"> <item row="1" column="0" colspan="2">
@@ -328,7 +328,7 @@
<item row="1" column="0"> <item row="1" column="0">
<widget class="QPushButton" name="btn_all"> <widget class="QPushButton" name="btn_all">
<property name="text"> <property name="text">
<string>Stop - Upload - Start</string> <string>Stop, upload, start</string>
</property> </property>
</widget> </widget>
</item> </item>
+3 -3
View File
@@ -29,7 +29,7 @@
</size> </size>
</property> </property>
<property name="text"> <property name="text">
<string>The base topic is the first part of any mqtt topic, the Revolution Pi will publish. You can use any character includig '/' to structure the messages on your broker. <string>Base topic is the prefix for MQTT topics published by RevPi. Use "/" to structure broker topics.
For example: revpi0000/data</string> For example: revpi0000/data</string>
</property> </property>
@@ -113,7 +113,7 @@ For example: revpi0000/data</string>
</size> </size>
</property> </property>
<property name="text"> <property name="text">
<string>The Revolution Pi will subscribe a topic on which your mqtt client can publish messages with the new io value as payload. <string>RevPi subscribes to an MQTT topic for setting output values. Publish the new I/O value as payload.
Publish values with topic: [basetopic]/set/[outputname]</string> Publish values with topic: [basetopic]/set/[outputname]</string>
</property> </property>
@@ -125,7 +125,7 @@ Publish values with topic: [basetopic]/set/[outputname]</string>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QCheckBox" name="cbx_write_outputs"> <widget class="QCheckBox" name="cbx_write_outputs">
<property name="text"> <property name="text">
<string>Allow MQTT to to set outputs on Revolution Pi</string> <string>Allow MQTT to set outputs on RevPi</string>
</property> </property>
</widget> </widget>
</item> </item>
+3 -3
View File
@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Open-Source licenses</string> <string>Open source licenses</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
@@ -87,10 +87,10 @@
</layout> </layout>
<action name="action_start"> <action name="action_start">
<property name="text"> <property name="text">
<string>More licenses...</string> <string>More licenses</string>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>Show more open-source software licenses</string> <string>Show more open source software licenses</string>
</property> </property>
</action> </action>
</widget> </widget>
+5 -5
View File
@@ -210,7 +210,7 @@
</action> </action>
<action name="act_search"> <action name="act_search">
<property name="text"> <property name="text">
<string>&amp;Search Revolution Pi...</string> <string>&amp;Search RevPi...</string>
</property> </property>
<property name="shortcut"> <property name="shortcut">
<string notr="true">Ctrl+F</string> <string notr="true">Ctrl+F</string>
@@ -223,12 +223,12 @@
</action> </action>
<action name="act_webpage"> <action name="act_webpage">
<property name="text"> <property name="text">
<string>Visit &amp;webpage...</string> <string>Visit &amp;website</string>
</property> </property>
</action> </action>
<action name="act_info"> <action name="act_info">
<property name="text"> <property name="text">
<string>&amp;Info...</string> <string>&amp;Info</string>
</property> </property>
</action> </action>
<action name="act_logs"> <action name="act_logs">
@@ -265,7 +265,7 @@
</action> </action>
<action name="act_pictory"> <action name="act_pictory">
<property name="text"> <property name="text">
<string>piCtory configuraiton...</string> <string>PiCtory configuration</string>
</property> </property>
</action> </action>
<action name="act_disconnect"> <action name="act_disconnect">
@@ -278,7 +278,7 @@
</action> </action>
<action name="act_reset"> <action name="act_reset">
<property name="text"> <property name="text">
<string>Reset driver...</string> <string>Reset driver</string>
</property> </property>
</action> </action>
<action name="act_simulator"> <action name="act_simulator">
+4 -5
View File
@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Program information</string> <string>Program Information</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" colspan="3"> <item row="0" column="0" colspan="3">
@@ -24,7 +24,7 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>RevPi Python PLC - Commander</string> <string>RevPi Commander (Python/PLC)</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
@@ -114,8 +114,7 @@
</property> </property>
<property name="text"> <property name="text">
<string>RevPiModIO, RevPiPyLoad and RevPiPyControl are community driven projects. They are all free and open source software. <string>RevPiModIO, RevPiPyLoad and RevPiPyControl are community driven projects. They are all free and open source software.
All of them comes with ABSOLUTELY NO WARRANTY, to the extent permitted by All of them come with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
applicable law.
(c) Sven Sager, License: GPLv2</string> (c) Sven Sager, License: GPLv2</string>
</property> </property>
@@ -140,7 +139,7 @@ applicable law.
<item row="6" column="0" colspan="2"> <item row="6" column="0" colspan="2">
<widget class="QLabel" name="lbl_link"> <widget class="QLabel" name="lbl_link">
<property name="text"> <property name="text">
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://revpimodio.org/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;https://revpimodio.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://revpimodio2.readthedocs.io/en/latest/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;https://revpimodio2.readthedocs.io/en/latest/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="openExternalLinks"> <property name="openExternalLinks">
<bool>true</bool> <bool>true</bool>
+4 -4
View File
@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>RevPi Python PLC Logfiles</string> <string>RevPi Python PLC Log Files</string>
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout_3"> <layout class="QGridLayout" name="gridLayout_3">
@@ -25,7 +25,7 @@
<item row="1" column="1"> <item row="1" column="1">
<widget class="QCheckBox" name="cbx_wrap"> <widget class="QCheckBox" name="cbx_wrap">
<property name="text"> <property name="text">
<string>Linewrap</string> <string>Line wrap</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -42,7 +42,7 @@
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="lbl_daemon"> <widget class="QLabel" name="lbl_daemon">
<property name="text"> <property name="text">
<string>RevPiPyLoad - Logfile</string> <string>RevPiPyLoad Log File</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -89,7 +89,7 @@
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="lbl_app"> <widget class="QLabel" name="lbl_app">
<property name="text"> <property name="text">
<string>Python PLC program - Logfile</string> <string>Python PLC Program Log File</string>
</property> </property>
</widget> </widget>
</item> </item>
+14 -14
View File
@@ -17,20 +17,20 @@
<item> <item>
<widget class="QGroupBox" name="gb_plc"> <widget class="QGroupBox" name="gb_plc">
<property name="title"> <property name="title">
<string>Start / Stop behavior of PLC program</string> <string>PLC Start/Stop Behavior</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="6" column="0"> <item row="6" column="0">
<widget class="QLabel" name="lbl_replace_io"> <widget class="QLabel" name="lbl_replace_io">
<property name="text"> <property name="text">
<string>Replace IO file:</string> <string>Replace I/O file:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="1" colspan="2"> <item row="5" column="1" colspan="2">
<widget class="QCheckBox" name="cbx_zeroonerror"> <widget class="QCheckBox" name="cbx_zeroonerror">
<property name="text"> <property name="text">
<string>... after exception and errors</string> <string>after exceptions or errors</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<property name="text"> <property name="text">
<string>Restart after piCtory changed</string> <string>Restart after PiCtory changes</string>
</property> </property>
</item> </item>
<item> <item>
@@ -70,7 +70,7 @@
<item row="3" column="0" colspan="3"> <item row="3" column="0" colspan="3">
<widget class="QLabel" name="lbl_plc_zero"> <widget class="QLabel" name="lbl_plc_zero">
<property name="text"> <property name="text">
<string>Set process image to NULL if program terminates...</string> <string>Set process image to NULL if the program terminates</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -78,7 +78,7 @@
<widget class="QComboBox" name="cbb_replace_io"> <widget class="QComboBox" name="cbb_replace_io">
<item> <item>
<property name="text"> <property name="text">
<string>Do not use replace io file</string> <string>Do not replace I/O file</string>
</property> </property>
</item> </item>
<item> <item>
@@ -93,7 +93,7 @@
</item> </item>
<item> <item>
<property name="text"> <property name="text">
<string>Give own path and filename</string> <string>Use custom path and file name</string>
</property> </property>
</item> </item>
</widget> </widget>
@@ -101,7 +101,7 @@
<item row="4" column="1" colspan="2"> <item row="4" column="1" colspan="2">
<widget class="QCheckBox" name="cbx_zeroonexit"> <widget class="QCheckBox" name="cbx_zeroonexit">
<property name="text"> <property name="text">
<string>... sucessfully without error</string> <string>without errors</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -135,7 +135,7 @@
<item row="9" column="0" colspan="3"> <item row="9" column="0" colspan="3">
<widget class="QLabel" name="lbl_lbl_reset_driver_action"> <widget class="QLabel" name="lbl_lbl_reset_driver_action">
<property name="text"> <property name="text">
<string>PLC program behavior after piCtory driver reset clicked</string> <string>PLC program behavior after PiCtory driver reset</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -145,7 +145,7 @@
<item> <item>
<widget class="QGroupBox" name="gb_server"> <widget class="QGroupBox" name="gb_server">
<property name="title"> <property name="title">
<string>RevPiPyLoad server services</string> <string>RevPiPyLoad Server Services</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="1"> <item row="0" column="1">
@@ -165,7 +165,7 @@
<item row="0" column="0"> <item row="0" column="0">
<widget class="QCheckBox" name="cbx_plcserver"> <widget class="QCheckBox" name="cbx_plcserver">
<property name="text"> <property name="text">
<string>Start RevPi piControl server</string> <string>Start piControl server</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -182,7 +182,7 @@
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="lbl_lbl_server_status"> <widget class="QLabel" name="lbl_lbl_server_status">
<property name="text"> <property name="text">
<string>piControl server is:</string> <string>piControl server:</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -202,7 +202,7 @@
<item row="3" column="0"> <item row="3" column="0">
<widget class="QLabel" name="lbl_lbl_mqtt_status"> <widget class="QLabel" name="lbl_lbl_mqtt_status">
<property name="text"> <property name="text">
<string>MQTT publish service is:</string> <string>MQTT publish service:</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -226,7 +226,7 @@
<item row="4" column="0"> <item row="4" column="0">
<widget class="QCheckBox" name="cbx_xmlrpc"> <widget class="QCheckBox" name="cbx_xmlrpc">
<property name="text"> <property name="text">
<string>Activate XML-RPC for RevPiCommander</string> <string>Activate XML-RPC for RevPi Commander</string>
</property> </property>
</widget> </widget>
</item> </item>
+5 -5
View File
@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Revolution Pi connections</string> <string>RevPi Connections</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="1" column="0" colspan="2"> <item row="1" column="0" colspan="2">
@@ -47,7 +47,7 @@
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="lbl_port"> <widget class="QLabel" name="lbl_port">
<property name="text"> <property name="text">
<string>Port (Default {0}):</string> <string>Port (default {0}):</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -86,7 +86,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="suffix"> <property name="suffix">
<string> sec.</string> <string> s</string>
</property> </property>
<property name="minimum"> <property name="minimum">
<number>5</number> <number>5</number>
@@ -99,7 +99,7 @@
<item row="4" column="0"> <item row="4" column="0">
<widget class="QLabel" name="lbl_folder"> <widget class="QLabel" name="lbl_folder">
<property name="text"> <property name="text">
<string>Sub folder:</string> <string>Subfolder:</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -194,7 +194,7 @@
</property> </property>
<column> <column>
<property name="text"> <property name="text">
<string>Connection name</string> <string>Connection Name</string>
</property> </property>
</column> </column>
<column> <column>
+13 -13
View File
@@ -11,33 +11,33 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>PLC program</string> <string>PLC Program</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QGroupBox" name="gb_plc"> <widget class="QGroupBox" name="gb_plc">
<property name="title"> <property name="title">
<string>PLC program</string> <string>PLC Program</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="lbl_plcarguments"> <widget class="QLabel" name="lbl_plcarguments">
<property name="text"> <property name="text">
<string>Program arguments:</string> <string>Arguments:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="0" colspan="2"> <item row="4" column="0" colspan="2">
<widget class="QLabel" name="lbl_plcprogram_watchdog"> <widget class="QLabel" name="lbl_plcprogram_watchdog">
<property name="text"> <property name="text">
<string>Software watchdog (0=disabled):</string> <string>Software watchdog (0 = disabled):</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0" colspan="3"> <item row="3" column="0" colspan="3">
<widget class="QCheckBox" name="cbx_plcworkdir_set_uid"> <widget class="QCheckBox" name="cbx_plcworkdir_set_uid">
<property name="text"> <property name="text">
<string>Set write permissions for plc program to workdirectory</string> <string>Set write permissions for PLC program working directory</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -57,7 +57,7 @@
<item row="4" column="2"> <item row="4" column="2">
<widget class="QSpinBox" name="sbx_plcprogram_watchdog"> <widget class="QSpinBox" name="sbx_plcprogram_watchdog">
<property name="suffix"> <property name="suffix">
<string> sec.</string> <string> s</string>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>600</number> <number>600</number>
@@ -70,7 +70,7 @@
<item> <item>
<widget class="QGroupBox" name="cb_transfair"> <widget class="QGroupBox" name="cb_transfair">
<property name="title"> <property name="title">
<string>Transfair PLC program</string> <string>Transfer PLC program</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="1"> <item row="0" column="1">
@@ -104,21 +104,21 @@
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="lbl_format"> <widget class="QLabel" name="lbl_format">
<property name="text"> <property name="text">
<string>Transfair format:</string> <string>Transfer format:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="2"> <item row="1" column="0" colspan="2">
<widget class="QCheckBox" name="cbx_pictory"> <widget class="QCheckBox" name="cbx_pictory">
<property name="text"> <property name="text">
<string>Including piCtory configuration</string> <string>Include PiCtory configuration</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0" colspan="2"> <item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="cbx_clear"> <widget class="QCheckBox" name="cbx_clear">
<property name="text"> <property name="text">
<string>Remove all files on Revolution Pi before upload</string> <string>Remove all files on RevPi before upload</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -128,7 +128,7 @@
<item> <item>
<widget class="QGroupBox" name="gb_control"> <widget class="QGroupBox" name="gb_control">
<property name="title"> <property name="title">
<string>Control files</string> <string>Control Files</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_3"> <layout class="QGridLayout" name="gridLayout_3">
<item row="1" column="1"> <item row="1" column="1">
@@ -155,14 +155,14 @@
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="lbl_pictory"> <widget class="QLabel" name="lbl_pictory">
<property name="text"> <property name="text">
<string>piCtory configuraiton</string> <string>PiCtory configuration</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="lbl_procimg"> <widget class="QLabel" name="lbl_procimg">
<property name="text"> <property name="text">
<string>Process image from piControl0</string> <string>Process image from piControl</string>
</property> </property>
</widget> </widget>
</item> </item>
+10 -10
View File
@@ -11,13 +11,13 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>piControl simulator</string> <string>piControl Simulator</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QGroupBox" name="gb_settings"> <widget class="QGroupBox" name="gb_settings">
<property name="title"> <property name="title">
<string>Simulator settings</string> <string>Simulator Settings</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0"> <item row="0" column="0">
@@ -30,7 +30,7 @@
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="lbl_configrsc"> <widget class="QLabel" name="lbl_configrsc">
<property name="text"> <property name="text">
<string>piCtory file:</string> <string>PiCtory file:</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -47,7 +47,7 @@
<item row="1" column="2"> <item row="1" column="2">
<widget class="QPushButton" name="btn_configrsc"> <widget class="QPushButton" name="btn_configrsc">
<property name="text"> <property name="text">
<string>select...</string> <string>Select</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -99,7 +99,7 @@
<item row="4" column="1" colspan="2"> <item row="4" column="1" colspan="2">
<widget class="QRadioButton" name="rb_restart_pictory"> <widget class="QRadioButton" name="rb_restart_pictory">
<property name="text"> <property name="text">
<string>Restore piCtory default values</string> <string>Restore PiCtory default values</string>
</property> </property>
<property name="checked"> <property name="checked">
<bool>true</bool> <bool>true</bool>
@@ -109,7 +109,7 @@
<item row="5" column="1" colspan="2"> <item row="5" column="1" colspan="2">
<widget class="QRadioButton" name="rb_restart_zero"> <widget class="QRadioButton" name="rb_restart_zero">
<property name="text"> <property name="text">
<string>Reset everything to ZERO</string> <string>Reset all values to NULL</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -119,13 +119,13 @@
<item> <item>
<widget class="QGroupBox" name="gb_info"> <widget class="QGroupBox" name="gb_info">
<property name="title"> <property name="title">
<string>RevPiModIO integration</string> <string>RevPiModIO Integration</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<widget class="QLabel" name="lbl_info"> <widget class="QLabel" name="lbl_info">
<property name="text"> <property name="text">
<string>You can work with this simulator if you call RevPiModIO with this additional parameters:</string> <string>To use this simulator, call RevPiModIO with the following additional parameters:</string>
</property> </property>
<property name="wordWrap"> <property name="wordWrap">
<bool>true</bool> <bool>true</bool>
@@ -151,7 +151,7 @@
<item> <item>
<widget class="QPushButton" name="btn_start_pictory"> <widget class="QPushButton" name="btn_start_pictory">
<property name="text"> <property name="text">
<string>Start with piCtory default values</string> <string>Start with PiCtory default values</string>
</property> </property>
<property name="shortcut"> <property name="shortcut">
<string notr="true">Ctrl+1</string> <string notr="true">Ctrl+1</string>
@@ -171,7 +171,7 @@
<item> <item>
<widget class="QPushButton" name="btn_start_nochange"> <widget class="QPushButton" name="btn_start_nochange">
<property name="text"> <property name="text">
<string>Start without changing actual process image</string> <string>Start without changing the current process image</string>
</property> </property>
<property name="shortcut"> <property name="shortcut">
<string notr="true">Ctrl+3</string> <string notr="true">Ctrl+3</string>
+4 -4
View File
@@ -26,7 +26,7 @@
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="lbl_username"> <widget class="QLabel" name="lbl_username">
<property name="text"> <property name="text">
<string>SSH username:</string> <string>SSH user name:</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -53,10 +53,10 @@
<item> <item>
<widget class="QCheckBox" name="cbx_save_password"> <widget class="QCheckBox" name="cbx_save_password">
<property name="toolTip"> <property name="toolTip">
<string>Username and password will be saved in secured operating systems's password storage.</string> <string>Save user name and password in secure password storage.</string>
</property> </property>
<property name="text"> <property name="text">
<string>Save username and password</string> <string>Save user name and password</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -79,7 +79,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text"> <property name="text">
<string>Note: The default user for SSH is &quot;pi&quot; which differs from the web configuration. You can find the password on the sticker on the device.</string> <string>Default SSH user is &quot;pi&quot;. The device password is on the RevPi housing sticker.</string>
</property> </property>
<property name="wordWrap"> <property name="wordWrap">
<bool>true</bool> <bool>true</bool>