CREATE TABLE ROOM ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
, name VARCHAR UNIQUE NOT NULL
, picture VARCHAR NOT NULL);
-INSERT INTO "ROOM" VALUES(1,'Janson','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(2,'Chavanne','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(3,'Ferrer','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(4,'Lameere','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(5,'H.1301','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(6,'UA2.114','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(7,'H.1302','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(8,'H.1308','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(9,'H.1309','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(10,'H.2213','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(11,'H.2214','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(12,'AW1.105','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(13,'AW1.120','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(14,'AW1.121','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(15,'AW1.124','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(16,'AW1.126','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(17,'Guillissen','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(18,'AY','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(19,'AW1.117','NOT DEFINED YET');
-INSERT INTO "ROOM" VALUES(20,'AW1.125','NOT DEFINED YET');
+INSERT INTO "ROOM" VALUES(1,'Janson', ':/maps/rooms/janson.png');
+INSERT INTO "ROOM" VALUES(2,'Chavanne', ':/maps/rooms/chavanne.png');
+INSERT INTO "ROOM" VALUES(3,'Ferrer', ':/maps/rooms/ferrer.png');
+INSERT INTO "ROOM" VALUES(4,'Lameere', ':/maps/rooms/lameere.png');
+INSERT INTO "ROOM" VALUES(5,'H.1301', ':/maps/rooms/h1301.png');
+INSERT INTO "ROOM" VALUES(6,'UA2.114', ':/maps/rooms/ua2114.png');
+INSERT INTO "ROOM" VALUES(7,'H.1302', ':/maps/rooms/h1302.png');
+INSERT INTO "ROOM" VALUES(8,'H.1308', ':/maps/rooms/h1308.png');
+INSERT INTO "ROOM" VALUES(9,'H.1309', ':/maps/rooms/h1309.png');
+INSERT INTO "ROOM" VALUES(10,'H.2213', ':/maps/rooms/h2213.png');
+INSERT INTO "ROOM" VALUES(11,'H.2214', ':/maps/rooms/h2214.png');
+INSERT INTO "ROOM" VALUES(12,'AW1.105', ':/maps/rooms/aw1105.png');
+INSERT INTO "ROOM" VALUES(13,'AW1.120', ':/maps/rooms/aw1120.png');
+INSERT INTO "ROOM" VALUES(14,'AW1.121', ':/maps/rooms/aw1121.png');
+INSERT INTO "ROOM" VALUES(15,'AW1.124', ':/maps/rooms/aw1124.png');
+INSERT INTO "ROOM" VALUES(16,'AW1.126', ':/maps/rooms/aw1126.png');
+INSERT INTO "ROOM" VALUES(17,'Guillissen', ':/maps/rooms/guillissen.png');
+INSERT INTO "ROOM" VALUES(18,'AY', ':/maps/rooms/ay.png');
+INSERT INTO "ROOM" VALUES(19,'AW1.117', ':/maps/rooms/aw1117.png');
+INSERT INTO "ROOM" VALUES(20,'AW1.125', ':/maps/rooms/aw1125.png');
CREATE TABLE PERSON ( id INTEGER PRIMARY KEY NOT NULL, name VARCHAR UNIQUE NOT NULL);
INSERT INTO "PERSON" VALUES(19,'Tias Guns');
INSERT INTO "PERSON" VALUES(22,'Peter Saint-Andre');
#include "eventdialog.h"
#include "mapwindow.h"
+#include "room.h"
+#include "errormessage.h"
#include "conflictsdialog.h"
{
Event *event = static_cast<Event*>(aIndex.internalPointer());
- // room names are stored in lower-case format
- // room names are stored without dots in the name, eg. "aw.1124.png" -> "aw1124.png"
- QString mapPath = QString(":/maps/rooms/%1.png").arg(event->room().toLower().remove("."));
- if(!QFile::exists(mapPath))
- mapPath = QString(":/maps/rooms/not-available.png");
-
- QString roomName;
- if(mapPath.contains("not-available", Qt::CaseInsensitive))
- roomName = QString("Map is not available: %1").arg(event->room());
- else
- roomName = event->room();
+ Room room = Room::retrieve(event->roomId());
+ QVariant mapPathV = room.map();
+ QString mapPath;
+ if (!mapPathV.isValid()) {
+ error_message("No map for this room");
+ return;
+ } else {
+ mapPath = mapPathV.toString();
+ if (!QFile::exists(mapPath)) {
+ error_message("Map for this room not found: " + mapPath);
+ return;
+ }
+ }
QPixmap map(mapPath);
- MapWindow window(map,roomName,this);
+ MapWindow window(map, room.name(),this);
window.exec();
}