diff --git a/src/Season.h b/src/Season.h index 6757535a9..ce461a744 100644 --- a/src/Season.h +++ b/src/Season.h @@ -26,6 +26,15 @@ #include "MainWindow.h" +class SeasonEvent +{ + public: + SeasonEvent(QString name, QDate date) : name(name), date(date) {} + + QString name; + QDate date; +}; + class Season { public: @@ -58,6 +67,7 @@ class Season int type; QVector _load; // array of daily planned load + QList events; }; class EditSeasonDialog : public QDialog diff --git a/src/SeasonParser.cpp b/src/SeasonParser.cpp index 60fa6baf6..9eef0e6cd 100644 --- a/src/SeasonParser.cpp +++ b/src/SeasonParser.cpp @@ -21,6 +21,11 @@ #include #include +static inline QString unquote(QString quoted) +{ + return quoted.mid(1,quoted.length()-2); +} + bool SeasonParser::startDocument() { buffer.clear(); @@ -43,6 +48,10 @@ bool SeasonParser::endElement( const QString&, const QString&, const QString &qN season.load().resize(loadcount+1); season.load()[loadcount] = buffer.trimmed().toInt(); loadcount++; + } else if (qName == "event") { + + season.events.append(SeasonEvent(unquote(buffer.trimmed()), QDate::fromString(dateString))); + } else if(qName == "season") { if(seasons.size() >= 1) { @@ -56,7 +65,7 @@ bool SeasonParser::endElement( const QString&, const QString&, const QString &qN return TRUE; } -bool SeasonParser::startElement( const QString&, const QString&, const QString &name, const QXmlAttributes & ) +bool SeasonParser::startElement( const QString&, const QString&, const QString &name, const QXmlAttributes &attrs ) { buffer.clear(); if(name == "season") { @@ -64,6 +73,13 @@ bool SeasonParser::startElement( const QString&, const QString&, const QString & loadcount = 0; } + if (name == "event") { + + for(int i=0; iSeasons) for (int i=9; i%1\n").arg(season.load()[i]); + foreach(SeasonEvent x, season.events) { + + out<\"%2\"") + .arg(x.name) + .arg(x.date.toString("yyyy-MM-dd")); + + } out <\n"); } } diff --git a/src/SeasonParser.h b/src/SeasonParser.h index cb3c0b4b3..0d800baff 100644 --- a/src/SeasonParser.h +++ b/src/SeasonParser.h @@ -44,6 +44,7 @@ protected: Season season; QList seasons; int loadcount; + QString dateString; }; #endif //SeasonParser