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)