Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package vdu_controls for openSUSE:Factory 
checked in at 2025-07-30 11:44:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vdu_controls (Old)
 and      /work/SRC/openSUSE:Factory/.vdu_controls.new.13279 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vdu_controls"

Wed Jul 30 11:44:17 2025 rev:16 rq:1296218 version:2.4.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/vdu_controls/vdu_controls.changes        
2025-07-14 10:58:20.461144130 +0200
+++ /work/SRC/openSUSE:Factory/.vdu_controls.new.13279/vdu_controls.changes     
2025-07-30 11:45:27.946942922 +0200
@@ -1,0 +2,9 @@
+Mon Jul 28 22:00:55 UTC 2025 - Michael Hamilton <mich...@actrix.gen.nz>
+
+- Version 2.4.2
+  * Fix the Lux-Dialog's display of the Daylight-Factor for non 
+    semi-automatic metering.
+  * Make sure the tray-icon always shows the correct lux-level icon.
+  * Correct the lux-zone boundaries on the ambient slider.
+
+-------------------------------------------------------------------

Old:
----
  vdu_controls-2.4.1.tar.gz

New:
----
  vdu_controls-2.4.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vdu_controls.spec ++++++
--- /var/tmp/diff_new_pack.AJiJ2Q/_old  2025-07-30 11:45:28.654972260 +0200
+++ /var/tmp/diff_new_pack.AJiJ2Q/_new  2025-07-30 11:45:28.654972260 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           vdu_controls
-Version:        2.4.1
+Version:        2.4.2
 Release:        0
 Summary:        Visual Display Unit virtual control panel
 License:        GPL-3.0-or-later

++++++ vdu_controls-2.4.1.tar.gz -> vdu_controls-2.4.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.4.1/PKGBUILD 
new/vdu_controls-2.4.2/PKGBUILD
--- old/vdu_controls-2.4.1/PKGBUILD     2025-07-13 23:33:54.000000000 +0200
+++ new/vdu_controls-2.4.2/PKGBUILD     2025-07-28 23:50:22.000000000 +0200
@@ -1,5 +1,5 @@
 pkgname=vdu_controls
-pkgver=2.4.1
+pkgver=2.4.2
 pkgrel=1
 pkgdesc="Visual Display Unit virtual control panel"
 arch=('i686' 'x86_64')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.4.1/README.md 
new/vdu_controls-2.4.2/README.md
--- old/vdu_controls-2.4.1/README.md    2025-07-13 23:33:54.000000000 +0200
+++ new/vdu_controls-2.4.2/README.md    2025-07-28 23:50:22.000000000 +0200
@@ -359,6 +359,10 @@
 
 Version History
 ---------------
+* 2.4.2
+  * Fix the Lux-Dialog's display of the Daylight-Factor for non semi-automatic 
metering.
+  * Make sure the tray-icon always shows the correct lux-level icon.
+  * Correct the lux-zone boundaries on the ambient slider.
 
 * 2.4.1
   * Support PyQt6 before PyQt5 goes out of support.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.4.1/docs/conf.py 
new/vdu_controls-2.4.2/docs/conf.py
--- old/vdu_controls-2.4.1/docs/conf.py 2025-07-13 23:33:54.000000000 +0200
+++ new/vdu_controls-2.4.2/docs/conf.py 2025-07-28 23:50:22.000000000 +0200
@@ -24,7 +24,7 @@
 author = 'Michael Hamilton'
 
 # The full version, including alpha/beta/rc tags
-release = '2.4.1'
+release = '2.4.2'
 
 
 # -- General configuration ---------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.4.1/setup.cfg 
new/vdu_controls-2.4.2/setup.cfg
--- old/vdu_controls-2.4.1/setup.cfg    2025-07-13 23:33:54.000000000 +0200
+++ new/vdu_controls-2.4.2/setup.cfg    2025-07-28 23:50:22.000000000 +0200
@@ -1,6 +1,6 @@
 [metadata]
 name = vdu_controls-digitaltrails
-version = 2.4.1
+version = 2.4.2
 author = Michael Hamilton
 author_email = mich...@actrix.gen.nz
 description = A GUI for controlling Visual Display Units
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.4.1/vdu_controls.py 
new/vdu_controls-2.4.2/vdu_controls.py
--- old/vdu_controls-2.4.1/vdu_controls.py      2025-07-13 23:33:54.000000000 
+0200
+++ new/vdu_controls-2.4.2/vdu_controls.py      2025-07-28 23:50:22.000000000 
+0200
@@ -766,7 +766,7 @@
 ===========
 
     LC_ALL, LANG, LANGUAGE
-        These  variables specify the locale for language translations and 
units of distance.
+        These variables specify the locale for language translations and units 
of distance.
         LC_ALL is used by python, LANGUAGE is used by Qt. Normally, they 
should all have the same
         value, for example, ``Da_DK``. For these to have any effect on 
language, ``Settings``
         ``Translations Enabled`` must also be enabled.
@@ -937,7 +937,7 @@
 
 
 APPNAME = "VDU Controls"
-VDU_CONTROLS_VERSION = '2.4.1'
+VDU_CONTROLS_VERSION = '2.4.2'
 VDU_CONTROLS_VERSION_TUPLE = tuple(int(i) for i in 
VDU_CONTROLS_VERSION.split('.'))
 assert sys.version_info >= (3, 8), f'{APPNAME} utilises python version 3.8 or 
greater (your python is {sys.version}).'
 
@@ -1134,7 +1134,7 @@
 <a 
href="https://github.com/digitaltrails/vdu_controls/releases/tag/v{VERSION}";>
 https://github.com/digitaltrails/vdu_controls/releases/tag/v{VERSION}</a>
 
<br/>___________________________________________________________________________"""
-RELEASE_INFO = QT_TR_NOOP('Qt6/PyQT6 compatibility release (with a fallback to 
Qt5/Pyt5).')
+RELEASE_INFO = QT_TR_NOOP('Bug fix release.')
 
 CURRENT_PRESET_NAME_FILE = CONFIG_DIR_PATH.joinpath('current_preset.txt')
 CUSTOM_TRAY_ICON_FILE = CONFIG_DIR_PATH.joinpath('tray_icon.svg')
@@ -6908,6 +6908,8 @@
     def __init__(self) -> None:
         super().__init__(requires_worker=False, manual=True, semi_auto=True)
         self.current_value: float = LuxMeterSemiAutoDevice.get_stored_value()
+        LuxMeterSemiAutoDevice.daylight_factor = None    # Force initilization 
from file
+        _ = LuxMeterSemiAutoDevice.get_daylight_factor()
 
     def get_value(self) -> float | None:
         if location := LuxMeterSemiAutoDevice.get_location():
@@ -6963,7 +6965,7 @@
     def update_df_from_lux_value(new_lux_value: float, semi_auto_source: bool):
         if location := LuxMeterSemiAutoDevice.location:
             solar_lux = calc_solar_lux(zoned_now(), location, 1.0)
-            if solar_lux > (0 if semi_auto_source else 4000):  # only for 
reasonable daylight lux levels or if the user is driving.
+            if solar_lux > (0 if semi_auto_source else 1000):  # only for 
reasonable daylight lux levels or if the user is driving.
                 daylight_factor =  new_lux_value / solar_lux
                 LuxMeterSemiAutoDevice.set_daylight_factor(daylight_factor, 
internal=True, persist=semi_auto_source)
 
@@ -6975,8 +6977,8 @@
                 if CONFIG_DIR_PATH.exists():
                     persisted_path = 
CONFIG_DIR_PATH.joinpath("lux_daylight_factor.txt")
                     log_debug(f"LuxSemiAuto: save {daylight_factor=} to 
{persisted_path.as_posix()}") if log_debug_enabled else None
-                LuxMeterSemiAutoDevice.daylight_factor = daylight_factor
                 persisted_path.write_text(f"{daylight_factor:.4f}")
+            LuxMeterSemiAutoDevice.daylight_factor = daylight_factor
             if not internal:
                 LuxDialog.reconfigure_instance()
 
@@ -7935,6 +7937,7 @@
 
 class LuxAmbientSlider(QWidget):
     new_lux_value_qtsignal = pyqtSignal(int)
+    status_icon_changed_qtsignal = pyqtSignal()
     status_icon_pressed_qtsignal = pyqtSignal()
 
     def __init__(self, controller: LuxAutoController) -> None:
@@ -7942,13 +7945,13 @@
         self.controller = controller
         self.in_flux = False
         self.zones = [  # Using col span as a hacky way to line up icons above 
the slider
-            LuxZone(tr("Sunlight"), LUX_SUNLIGHT_SVG, 20000, 100000, 45000, 
column_span=2),
-            LuxZone(tr("Daylight"), LUX_DAYLIGHT_SVG, 1000, 20000, 6000, 
column_span=2),
-            LuxZone(tr("Overcast"), LUX_OVERCAST_SVG, 400, 1000, 900, 
column_span=3),
+            LuxZone(tr("Sunlight"), LUX_SUNLIGHT_SVG, 20_000, 100_000, 45_000, 
column_span=2),
+            LuxZone(tr("Daylight"), LUX_DAYLIGHT_SVG, 5_000, 20_000, 6_000, 
column_span=2),
+            LuxZone(tr("Overcast"), LUX_OVERCAST_SVG, 400, 5_000, 900, 
column_span=3),
             LuxZone(tr("Twilight"), LUX_TWILIGHT_SVG, 100, 400, 130, 
column_span=2),
             LuxZone(tr("Subdued"), LUX_SUBDUED_SVG, 15, 100, 20, 
column_span=3),
             LuxZone(tr("Dark"), LUX_DARK_SVG, 0, 15, 2, column_span=4), ]
-        self.current_value = 10000
+        self.current_value = 10_000
 
         self.status_icon = 
StdButton(icon_size=QSize(native_font_height(scaled=1.8), 
native_font_height(scaled=1.8)), flat=True,
                                      clicked=self.status_icon_pressed_qtsignal)
@@ -8035,10 +8038,11 @@
             self.label_map[log10_button] = zone.icon_svg
             col += zone.column_span
 
-        
self.set_current_value(round(LuxMeterSemiAutoDevice.get_stored_value()))  # 
don't trigger side-effects.
+        self.set_current_value(controller.lux_meter.get_value() if 
controller.lux_meter else 1000)  # don't trigger side-effects.
 
     def set_current_value(self, value: int, source: QWidget | None = None) -> 
None:
         # log_debug("set_current_value ", value, source, self.in_flux)
+        icon_changed = False
         if not self.in_flux and value != self.current_value:
             try:
                 if source is None:
@@ -8050,6 +8054,7 @@
                             self.current_zone = zone
                             
self.status_icon.setIcon(create_icon_from_svg_bytes(zone.icon_svg))
                             self.status_icon.setToolTip(tr("Open/Close 
Light-Meter Dialog"))
+                            icon_changed = True
                 self.current_value = max(1, value)  # restrict to non-negative 
and something valid for log10
                 if source != self.slider:
                     self.slider.setValue(round(math.log10(self.current_value) 
* 1000))
@@ -8065,6 +8070,8 @@
                 self.in_flux = False
                 if source is None:
                     self.blockSignals(False)
+                if icon_changed:
+                    self.status_icon_changed_qtsignal.emit()
 
     def event(self, event: QEvent | None) -> bool:
         if event and event.type() == QEvent.Type.PaletteChange:  # 
PalletChange happens after the new style sheet is in use.
@@ -8584,7 +8591,6 @@
                                     f"restore-preset: protect-nvram prevents 
'{preset.name}' from stepping, changes are immediate.")
                         else:
                             self.main_window.show_preset_status(tr("Already on 
Preset {} (no changes)").format(preset.name))
-
                         if df := preset.get_daylight_factor():
                             log_info(f"Daylight-Factor {df:.4f} read from 
Preset {preset.name}")
                             LuxMeterSemiAutoDevice.set_daylight_factor(df, 
persist=True)
@@ -9160,6 +9166,8 @@
                 tool_buttons.append(lux_check_button)
             if lux_manual_input := 
self.main_controller.lux_auto_controller.create_manual_input_control():
                 extra_controls.append(lux_manual_input)
+            if lux_ambient_slider := 
self.main_controller.lux_auto_controller.lux_slider:
+                
lux_ambient_slider.status_icon_changed_qtsignal.connect(self.update_status_indicators)
         self.refresh_preset_menu()
         self.main_panel.initialise_control_panels(self.main_controller, 
self.app_context_menu, self.main_config,
                                                   tool_buttons, 
extra_controls, self.splash_message_qtsignal)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.4.1/vdu_controls.spec 
new/vdu_controls-2.4.2/vdu_controls.spec
--- old/vdu_controls-2.4.1/vdu_controls.spec    2025-07-13 23:33:54.000000000 
+0200
+++ new/vdu_controls-2.4.2/vdu_controls.spec    2025-07-28 23:50:22.000000000 
+0200
@@ -18,7 +18,7 @@
 
 
 Name:           vdu_controls
-Version:        2.4.1
+Version:        2.4.2
 Release:        0
 Summary:        Visual Display Unit virtual control panel
 License:        GPL-3.0-or-later

Reply via email to