TODO: „ 11-Apr-17 - add an option to display an icon on the desktop with the current weather image, and the min/max temp (or a user definable contents) HowTow: workbench/AddAppIcon() TODO (maybe;) 13-Aug-14: - replace wind direction with images 16-Mar-14: - Use a subclass of slider for the UpdateRate, to be able to display "1 h, 30 min, 5 secs" instead of the number of secs - in der Bubble, bei den Sonnenauf/untergangszeiten noch ein "Uhr" (lokalisiert) ranhängen 25-Mar-14 - add a font setting? Requests: Bugs: 18-Dez-2016 If yWeather is deactivated and you do an UpdateCheck (middle mouse), "Update Check..." will stay MUIs AppInputHandler isn't very accurate when using seconds.. -> use own, or try using micros and trigger every 60*1000 micros, then count till the updaterate... Notes: *************** ** History **** *************** Todo: Forecast 11-Mar-2019: v1.21, released 05-Mär-2019 Fix: Added a workaround for a ParseDate() bug with single day number, f.e "Mon Mar 4 14:02:22 2019" can only be parsed if I remove the double spaces before the "4"! Chg: Displaying of "precipitation" in the All-Info-Bubble wasn't correct, because it seems to be not fully supported/available, its now " [mm] [<1h|3h|...>]" 17-Feb-2019 Fix: the sunrise, sunset and lastupdate date/times are now converted to your local date/time Chg: sunrise and sunset times are now displayed in one line instead of two lines (in the all-info-bubble) 28-Jan-2019 Chg: Now a popup-menu will be opened if you press the left mousebutton over its sbar There you can choose to get the weather infos, open the weather forecast (not yet) or check for an update 11-Jan-2019 Chg: My sbar was drawn every second, instead only if needed 10-Jan-2019 Chg: Check for an update after downloading of weather infos failed 5 times and the sbar was deactivated before it only checked for an update if getting of weather infos succeeded 10-Jan-2019, v1.20, released Rem: Removed the forecast, will be added later New: Added a Language cycle gadget in the prefs to get the weather data in a specific language Chg: Setting up your location in the prefs changed Chg: Changed the layout of the all-info-bubble a bit, f.e. the titles are now bold 07-Jan-2019 New: added precipitation and cloudiness to the All-Info-Bubble New: Convert the WindName, CondText and Cloudiness from UTF8 to system charset 06-Jan-2019 New: Added Kelvin as temperature unit in prefs/misc Rem: Distance unit is now always meter Rem: Removed WindChill, because OpenWeatherMap doesn't have support for it Rem: Removed support for country name, because OpenWeatherMap doesn't have support the country name, only an abbreviation Rem: Removed "Atmospere/State" value, because OpenWeatherMap doesn't have support for it Chg: "%w" was Wind Chill and is now "Wind name" 05-Jan-2019 Chg: Changed name of the sbar to Your!Weather because I'm now using a different weather providing service (currently OpenWeatherMap) Chg: Changed some msgs which contained "Yahoo" to "WeatherService" prefsMsgSendingQuery, prefsMsgFailedToConnect, msgWeatherServiceError (prev. msgYahooError) 25-Dez-2016, v1.19, released Fix: If yWeather failed to retrieve the weather informations, after it once was successfull, the error informations weren't shown in the bubble, instead the "old" weather data were shown 18-Dez-2016 Chg: Reverted the feature to additionally display the clock I will write a new sbar (xInfo.sbar) which will be able to display misc system infos: like clock, sensors (like CPU temp etc), number of windows/screens etc Chg: If yWeather failed to retrieve the weather informations, because you are offline, or because of a connection problem with yahoo, the all-info-bubble contains information about the error codes Fix: If the first weather update failed (after 5 retries), new opened screen showed "Updating..." forever Fix: The all-info-bubble could show "old" weather data New: The "New Version" bubble now appears on all opened screens! 06-Dez-2016 Fix: The UpdateCheck requester doesn't blocks the PublicScreenManager anymore Fix: Ensure that the weather-update isn't called too often Chg: Changed the UpdateCheck at startup, now there will be only a bubble displayed, and a short notice in the instant bubble Fix: It could happen that the weather data were redownloaded if a new screen opens 30-Nov-2016 New: There is now a format string for the complete string (with %w = weather info, %c = clock) and an own format string for the weather info and the clock New: You can have different colors for the weather info and the clock 28-Nov-2016: New: Added the possibility to display date and time, just specify a "%Z" in the "Text Format:" setting New: Added a "Clock Format:" setting Fix: The All-Info-Bubble could stay opened, if you deactivate yWeather.sbar while its displayed 20-Nov-2016: Chg: Changed the UpdateCheck method, I'm now using a php script to check for an update New: 30secs after the first successfull weather update, an UpdateCheck will be performed 20-Nov-2016: v1.18, released Fix: Fixed a bug in ECX's library generation code, which causes a crash if my sbar fails to open on first opening Fix: Fixed some warning messages Chg: Removed the bsdsocket.library check, it shouldn't be needed 14-Sep-2016: Fix: Clicking on "Visit homepage" in the UpdateCheck requester, could produce hits, because I used SystemTagList() with SYS_Asynch,TRUE but without specifying SYS_Input/SYS_Output, shame on me;) But for an sbar obj this didn't causes a hit, because Input/Output were NIL 05-Sep-16: v1.17, internal Chg: Before first weather-info-download of the first sbar instance, I check if the bsdsocket.library can be opened, if not (means network is not ready) I delay the download call by 1 second, seems to help on boot if the network availability is delayed [reported by cyfm, 03-Sep-16] 18-Apr-16: v1.16, released Fix: The saved temperature unit wasn't used at startup, if it was set to F (Fahrenheit) [reported by redrumloa, 17-Apr-16] 05-Apr-16: v1.15, released Chg: The temp. in Celsius are now displayed with 1 digit after the comma Because Yahoo sends them in Fahrenheit, so I can display them more precisely;) Fix: Changing temp. unit (and color) in the sbar prefs, crashes the sbar 02-Apr-16: Fix: If using multiple screens, the text wasn't always the same on all screens Chg: added a countdown for the msgs msgUpdatingFailed, msgOffline and msgYahooError Chg: due to the countdown: msgUpdatingFailed, msgOffline, msgYahooError now expect another parameter Fix: If you remove my sbar while I'm waiting for yahoo, the whole sbar could crash (hopefully fixed...) 29-Mar-16: v1.14, released Fix: Wind-speed was always 0.00 [reported by jPV, 29-Mar-16] Fix: the units for wind speed, chill, visibility and pressure were missing New: added a version string in the all-info-bubble 29-Mar-16: v1.13, released Chg: Display "Update check..." in the sbar, if you press middle mouse button Chg: The required icons are now located in Sys:Data/Screenbar/yWeather/ instead of Sys:Data/yWeather/ New: Added a simple installation script 28-Mar-16: v1.12, released Chg: Don't eat RMB over my sbar Fix: Crash if you remove the sbar while trying to download weather infos Chg: add the inputhandler after first successful download Chg: if downloading of weather infos failed, try again after 10 seconds, if it fails 5 times in a row, deactivate auto-update! You have to left click on the sbar to activate it again! Offline will be recognized and displayed New: Recognize if yahoo sends no weather data, then "Yahoo error!" will be displayed Fix: don't show the all-info-bubble, if there was no successful download! Chg: If the conversion of the yahoo date failed, display the original date instead the localized22 in the bubble Dates like this "Mon, 28 Mar 2016 12:00 AM CEST" fail, because of the "12:xx AM" New: New strings to localize: msgDeactivated, msgOffline, msgYahooError 25-Mar-16: v1.11, released Chg: Yahoo changed its api;( I'm now using YQL to query the weather infos Chg: Now 10 forecast days are supported and displayed in the all-info-bubble Chg: I can't specify a temperature unit when getting weather infos, so I have to convert it myself if you use Celsius 15-Dec-14: v1.10, released Int: Some internal changes to be able to use my libMui.e 18-Jun-14: Fix: Forgot some debug code in some of my external modules, this reduced the filesize by 50KB! 21-Mai-14: Chg: The slave process is now named "yWeather slave" 16-Apr-14 Fix: "Automatically Updates" is broken after 00:00 o'clock 14-Apr-14 v1.9, released Chg: Now only the first sbar obj gets an InputHandler for automatic weather updates But all will be updated;) 13-Apr-14 Fix: When the settings are open, a new obj is created but hidden! (Although MUIA_ShowMe says its not!) Fix: Umlauts (ä,ö,ü,ß) will be converted (to ae, oe, ue, ss) in the woeid search string 12/13-Apr-14: New: There is now only one slave object for all screens, and all screens share the same weather data Max. 20 screens are supported -> TODO: make it unlimited 11-Apr-14: New: Refresh the weather data when double-clicking on a place from the search popup-list No need to press the "Test" button anymore Fix: Fixed a hit when pressing the "Test" button in the settings window New: Added the current condition-image, temperature and condition-text to the all-info-bubble [suggested by jPV, 10-Apr-14] New: Replaced the requesters in the settings when searching for a place with msgs in the popup-list [suggested by geit, 10-Apr-14] Cat: Replaced prefsWarnNoPlacesFound with prefsMsgNoPlacesFound Cat: Added prefsMsgSendingQuery, prefsMsgFailedToConnect 09/10Apr-14: v1.8, released Fix: The MUI_AppInputHandler seems to have a bug when using seconds-scale, so I use micros for the first updates until the network is online New: There are now 3 Iconsets, which differs in the height (8, 12, 16), they are automatically used if the screen has a smaller font, because of a problem of MUI to display bigger images with smaller text [thanks to jPV for helping me to find this out!] Fix: A bug with the TimeToLive value from yahoo Fix: The text color wasn't updated correctly, if you clicked on the checkmark New: Added a new settings item "Instant All-Info-Bubble" to switch between the normal method (wait some seconds while the mouse is over the sbar) and the previous method (instantly show the all-info-bubble) [suggested by Yasu, 08-Apr-14] Chg: The UpdateCheck requesters are now opened under the sbar! [suggested by NewSense, 09-Apr-14] Cat: Added miscPrefsInstantBubble 07-Apr-14: Fix: Problems with the UpdateRate for multiple screens Rem: Removed the UpdateCheck on startup, due to problems with multiple screens 06-Apr-14: v1.7, released Fix: Now the correct vertical position should be used (hopefully;) New: Added a checkmark to specify, if you want to use a custom color for the text, or the default screenbar color Chg: Don't show the warning requester if the weather-update failed [suggested by Yasu, 05-Apr-14] New: If the first weather-update failed, try again every 5 seconds until it succeed, then use the value defined in the settings Fix: The width of my sbar, was too wide, if you don't use the image (%i) in the format string Chg: I swapped the condition text with the low/high temperature in the all-info-bubble Fix: Since the dates from yahoo are now in "CEST" instead of "CET" I had to increase the buffer and change the converting format string Chg: The superclass of my sbar is now MUIC_Area 30-Mar-14: Chg: The vertical position of the text should be now like Clock.sbar Chg: The all-info-bubble is now a normal shorthelp bubble, so it appears after some seconds, and not immediatly [requested by jPV and others] Chg: The superclass of my sbar is now MUIC_Text instead of MUIC_Group 27-Mar-14: Chg: The width of the sbar is now automatically adjusted! Rem: Removed the "Width" setting, because of this Cat: prefsMiscWidth is now obsolete 24/5-Mar-14: v1.6, released Fix: Fixed two MUI_Redraw task mismatch hits on startup/first download Fix: Forgot to dispose the slave object at OM_DISPOSE New: The download proc is now protected with a semaphore New: Added an update check at startup, to check if there is a newer version available The update check is also triggered by a click with the middle mouse button New: Added the possibility to configure the text by yourself, defaut is "%i %t %T" ( ) [suggested by jPV, 22-Mar-14] Chg: The maximum width is now 400 pixels Rem: Removed the "No condition Image" setting, its not needed anymore New: The "UpdateCheck-Req" now has a "Visit Homepage" button, which opens yWeather homepage in your browser (with c:Open) Cat: New: prefsMiscTextFormat, prefsAboutSendBugReport, prefsAboutSendEMail, msgAskNewVersionButtons/Body, msgLatestVersion, prefsMiscFormatListXXX, reqXXX Cat: Rem: prefsMiscNoCondImage Cat: Chg: warnNoMemoryForWeatherData/ForSearchResult to warnNoMemoryFor 21-Mar-14: v1.5, released Chg: Display "Waiting..." on first startup New: Added a checkmark to disable displaying of the condition image [requested by analogkid, 17-Mar-14] Fix: If you left click (to update), while the bubble is open, the bubble will be closed Fix: The UpdateRate is now refreshed on each change Cat: Added prefsMiscWindSpeedMS, prefsMiscNoCondImage, msgWaiting Cat: Added french catalog by Patrick Jung 18-Mar-14: Chg: The time displayed in the all-info-bubble in the last line, now shows the time of the last internal update, instead of how long it has been since the update New: Added a checkmark to convert the wind speed in m/s [requested by jPV, 10-Mar-14] 17-Mar-14: v1.4 released Chg: The download of the weather data is now done by a slave process (thanks to MUIC_Slave!) 16-Mar-14: Chg: Shortened the condition strings in the deutsch.catalog a bit New: Added a "Width:" slider gadget to the settings to adjust the width of the sbar [suggested by Yasu, 15-Mar-14] New: Added a "Update Rate:" slider gadget to the settings to adjust the rate in minutes for the automatic update, default 60 minutes Chg: Yahoo gives a TimeToLive value for his weather data, which means that I shouldn't download the weather to often, only every XX mins, XX is usually 60. However if you manually update (with left mouse button), the data gets redownloaded New: I'll now wait 2 secs before the first update/download is done New: Added a time value in the all-info-bubble (last line), how long it has been since yWeather did the last update 13-Mar-14: v1.3, released Chg: yWeather is now a real .sbar! Thanks to Leif Salomonsson for example source code for an mcc in ECX 10-Mar-14: Chg: The Wind/Chill value gets the unit temperature appended 09-Mar-14: v1.2, released Fix: If you didn't use the german language, the condition text was "ErrCode" Chg: The image is now displayed via '\eI[4:sys:data/yWeather/Icons/%ld.mi1]' instead of dtpic.mcc, because '.mi1' images can be diplayed with transparency in a helpbubble! Fix: Localized the all-info-bubble 07-Mar-14: v1.1, released Fix: A space (" ") and an asterisk ("*") will be handled correct in the searchstring for the WOEID New: Added a small about box to the settings page 05-Mar-14: New: Localized strings, only the all-info-bubble isn't, yet... 02-Mar-14: New: Added a search feature for the WOEID, now you don't have to use a browser to do that! Chg: Changed the external sbar prefs images to an internal image 01-Mar-14: Fix: Worked-around the "strangeness", now I have an idea how to do that;) 28-Feb-14 Try: Tried to add WOEID search in the settings, but I encounterd some strangeness... 27-Feb-14: Fix: The bubble could stay open, if you press middle button, while a bubble is open Chg: Changed the displayed name in the settings to "Yahoo!Weather" New: Added a custom image "Sys:Data/yWeather/SettingsImage.mi1" to be displayed in the settings listview [suggested by Stefan Blixth] New: Added a "Text Color" setting to change the color of the text [requested by Stefan Blixth] 25-Feb-14: New: You can't run yWeather twice anymore 24-Feb-14: v1.0 New: added a "Temperature Unit" settings item to change between C and F *.e: some really hard/long work to get this all done!