diff --git a/common.py b/common.py new file mode 100644 index 0000000..ce34773 --- /dev/null +++ b/common.py @@ -0,0 +1,20 @@ +class MinMaxCurrent: + def __init__(self): + self.min = 0 + self.max = 0 + self.cur = 0 + + def builder(self, _cur: int, _unit: str): + self.cur = _cur + + if 0 in [self.max, self.min]: + self.max = _cur + self.min = _cur + + if self.cur > self.max: + self.max = _cur + + if self.cur < self.min: + self.min = _cur + + return f"Current: {self.cur}{_unit}\n(Min: {self.min}{_unit} / Max: {self.max}{_unit})" diff --git a/main.pyw b/main.pyw index 737cc99..e08a4bd 100644 --- a/main.pyw +++ b/main.pyw @@ -1,44 +1,50 @@ +# External Dependencies import sys import win32mica from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QLabel, QProgressBar from PySide6.QtCore import Qt, QTimer, QThreadPool from PySide6.QtGui import QFont, QIcon +# Internal Imports from LiquidCTL_Helper import LiquidCTL_Helper from MessageHandler import MessageHandler -import resources, pkg_resources.extern from styles.SubLabel import SubLabel from styles.SubLabelValue import SubLabelValue - +import common +import resources, pkg_resources.extern class MainWindow(QMainWindow): """ Main application window. """ + def __init__(self, lctl): super(MainWindow, self).__init__() - self.setWindowTitle("LiquidGUI (v.1.0.3.2)") - self.setFixedSize(450, 385) + self.setWindowTitle("LiquidGUI (v.1.1.0.1)") + self.setFixedSize(450, 400) self.lctl = lctl # Widgets ########################################## - self.lbl_device_name = QLabel(font=QFont("Calibre", - 14, + self.lbl_device_name = QLabel(font=QFont("Calibri", + 18, weight=QFont.Weight.Bold), - alignment=Qt.AlignmentFlag.AlignCenter) - + alignment=Qt.AlignmentFlag.AlignCenter) + self.lbl_temp = SubLabel(value="💧 Liquid Temperature:") + self.min_max_cur_temp = common.MinMaxCurrent() self.prg_temp = QProgressBar(textVisible=False, minimum=0, maximum=50) self.lbl_value_prg_temp = SubLabelValue() self.lbl_fanspeed = SubLabel(value="🍃 Fan Speed:") + self.min_max_cur_fanspeed = common.MinMaxCurrent() self.prg_fanspeed = QProgressBar(textVisible=False, minimum=520, maximum=1700) self.lbl_value_prg_fanspeed = SubLabelValue() self.lbl_pumpspeed = SubLabel(value="⛽ Pump Speed:") + self.min_max_cur_pumpspeed = common.MinMaxCurrent() self.prg_pumpspeed = QProgressBar(textVisible=False, minimum=1900, maximum=2700) @@ -77,13 +83,19 @@ class MainWindow(QMainWindow): def update_widgets(self): """ Update widgets using LiquidCTL library.""" - self.lbl_device_name.setText("- " + self.lctl.device_name + " -") + self.lbl_device_name.setText(self.lctl.device_name) self.prg_temp.setValue(self.lctl.device_temp) - self.lbl_value_prg_temp.setText(str(self.lctl.device_temp) + "°C") + self.lbl_value_prg_temp.setText( + self.min_max_cur_temp.builder( + self.lctl.device_temp, "°C")) self.prg_fanspeed.setValue(self.lctl.device_fanSpeed) - self.lbl_value_prg_fanspeed.setText(str(self.lctl.device_fanSpeed) + " rpm") + self.lbl_value_prg_fanspeed.setText( + self.min_max_cur_fanspeed.builder( + self.lctl.device_fanSpeed, " rpm")) self.prg_pumpspeed.setValue(self.lctl.device_pumpSpeed) - self.lbl_value_prg_pumpspeed.setText(str(self.lctl.device_pumpSpeed) + " rpm") + self.lbl_value_prg_pumpspeed.setText( + self.min_max_cur_pumpspeed.builder( + self.lctl.device_pumpSpeed, " rpm")) if self.lctl.device_fwVers is not None: self.lbl_fwvers.setText(f"Firmware: v{self.lctl.device_fwVers}") diff --git a/metadata.yml b/metadata.yml index 5d1d05c..fd1bb0f 100644 --- a/metadata.yml +++ b/metadata.yml @@ -1,4 +1,4 @@ -Version: 1.0.3.2 +Version: 1.1.0.1 CompanyName: Fil Sapia FileDescription: LiquidGUI InternalName: LiquidGUI diff --git a/resources.py b/resources.py index 19cdb4d..4125402 100644 --- a/resources.py +++ b/resources.py @@ -2621,7 +2621,7 @@ qt_resource_struct = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x90f\x0b\xfe\xb4\ +\x00\x00\x01\x90\x7f\xe4x\x0d\ " def qInitResources(): diff --git a/styles/SubLabel.py b/styles/SubLabel.py index f2ce70d..0b6ec56 100644 --- a/styles/SubLabel.py +++ b/styles/SubLabel.py @@ -1,9 +1,11 @@ from PySide6.QtWidgets import QLabel from PySide6.QtGui import QFont + class SubLabel(QLabel): """ Formatting for sub-labels. """ + def __init__(self, value): super().__init__() - self.setFont(QFont("Calibre", 10, weight=QFont.Weight.Bold)) - self.setText(value) \ No newline at end of file + self.setFont(QFont("Calibri", 12, weight=QFont.Weight.Bold)) + self.setText(value)