painter->drawText(titlePointF,"Presenter(s): " + event->persons().join(" and "));
// track
titlePointF.setY(titlePointF.y()+fmSmall.height()-fmSmall.descent());
- painter->drawText(titlePointF,"Track: " + Track::getTrackName(event->trackId()));
+ painter->drawText(titlePointF,"Track: " + Track::retrieveTrackName(event->trackId()));
}
else // doesn't have parent - time-groups' elements (top items)
{
return load(query);
}
+QList<Event> Event::getByTrack(int trackId)
+{
+ QSqlQuery query;
+ query.prepare(selectQuery() + QString("WHERE xid_track = :trackId ORDER BY start"));
+ query.bindValue(":trackId", trackId);
+
+ return load(query);
+}
+
QString Event::room() const
{
QSqlQuery query;
static QList<Event> getFavByDate(const QDate & date, int conferenceId); // get Favourities by Date
static QList<Event> getSearchResultByDate(const QDate& date, int conferenceId, QString orderBy);
static QList<Event> nowEvents(int conferenceId, QString orderBy); // get events scheduled NOW
+ static QList<Event> getByTrack(int id);
public:
int id() const { return value("id").toInt(); }
int conferenceId() const { return value("xid_conference").toInt(); }
}
int trackId = mEvents.first().trackId();
- mGroups << EventModel::Group(Track::getTrackName(trackId), 0);
+ mGroups << EventModel::Group(Track::retrieveTrackName(trackId), 0);
int nextTrackId = trackId;
for (int i=0; i<mEvents.count(); i++)
if (nextTrackId != trackId)
{
mGroups.last().mChildCount = i - mGroups.last().mFirstEventIndex;
- mGroups << EventModel::Group(Track::getTrackName(trackId), i);
+ mGroups << EventModel::Group(Track::retrieveTrackName(trackId), i);
nextTrackId = trackId;
}
// add parent-child relation
mGroups.last().mChildCount = mEvents.count() - mGroups.last().mFirstEventIndex;
}
+void EventModel::createTrackGroupsNew() {
+ mGroups.clear();
+ mParents.clear();
+ if (mEvents.empty())
+ {
+ return;
+ }
+ QList<Track> trackList = Track::getAll();
+ QList<Track>::iterator track = trackList.begin();
+ while (track != trackList.end())
+ {
+ QList<Event> eventList = Event::getByTrack(track->id());
+ QList<Event>::iterator event = eventList.begin();
+ while (event != eventList.end())
+ {
+ //TODO korinpa: pokracuj
+ event++;
+ }
+ track++;
+ }
+}
+
QVariant EventModel::data(const QModelIndex& index, int role) const
{
if (index.isValid() && role == Qt::DisplayRole)
private:
void createTimeGroups();
void createTrackGroups();
+ void createTrackGroupsNew();
void clearModel();
public slots:
QT += sql
# module dependencies
-LIBS += -L$$DESTDIR -lorm
+LIBS += -L$$DESTDIR \
+ -lorm
INCLUDEPATH += ../orm ../app
-DEPENDPATH += . ../orm
+DEPENDPATH += . \
+ ../orm
TARGETDEPS += $$DESTDIR/liborm.a
-
maemo {
- LIBS += -L$$DESTDIR -lqalarm -lalarm
+ LIBS += -L$$DESTDIR \
+ -lqalarm \
+ -lalarm
INCLUDEPATH += ../alarm
- DEPENDPATH += ../alarm
+ DEPENDPATH += ../alarm
TARGETDEPS += $$DESTDIR/libqalarm.a
}
-
-HEADERS += event.h \
- conference.h \
- track.h \
- delegate.h \
- eventmodel.h \
- treeview.h
-
-SOURCES += event.cpp \
- conference.cpp \
- track.cpp \
- delegate.cpp \
- eventmodel.cpp \
- treeview.cpp
+HEADERS += room.h \
+ event.h \
+ conference.h \
+ track.h \
+ delegate.h \
+ eventmodel.h \
+ treeview.h
+SOURCES += room.cpp \
+ event.cpp \
+ conference.cpp \
+ track.cpp \
+ delegate.cpp \
+ eventmodel.cpp \
+ treeview.cpp
<< QSqlField("id", QVariant::Int)
<< QSqlField(NAME, QVariant::String));
-QMap<int, Track> Track::mIdToTrack;
+//QMap<int, Track> Track::mIdToTrack;
class TrackInsertException : OrmSqlException
{
return load(query);
}
-void Track::updateTrackMap()
+Track Track::retrieve(int id)
{
- mIdToTrack.clear();
- QList<Track> trackList = Track::getAll();
- Track track;
- for (int id = 0; id < trackList.count(); ++id) {
- track = trackList.at(id);
- mIdToTrack.insert(track.id(), track);
- }
+ QSqlQuery query;
+ query.prepare(selectQuery()
+ + QString("WHERE %1.id = :id").arg(sTableName));
+ query.bindValue(":id", id);
+ return loadOne(query);
}
-QString Track::getTrackName(int id)
+QString Track::retrieveTrackName(int id)
{
- QString name = mIdToTrack.value(id).name();
- if (name == "") {
- qDebug() << QString("Error: undefined activity name for id %1").arg(id);
- }
- return name;
+ Track track = retrieve(id);
+ return track.name();
}
QString name() const { return value("name").toString(); }
void setName(const QString & type) { setValue("name", type); }
public:
- //static void
static QList<Track> getAll();
+ static Track retrieve(int id);
+ static QString retrieveTrackName(int id);
static Track retrieveByName(QString name);
- static void updateTrackMap();
- static QString getTrackName(int id);
};
#endif /* TRACK_H_ */
if (db.isValid() && db.isOpen())
{
- //insert event track to table
+ //insert event track to table and get track id
QString name = aEvent["track"];
Track track;
int trackId;