diff --git a/settings.ui b/settings.ui
index 965ae97..5f0e77d 100644
--- a/settings.ui
+++ b/settings.ui
@@ -1261,32 +1261,17 @@
-
-
-
-
- Timer AIR1 (Mic)
-
-
-
- -
-
-
- Timer AIR2 (Phone)
-
-
-
- -
-
-
- Timer AIR3 (Timer)
+
+
+ Qt::Vertical
-
-
- -
-
-
- Timer AIR4 (Stream)
+
+
+ 20
+ 40
+
-
+
@@ -1482,14 +1467,20 @@ p, li { white-space: pre-wrap; }
-
- http://astrastudio.de/wiki/onairscreen#weather-widget
+ <html><head/><body><p><a href="https://www.astrastudio.de/wiki/onairscreen#weather-widget"><span style=" text-decoration: underline; color:#0069d9;">WeatherWidget Guide</span></a></p></body></html>
- Qt::PlainText
+ Qt::AutoText
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
true
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
@@ -1680,44 +1671,392 @@ p, li { white-space: pre-wrap; }
-
- UDP Port
-
-
- udpport
+ UDP Port
+
+
+ udpport
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ -
+
+
+ HTTP Port
+
+
+ httpport
+
+
+
+ -
+
+
+
+
+
+
+
+
+ Timers
+
+
+
+ 10
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
-
+
+
-
+
+
+ Timer AIR1 (Mic)
+
+
+ true
+
+
+
+ -
+
+
+ AIR 1 DEMO
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 50
+
+
+
+
+ 15
+ 75
+ true
+
+
+
+ true
+
+
+ QFrame::StyledPanel
+
+
+ AIR 1 DEMO
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Active BG Color
+
+
+
+ -
+
+
+ Active Text Color
+
+
+
+
+
+ -
+
+
-
+
+
+ Timer AIR2 (Phone)
+
+
+ true
+
+
+
+ -
+
+
+ AIR 2 DEMO
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 50
+
+
+
+
+ 15
+ 75
+ true
+
+
+
+ true
+
+
+ QFrame::StyledPanel
+
+
+ AIR 1 DEMO
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Active BG Color
+
+
+
+ -
+
+
+ Active Text Color
+
+
+
+
+
+ -
+
+
-
+
+
+ Timer AIR3 (Timer)
+
+
+ true
+
+
+
+ -
+
+
+ AIR 3 DEMO
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 50
+
+
+
+
+ 15
+ 75
+ true
+
+
+
+ true
+
+
+ QFrame::StyledPanel
+
+
+ AIR 1 DEMO
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Active BG Color
+
+
+
+ -
+
+
+ Active Text Color
+
+
+
+
+
+ -
+
+
-
+
+
+ Timer AIR4 (Stream)
+
+
+ true
+
+
+
+ -
+
+
+ AIR 4 DEMO
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 50
+
+
+
+
+ 15
+ 75
+ true
+
+
+
+ true
+
+
+ QFrame::StyledPanel
+
+
+ AIR 1 DEMO
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Active BG Color
+
+
+
+ -
+
+
+ Active Text Color
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+ Minimum Timer Width
- -
-
-
-
- 0
- 0
-
+
-
+
+
+ px
-
-
- 0
- 0
-
+
+ 60
+
+
+ 150
- -
-
-
- HTTP Port
+
-
+
+
+ Qt::Horizontal
-
- httpport
+
+
+ 40
+ 20
+
-
-
- -
-
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
@@ -3130,10 +3469,6 @@ Parts of analog clockwidget:
staticColon
useTextclock
plainTextEdit
- enableAIR1
- enableAIR2
- enableAIR3
- enableAIR4
LED1
LED1Text
LED2
@@ -4065,5 +4400,325 @@ Parts of analog clockwidget:
+
+ enableAIR1
+ clicked(bool)
+ AIR1Text
+ setEnabled(bool)
+
+
+ 120
+ 38
+
+
+ 129
+ 64
+
+
+
+
+ enableAIR1
+ clicked(bool)
+ AIR1Demo
+ setEnabled(bool)
+
+
+ 179
+ 36
+
+
+ 176
+ 104
+
+
+
+
+ enableAIR1
+ clicked(bool)
+ AIR1BGColor
+ setEnabled(bool)
+
+
+ 158
+ 36
+
+
+ 158
+ 157
+
+
+
+
+ enableAIR1
+ clicked(bool)
+ AIR1FGColor
+ setEnabled(bool)
+
+
+ 97
+ 36
+
+
+ 105
+ 192
+
+
+
+
+ enableAIR2
+ clicked(bool)
+ AIR2Text
+ setEnabled(bool)
+
+
+ 276
+ 33
+
+
+ 276
+ 58
+
+
+
+
+ enableAIR2
+ clicked(bool)
+ AIR2Demo
+ setEnabled(bool)
+
+
+ 251
+ 38
+
+
+ 251
+ 96
+
+
+
+
+ enableAIR2
+ clicked(bool)
+ AIR2BGColor
+ setEnabled(bool)
+
+
+ 240
+ 35
+
+
+ 239
+ 157
+
+
+
+
+ enableAIR2
+ clicked(bool)
+ AIR2FGColor
+ setEnabled(bool)
+
+
+ 319
+ 35
+
+
+ 317
+ 186
+
+
+
+
+ enableAIR3
+ clicked(bool)
+ AIR3Text
+ setEnabled(bool)
+
+
+ 426
+ 34
+
+
+ 426
+ 59
+
+
+
+
+ enableAIR3
+ clicked(bool)
+ AIR3Demo
+ setEnabled(bool)
+
+
+ 400
+ 37
+
+
+ 400
+ 94
+
+
+
+
+ enableAIR3
+ clicked(bool)
+ AIR3BGColor
+ setEnabled(bool)
+
+
+ 474
+ 37
+
+
+ 461
+ 162
+
+
+
+
+ enableAIR3
+ clicked(bool)
+ AIR3FGColor
+ setEnabled(bool)
+
+
+ 488
+ 35
+
+
+ 486
+ 186
+
+
+
+
+ enableAIR4
+ clicked(bool)
+ AIR4Text
+ setEnabled(bool)
+
+
+ 572
+ 34
+
+
+ 572
+ 58
+
+
+
+
+ enableAIR4
+ clicked(bool)
+ AIR4Demo
+ setEnabled(bool)
+
+
+ 607
+ 36
+
+
+ 607
+ 98
+
+
+
+
+ enableAIR4
+ clicked(bool)
+ AIR4BGColor
+ setEnabled(bool)
+
+
+ 648
+ 34
+
+
+ 643
+ 159
+
+
+
+
+ enableAIR4
+ clicked(bool)
+ AIR4FGColor
+ setEnabled(bool)
+
+
+ 622
+ 38
+
+
+ 623
+ 190
+
+
+
+
+ AIR1Text
+ textChanged(QString)
+ AIR1Demo
+ setText(QString)
+
+
+ 86
+ 61
+
+
+ 86
+ 101
+
+
+
+
+ AIR2Text
+ textChanged(QString)
+ AIR2Demo
+ setText(QString)
+
+
+ 324
+ 64
+
+
+ 328
+ 108
+
+
+
+
+ AIR3Text
+ textChanged(QString)
+ AIR3Demo
+ setText(QString)
+
+
+ 454
+ 62
+
+
+ 454
+ 100
+
+
+
+
+ AIR4Text
+ textEdited(QString)
+ AIR4Demo
+ setText(QString)
+
+
+ 543
+ 61
+
+
+ 545
+ 102
+
+
+
diff --git a/settings_functions.py b/settings_functions.py
index 81a20f5..b242132 100644
--- a/settings_functions.py
+++ b/settings_functions.py
@@ -99,7 +99,7 @@ def __init__(self, oacmode=False):
Ui_Settings.__init__(self)
# available text clock languages
- self.textClockLanguages = ["English", "German", "Dutch"]
+ self.textClockLanguages = ["English", "German", "Dutch", "French"]
# available Weather Widget languages
# self.owmLanguages = {"Arabic": "ar", "Bulgarian": "bg", "Catalan": "ca", "Czech": "cz", "German": "de",
@@ -402,7 +402,7 @@ def restoreSettingsFromConfig(self):
self.ExampleFont_StationName.setText(f"{settings.value('StationNameFontName', 'FreeSans')}, "
f"{settings.value('StationNameFontSize', 24, type=int)}pt")
self.ExampleFont_Slogan.setText(f"{settings.value('SloganFontName', 'FreeSans')}, "
- f"{settings.value('SloganFontSize', 24, type=int)}pt")
+ f"{settings.value('SloganFontSize', 18, type=int)}pt")
settings.endGroup()
def getSettingsFromDialog(self):
diff --git a/start.py b/start.py
index baaa30a..99f7eff 100755
--- a/start.py
+++ b/start.py
@@ -63,7 +63,8 @@ class MainScreen(QWidget, Ui_MainScreen):
textLocale: str # for text language
languages = {"English": 'en_US',
"German": 'de_DE',
- "Dutch": 'nl_NL'}
+ "Dutch": 'nl_NL',
+ "French": 'fr_FR'}
def __init__(self):
QWidget.__init__(self)
@@ -780,55 +781,77 @@ def update_backtiming_text(self):
if hour > 12:
hour -= 12
if 0 < minute < 25:
- string = '%d Minute%s nach %d:00' % (minute, 'n' if minute > 1 else '', hour)
+ string = '%d Minute%s nach %d' % (minute, 'n' if minute > 1 else '', hour)
if 25 <= minute < 30:
- string = '%d Minute%s vor halb %d:00' % (remain_min - 30, 'n' if remain_min - 30 > 1 else '', hour + 1)
+ string = '%d Minute%s vor halb %d' % (remain_min - 30, 'n' if remain_min - 30 > 1 else '', hour + 1)
if 30 <= minute <= 39:
- string = '%d Minute%s nach halb %d:00' % (30 - remain_min, 'n' if 30 - remain_min > 1 else '', hour + 1)
+ string = '%d Minute%s nach halb %d' % (30 - remain_min, 'n' if 30 - remain_min > 1 else '', hour + 1)
if 40 <= minute <= 59:
- string = '%d Minute%s vor %d:00' % (remain_min, 'n' if remain_min > 1 else '', hour + 1)
+ string = '%d Minute%s vor %d' % (remain_min, 'n' if remain_min > 1 else '', hour + 1)
if minute == 30:
- string = 'halb %d:00' % (hour + 1)
+ string = 'halb %d' % (hour + 1)
if minute == 0:
- string = '%d:00 Uhr' % hour
+ string = '%d Uhr' % hour
- else:
+ elif text_clock_language == "Dutch":
# Dutch textclock
- if text_clock_language == "Dutch":
- if is_am_pm:
- if hour > 12:
- hour -= 12
- if minute == 0:
- string = "Het is %d uur" % hour
- if (0 < minute < 15) or (16 <= minute <= 29):
- string = "Het is %d minu%s over %d:00" % (minute, 'ten' if minute > 1 else 'ut', hour)
- if minute == 15:
- string = "Het is kwart over %d:00" % hour
- if minute == 30:
- string = "Het is half %d:00" % (hour + 1)
- if minute == 45:
- string = "Het is kwart voor %d:00" % (hour + 1)
- if (31 <= minute <= 44) or (46 <= minute <= 59):
- string = "Het is %d minu%s voor %d:00" % (
- remain_min, 'ten' if remain_min > 1 else 'ut', 1 if hour == 12 else hour + 1)
- else:
- # english textclock
- if is_am_pm:
- if hour > 12:
- hour -= 12
+ if is_am_pm:
+ if hour > 12:
+ hour -= 12
+ if minute == 0:
+ string = "Het is %d uur" % hour
+ if (0 < minute < 15) or (16 <= minute <= 29):
+ string = "Het is %d minu%s over %d" % (minute, 'ten' if minute > 1 else 'ut', hour)
+ if minute == 15:
+ string = "Het is kwart over %d" % hour
+ if minute == 30:
+ string = "Het is half %d:00" % (hour + 1)
+ if minute == 45:
+ string = "Het is kwart voor %d" % (hour + 1)
+ if (31 <= minute <= 44) or (46 <= minute <= 59):
+ string = "Het is %d minu%s voor %d" % (
+ remain_min, 'ten' if remain_min > 1 else 'ut', 1 if hour == 12 else hour + 1)
+
+ elif text_clock_language == "French":
+ # French textclock
+ if hour > 12:
+ hour -= 12
+ if 0 < minute < 60:
+ string = F"{hour} {'heures' if hour > 1 else 'heure'} {minute}"
+ if minute == 0:
+ string = F"{hour} {'heures' if hour > 1 else 'heure'}"
+ if minute == 15:
+ string = F"{hour} {'heures' if hour > 1 else 'heure'} et quart"
+ if minute == 30:
+ string = F"{hour} {'heures' if hour > 1 else 'heure'} et demie"
+ if hour == 0:
+ if 0 < minute < 59:
+ string = F"minuit {minute}"
if minute == 0:
- string = "it's %d o'clock" % hour
- if (0 < minute < 15) or (16 <= minute <= 29):
- string = "it's %d minute%s past %d:00" % (minute, 's' if minute > 1 else '', hour)
+ string = F"minuit"
if minute == 15:
- string = "it's a quarter past %d:00" % hour
+ string = F"minuit et quart"
if minute == 30:
- string = "it's half past %d:00" % hour
- if minute == 45:
- string = "it's a quarter to %d:00" % (hour + 1)
- if (31 <= minute <= 44) or (46 <= minute <= 59):
- string = "it's %d minute%s to %d:00" % (
- remain_min, 's' if remain_min > 1 else '', 1 if hour == 12 else hour + 1)
+ string = F"minuit et demie"
+
+ else:
+ # english textclock
+ if is_am_pm:
+ if hour > 12:
+ hour -= 12
+ if minute == 0:
+ string = "it's %d o'clock" % hour
+ if (0 < minute < 15) or (16 <= minute <= 29):
+ string = "it's %d minute%s past %d" % (minute, 's' if minute > 1 else '', hour)
+ if minute == 15:
+ string = "it's a quarter past %d" % hour
+ if minute == 30:
+ string = "it's half past %d" % hour
+ if minute == 45:
+ string = "it's a quarter to %d" % (hour + 1)
+ if (31 <= minute <= 44) or (46 <= minute <= 59):
+ string = "it's %d minute%s to %d" % (
+ remain_min, 's' if remain_min > 1 else '', 1 if hour == 12 else hour + 1)
self.set_right_text(string)