connect(nowTreeView, SIGNAL(requestForWarning(const QModelIndex &)), SLOT(displayWarning(const QModelIndex &)));
// event search button clicked
connect(searchButton, SIGNAL(clicked()), SLOT(searchClicked()));
+ // event conference map button clicked
+ connect(showMapButton, SIGNAL(clicked()), SLOT(conferenceMapClicked()));
//
connect(tabWidget, SIGNAL(currentChanged(int)), SLOT(tabHasChanged(int)));
{
ImportScheduleDialog dialog(mSqlEngine,this);
dialog.exec();
-
- if(Conference::getAll().count())
+
+ QList<Conference> confs = Conference::getAll();
+ if(!confs.count()) // no conference(s) in the DB
{
+ AppSettings::setConfId(0); // no conference in the DB
+ }
+ else
+ {
+ if(AppSettings::confId() == 0)
+ AppSettings::setConfId(confs[0].id());
+
// 'dayNavigator' emits signal 'dateChanged' after setting valid START:END dates
QDate aStartDate = Conference::getById(AppSettings::confId()).start();
QDate aEndDate = Conference::getById(AppSettings::confId()).end();
updateSearchView( Conference::getById(AppSettings::confId()).start() );
}
+void MainWindow::conferenceMapClicked()
+{
+
+ QString mapPath = QString(":/maps/campus.png");
+ if(!QFile::exists(mapPath))
+ mapPath = QString(":/maps/rooms/not-available.png");
+
+ QString roomName;
+
+ QPixmap map(mapPath);
+ MapWindow window(map,roomName,this);
+ window.exec();
+}
+
void MainWindow::displayWarning(const QModelIndex &aIndex)
{
Q_UNUSED(aIndex);