Ticket #5768: mythweather-2.diff

File mythweather-2.diff, 5.0 KB (added by meik <meik.piepmeyer.lists@…>, 16 years ago)

Patch against head

  • mythweather/i18n/translate.pro

     
    1 SOURCES += ../mythweather/weather.cpp
     1SOURCES += ../mythweather/weather.cpp
     2SOURCES += ../mythweather/weatherScreen.cpp
    23SOURCES += ./strings.h
    34SOURCES += ./themestrings.h
    45
  • mythweather/mythweather/weatherScreen.cpp

     
    109109    emit screenReady(this);
    110110}
    111111
     112QString WeatherScreen::getTemperatureUnit()
     113{
     114    if (m_units == ENG_UNITS)
     115        return QString::fromUtf8("°") + "F";
     116    else
     117        return QString::fromUtf8("°") + "C";
     118}
     119
    112120void WeatherScreen::prepareScreen()
    113121{
    114122    QMap<QString, QString>::iterator itr = m_dataValueMap.begin();
     
    185193        return value + (m_units == ENG_UNITS ? " mi" : " km");
    186194
    187195    if (key == "appt")
    188         return value == "NA" ? value : value + (m_units == ENG_UNITS ? "°F" : "°C");
     196        return value == "NA" ? value : value + getTemperatureUnit();
    189197
    190198    if (key == "temp")
    191199    {
    192200       if ( (value == "NA") || (value == "N/A") )
    193201          return value;
    194202       else
    195           return value + (m_units == ENG_UNITS ? "°F" : "°C");
     203          return value + getTemperatureUnit();
    196204    }
    197205
    198206    if (key == "wind_gust" || key == "wind_spdgst" || key == "wind_speed")
     
    216224       if ( (value == "NA") || (value == "N/A") )
    217225          return value;
    218226       else
    219           return value + (m_units == ENG_UNITS ? "°F" : "°C");
     227          return value + getTemperatureUnit();
    220228    }
    221229
     230    /*The days of the week will be translated if the script sends elements from
     231     the enum DaysOfWeek.*/
     232    if (key.startsWith("date-"))
     233    {
     234        bool isNumber;
     235        value.toInt( &isNumber);
     236
     237        if (isNumber)
     238        {
     239            int dayOfWeek = value.toInt();
     240
     241            switch (dayOfWeek)
     242            {
     243                case DAY_SUNDAY :
     244                    return tr("Sunday");
     245                    break;
     246                case DAY_MONDAY :
     247                    return tr("Monday");
     248                    break;
     249                case DAY_TUESDAY :
     250                    return tr("Tuesday");
     251                    break;
     252                case DAY_WENDESDAY :
     253                    return tr("Wednesday");
     254                    break;
     255                case DAY_THURSDAY :
     256                    return tr("Thursday");
     257                    break;
     258                case DAY_FRIDAY :
     259                    return tr("Friday");
     260                    break;
     261                case DAY_SATURDAY :
     262                    return tr("Saturday");
     263                    break;
     264            }
     265        }
     266    }
     267
    222268    return value;
    223269}
    224270
     
    237283       if ( (value == "NA") || (value == "N/A") )
    238284          return value;
    239285       else
    240           return value + (m_units == ENG_UNITS ? "°F" : "°C");
     286          return value + getTemperatureUnit();
    241287    }
    242288
    243289    return value;
  • mythweather/mythweather/weatherScreen.h

     
    1616
    1717class Weather;
    1818
     19enum DaysOfWeek {
     20    DAY_SUNDAY, DAY_MONDAY, DAY_TUESDAY, DAY_WENDESDAY, DAY_THURSDAY,
     21    DAY_FRIDAY, DAY_SATURDAY
     22};
     23
    1924/** \class WeatherScreen
    2025 *  \brief Weather screen
    2126 */
     
    6065    virtual QString prepareDataItem(const QString &key, const QString &value);
    6166    virtual void prepareWidget(MythUIType *widget);
    6267    virtual void prepareScreen();
     68    virtual QString getTemperatureUnit();
    6369
    6470  private:
    6571    QMap<QString, QString> m_dataValueMap;
  • mythweather/mythweather/scripts/uk_bbc/bbcthreedayxml.pl

     
    1818our ($opt_v, $opt_t, $opt_T, $opt_l, $opt_u, $opt_d);
    1919
    2020my $name = 'BBC-3day-XML';
    21 my $version = 0.1;
     21my $version = 0.2;
    2222my $author = 'Stuart Morgan';
    2323my $email = 'stuart@tase.co.uk';
    2424my $updateTimeout = 360*60; # 6 Hours
     
    114114
    115115    my $day = $item_title;
    116116    $day =~ s/^(.*?):.*/$1/;
     117
     118    if ($day eq 'Sunday') {
     119        $day = '0';
     120    }
     121    elsif ($day eq 'Monday') {
     122        $day = '1';
     123    }
     124    elsif ($day eq 'Tuesday') {
     125        $day = '2';
     126    }
     127    elsif ($day eq 'Wednesday') {
     128        $day = '3';
     129    }
     130    elsif ($day eq 'Thursday') {
     131        $day = '4';
     132    }
     133    elsif ($day eq 'Friday') {
     134        $day = '5';
     135    }
     136    elsif ($day eq 'Saturday') {
     137        $day = '6';
     138    }
     139
    117140    printf "date-" . $i . "::" . $day . "\n";
    118141
    119142    my $weather_string = $item_title;