Changeset 72cd3af


Ignore:
Timestamp:
01/21/10 13:54:58 (12 years ago)
Author:
korrco <korrco@…>
Branches:
master, qt5
Children:
606c155
Parents:
e662750
Message:

activities tab implemented

Location:
src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • src/gui/mainwindow.cpp

    re662750 r72cd3af  
    163163        QDate aEndDate = Conference::getById(confId).end();
    164164        dayNavigator->setDates(aStartDate, aEndDate);
     165        //update activity map
     166        Track::updateTrackMap();
    165167        trackDayNavigator->setDates(aStartDate, aEndDate);
    166168    }
    167     //update track map
    168     Track::updateTrackMap();
    169169}
    170170
     
    208208        }
    209209        break;
    210     case 2: //index 2 of tabWidget: trackTab
    211         {
    212             static_cast<EventModel*>(trackTreeView->model())->loadEventsByTrack(Conference::getById(confId).start(), confId);
    213             trackTreeView->reset();
    214             trackDayNavigator->show();
     210    case 2: //index 2 of tabWidget: activitiesTab
     211        {
     212            //TODO korinpa: nastavit navigator, alebo dat datum navigatora pre ine case
     213            updateTracksView(activityDayNavigator->getCurrentDate());
    215214        }
    216215        break;
  • src/mvc/eventmodel.cpp

    re662750 r72cd3af  
    22#include <conference.h>
    33#include <track.h>
     4
     5const QString EventModel::COMMA_SEPARATOR = ", ";
    46
    57EventModel::EventModel()
     
    166168    {
    167169        qDebug() << "Loading Conference Data: [" << Conference::getById(aConferenceId).title() << "] " << aDate;
    168         mEvents = Event::getByDate(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId, "start");
     170        mEvents = Event::getByDate(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId, Event::START);
    169171    }
    170172    createTimeGroups();
  • src/orm/ormrecord.h

    re662750 r72cd3af  
    121121        if (!query.exec())
    122122        {
    123             throw new OrmSqlException(query.lastError().text());
     123            throw OrmSqlException(query.lastError().text());
    124124        }
    125125    }
     
    127127    if (!query.next())
    128128    {
    129         throw new OrmNoObjectException();
     129        throw OrmNoObjectException();
    130130    }
    131131
     
    141141        {
    142142            qDebug() << "Error: " << query.lastError().driverText() << "; Type: " << query.lastError().type();
    143             throw new OrmSqlException(query.lastError().text());
     143            throw OrmSqlException(query.lastError().text());
    144144        }
    145145        else
  • src/sql/schedulexmlparser.cpp

    re662750 r72cd3af  
    8282                        // process event's nodes
    8383                        QHash<QString,QString> event;
    84                         event["id"] = eventElement.attribute("id");
    85                         event["conference_id"] = QString::number(conferenceID,10);
     84                        event["id"] = eventElement.attribute("id");;
     85                        event["conference_id"] = QString::number(conferenceID, 10);
    8686                        event["start"] = eventElement.firstChildElement("start").text(); // time eg. 10:00
    8787                        event["date"] = dayElement.attribute("date"); // date eg. 2009-02-07
     
    9797                        event["description"] = eventElement.firstChildElement("description").text(); // string
    9898                        aDBEngine->addEventToDB(event);
    99 
    10099                        // process persons' nodes
    101100                        QList<QString> persons;
    102101                        QDomElement personsElement = eventElement.firstChildElement("persons");
    103102                        QDomNodeList personList = personsElement.elementsByTagName("person");
    104                         for (int i=0; i<personList.count(); i++)
    105                         {
     103                        for(int i = 0;i < personList.count();i++){
    106104                            QHash<QString,QString> person;
    107105                            person["id"] = personList.at(i).toElement().attribute("id");
    108106                            person["name"] = personList.at(i).toElement().text();
    109107                            person["event_id"] = eventElement.attribute("id");
    110                             person["conference_id"] = QString::number(conferenceID,10);
     108                            person["conference_id"] = QString::number(conferenceID, 10);
    111109                            //qDebug() << "adding Person: " << person["name"];
    112110                            aDBEngine->addPersonToDB(person);
    113111                        }
    114 
    115112                        // process links' nodes
    116113                        QDomElement linksElement = eventElement.firstChildElement("links");
    117114                        QDomNodeList linkList = linksElement.elementsByTagName("link");
    118                         for (int i=0; i<linkList.count(); i++)
    119                         {
     115                        for(int i = 0;i < linkList.count();i++){
    120116                            QHash<QString,QString> link;
    121117                            link["name"] = linkList.at(i).toElement().text();
    122118                            link["url"] = linkList.at(i).toElement().attribute("href");
    123119                            link["event_id"] = eventElement.attribute("id");
    124                             link["conference_id"] = QString::number(conferenceID,10);
     120                            link["conference_id"] = QString::number(conferenceID, 10);
    125121                            aDBEngine->addLinkToDB(link);
    126122                        }
    127 
    128123                        // emit signal to inform the user about the current status (how many events are parsed so far - expressed in %)
    129                         int status=currentEvent*100/totalEventsCount;
    130                         emit progressStatus(status);
     124                        int status = currentEvent * 100 / totalEventsCount;
     125                        progressStatus(status);
    131126                    } // parsing event elements
    132127                }
  • src/sql/sql.pro

    re662750 r72cd3af  
    77
    88# module dependencies
     9LIBS += -L$$DESTDIR -lmvc -lorm
     10INCLUDEPATH += ../mvc ../orm
    911DEPENDPATH += .
    1012
  • src/sql/sqlengine.cpp

    re662750 r72cd3af  
    88#include <QDir>
    99#include "sqlengine.h"
     10#include <track.h>
    1011
    1112#include <QDebug>
     
    8990    if (db.isValid() && db.isOpen())
    9091    {
    91         // track has to be handled as the first, since it is necessary to get
    92         // track ID from the TRACK table, or to create new TRACK record
    93         // and get the ID from newly created record
    94         QString queryExist = QString("SELECT id FROM track WHERE name='%1'").arg(aEvent["track"]);
    95         QSqlQuery resultExist(queryExist,db);
    96         // now we have to check whether TRACK record with 'name' exists or not,
    97         // - if it doesn't exist yet, then we have to add that record to 'TRACK' table
    98         // - if it exists, then we need to get its 'id'
    99         int actId = -1;
    100         if(resultExist.next()) // TRACK record with 'name' already exists: we need to get its 'id'
     92        //insert event track to table
     93        QString name = aEvent["track"];
     94        Track track;
     95        int trackId;
     96        try
    10197        {
    102             actId = resultExist.value(0).toInt();
     98            track = Track::retrieveByName(name);
     99            trackId = track.id();
     100            /*qDebug() << QString("DEBUG: Track %1 in DB").arg(name);*/
    103101        }
    104         else // TRACK record doesn't exist yet, need to create it
    105         {
    106             QString values = QString("'%1'").arg(aEvent["track"]);
    107             QString query = QString("INSERT INTO track (name) VALUES (%1)").arg(values);
    108             QSqlQuery result (query, db);
    109             actId = result.lastInsertId().toInt(); // 'id' is assigned automatically
     102        catch (OrmNoObjectException &e) {
     103            track.setName(name);
     104            trackId = track.insert();
     105            /*qDebug() << QString("DEBUG: Track %1 added to DB").arg(name);*/
    110106        }
    111 
    112107        // The items of the Event are divided into the two tables EVENT and VIRTUAL_EVENT
    113108        // VIRTUAL_EVENT is for Full-Text-Serach Support
     
    118113                         .arg(QString::number(startDateTime.toTime_t())) \
    119114                         .arg(-QTime::fromString(aEvent["duration"],TIME_FORMAT).secsTo(QTime(0,0))) \
    120                          .arg(QString::number(actId)) \
     115                         .arg(trackId) \
    121116                         .arg(aEvent["type"]) \
    122117                         .arg(aEvent["language"]) \
     
    236231        query.exec("CREATE TABLE TRACK ( \
    237232            id INTEGER  PRIMARY KEY AUTOINCREMENT  NOT NULL , \
    238             name VARCHAR NOT NULL )");
     233            name VARCHAR UNIQUE NOT NULL )");
    239234
    240235        query.exec("CREATE TABLE ROOM ( \
Note: See TracChangeset for help on using the changeset viewer.