- Timestamp:
- 04/30/13 23:42:38 (10 years ago)
- Branches:
- master, qt5
- Children:
- 5130dc7
- Parents:
- 83481c6
- Location:
- src/mvc
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/mvc/conference.h
r83481c6 r41c4ceb 50 50 QDate end() const { return value("end").toDate(); } 51 51 int dayChange() const { return value("day_change").toInt(); } // in seconds from 00:00 52 QTime dayChangeTime() const {QTime dayChangeTime(0, 0); return dayChangeTime.addSecs(dayChange());} 52 53 int timeslotDuration() const { return value("timeslot_duration").toInt(); } // in seconds 53 54 bool isActive() const { return value("active").toBool(); } -
src/mvc/event.cpp
r83481c6 r41c4ceb 18 18 * ConfClerk. If not, see <http://www.gnu.org/licenses/>. 19 19 */ 20 #include "conference.h" 20 21 #include "event.h" 21 22 #include "room.h" … … 54 55 55 56 QList<Event> Event::getByDate(const QDate& date, int conferenceId, QString orderBy) { 57 Q_ASSERT(conferenceId > 0); 58 Conference conference = Conference::getById(conferenceId); 59 QDateTime dayStart(date, conference.dayChangeTime(), Qt::UTC); 56 60 QSqlQuery query; 57 61 query.prepare(selectQuery() + QString("WHERE xid_conference = :conf AND start >= :start AND start < :end ORDER BY %1").arg(orderBy)); 58 62 query.bindValue(":conf", conferenceId); 59 query.bindValue(":start", convertToDb(date, QVariant::DateTime)); 60 query.bindValue(":end", convertToDb(date.addDays(1), QVariant::DateTime)); 61 return load(query); 62 } 63 64 QList<Event> Event::getByDateAndRoom(const QDate& date, int conferenceId) 65 { 63 query.bindValue(":start", dayStart.toTime_t()); 64 query.bindValue(":end", dayStart.addDays(1).toTime_t()); 65 return load(query); 66 } 67 68 69 QList<Event> Event::getByDateAndRoom(const QDate& date, int conferenceId) { 70 Q_ASSERT(conferenceId > 0); 71 Conference conference = Conference::getById(conferenceId); 72 QDateTime dayStart(date, conference.dayChangeTime(), Qt::UTC); 66 73 QSqlQuery query; 67 74 QString aliasEvent("E"); … … 70 77 columnsForSelect(aliasEvent), Event::sTableName, aliasEvent, "EVENT_ROOM", aliasEventRoom)); 71 78 query.bindValue(":conf", conferenceId); 72 query.bindValue(":start", convertToDb(date, QVariant::DateTime));73 query.bindValue(":end", convertToDb(date.addDays(1), QVariant::DateTime));79 query.bindValue(":start", dayStart.toTime_t()); 80 query.bindValue(":end", dayStart.addDays(1).toTime_t()); 74 81 75 82 return load(query); … … 104 111 105 112 106 QList<Event> Event::getFavByDate(const QDate& date, int conferenceId) 107 { 113 QList<Event> Event::getFavByDate(const QDate& date, int conferenceId) { 114 Q_ASSERT(conferenceId > 0); 115 Conference conference = Conference::getById(conferenceId); 116 QDateTime dayStart(date, conference.dayChangeTime(), Qt::UTC); 108 117 QSqlQuery query; 109 118 query.prepare(selectQuery() + QString("WHERE xid_conference = :conf AND start >= :start AND start < :end AND favourite = 1 ORDER BY start, duration")); 110 119 query.bindValue(":conf", conferenceId); 111 query.bindValue(":start", convertToDb(date, QVariant::DateTime));112 query.bindValue(":end", convertToDb(date.addDays(1), QVariant::DateTime));120 query.bindValue(":start", dayStart.toTime_t()); 121 query.bindValue(":end", dayStart.addDays(1).toTime_t()); 113 122 114 123 return load(query); … … 237 246 } 238 247 248 Q_ASSERT(conferenceId > 0); 249 Conference conference = Conference::getById(conferenceId); 250 QDateTime dayStart(date, conference.dayChangeTime(), Qt::UTC); 251 239 252 query.bindValue(":conf", conferenceId); 240 query.bindValue(":start", convertToDb(date, QVariant::DateTime));241 query.bindValue(":end", convertToDb(date.addDays(1), QVariant::DateTime));253 query.bindValue(":start", dayStart.toTime_t()); 254 query.bindValue(":end", dayStart.addDays(1).toTime_t()); 242 255 243 256 list = load(query); -
src/mvc/eventmodel.cpp
r83481c6 r41c4ceb 30 30 31 31 void EventModel::Group::setTitle(const QList<Event>& mEvents) { 32 Q Time startTime = mEvents.at(mFirstEventIndex).start().time();33 Q Time endTime(0, 0);32 QDateTime startTime = mEvents.at(mFirstEventIndex).start(); 33 QDateTime endTime(startTime); 34 34 for (int i = mFirstEventIndex; i != mFirstEventIndex + mChildCount; ++i) { 35 endTime = qMax(mEvents.at(i).start(). time().addSecs(mEvents.at(i).duration()), endTime);35 endTime = qMax(mEvents.at(i).start().addSecs(mEvents.at(i).duration()), endTime); 36 36 } 37 37 mTitle = QString("%1 - %2").arg(startTime.toString("HH:mm")).arg(endTime.toString("HH:mm")); … … 236 236 } 237 237 238 void EventModel::loadEvents(const QDate &aDate, int aConferenceId) 239 { 240 clearModel(); 241 // check for existence of the conference in the DB 242 if(Conference::getAll().count()) 243 { 244 mEvents = Event::getByDate(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId, "start, duration"); 245 } 238 239 void EventModel::loadEvents(const QDate &aDate, int aConferenceId) { 240 clearModel(); 241 mEvents = Event::getByDate(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId, "start, duration"); 246 242 createTimeGroups(); 247 243 } 248 244 249 void EventModel::loadFavEvents(const QDate &aDate, int aConferenceId) 250 { 251 clearModel(); 252 // check for existence of the conference in the DB 253 if(Conference::getAll().count()) 254 { 255 mEvents = Event::getFavByDate(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId); 256 } 245 246 void EventModel::loadFavEvents(const QDate &aDate, int aConferenceId) { 247 clearModel(); 248 mEvents = Event::getFavByDate(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId); 257 249 createTimeGroups(); 258 250 } 259 251 260 int EventModel::loadSearchResultEvents(const QDate &aDate, int aConferenceId) 261 { 262 clearModel(); 263 // check for existence of the conference in the DB 264 if(Conference::getAll().count()) 265 { 266 try{ 267 mEvents = Event::getSearchResultByDate(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId, "start, duration"); 268 } 269 catch( OrmException &e ){ 270 qDebug() << "Event::getSearchResultByDate failed: " << e.text(); 271 } 272 catch(...){ 273 qDebug() << "Event::getSearchResultByDate failed"; 274 } 275 252 253 int EventModel::loadSearchResultEvents(const QDate &aDate, int aConferenceId) { 254 clearModel(); 255 try { 256 mEvents = Event::getSearchResultByDate(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId, "start, duration"); 257 } 258 catch( OrmException &e ){ 259 qDebug() << "Event::getSearchResultByDate failed: " << e.text(); 260 } 261 catch(...){ 262 qDebug() << "Event::getSearchResultByDate failed"; 276 263 } 277 264 … … 281 268 } 282 269 283 void EventModel::loadEventsByTrack(const QDate &aDate, int aConferenceId) 284 { 285 clearModel(); 286 if (Conference::getAll().count()) 287 { 288 mEvents = Event::getByDate(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId, "xid_track, start, duration"); 289 } 270 271 void EventModel::loadEventsByTrack(const QDate &aDate, int aConferenceId) { 272 clearModel(); 273 mEvents = Event::getByDate(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId, "xid_track, start, duration"); 290 274 createTrackGroups(); 291 275 } 292 276 293 void EventModel::loadEventsByRoom(const QDate &aDate, int aConferenceId) 294 { 295 clearModel(); 296 if (Conference::getAll().count()) 297 { 298 mEvents = Event::getByDateAndRoom(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId); 299 } 277 278 void EventModel::loadEventsByRoom(const QDate &aDate, int aConferenceId) { 279 clearModel(); 280 mEvents = Event::getByDateAndRoom(QDate(aDate.year(), aDate.month(), aDate.day()), aConferenceId); 300 281 createRoomGroups(); 301 282 } … … 304 285 void EventModel::loadConflictEvents(int aEventId, int aConferenceId) { 305 286 clearModel(); 306 // check for existence of the conference in the DB 307 if(Conference::getAll().count()) 308 { 309 mEvents = Event::conflictEvents(aEventId, aConferenceId); 310 } 287 mEvents = Event::conflictEvents(aEventId, aConferenceId); 311 288 createTimeGroups(); 312 289 } 290 313 291 314 292 void EventModel::updateModel(int aEventId)
Note: See TracChangeset
for help on using the changeset viewer.