diff options
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/connectionframe/connectionframe.cpp | 10 | ||||
-rw-r--r-- | src/server/mainwindow/mainwindow.cpp | 23 | ||||
-rw-r--r-- | src/server/util/global.cpp | 5 | ||||
-rw-r--r-- | src/server/util/global.h | 6 |
4 files changed, 26 insertions, 18 deletions
diff --git a/src/server/connectionframe/connectionframe.cpp b/src/server/connectionframe/connectionframe.cpp index d979798..68160b5 100644 --- a/src/server/connectionframe/connectionframe.cpp +++ b/src/server/connectionframe/connectionframe.cpp @@ -326,12 +326,16 @@ void ConnectionFrame::updateAppearance() if (_client == NULL) { // Unconnected Frame - if (_isSelected) + if (_isSelected) { this->setStyleSheet(style_selectedStudent); - else + } else if (_isTutor) { + this->setStyleSheet(style_tutor); + }else { this->setStyleSheet(style_disconnected); - for (QList<QLabel*>::iterator it(_icons.begin()); it != _icons.end(); ++it) + } + for (QList<QLabel*>::iterator it(_icons.begin()); it != _icons.end(); ++it) { (**it).hide(); + } return; } _icoCam->setVisible(_client->isActiveVncServer()); diff --git a/src/server/mainwindow/mainwindow.cpp b/src/server/mainwindow/mainwindow.cpp index c7d8a9e..b76534e 100644 --- a/src/server/mainwindow/mainwindow.cpp +++ b/src/server/mainwindow/mainwindow.cpp @@ -398,10 +398,9 @@ void MainWindow::tryToUseRoomTemplate() conf.endArray(); /* read backgroundImage */ - QString image = conf.contains("backgroundImage") ? conf.value("backgroundImage").toString() : ""; - - // Find the managerIP of current room. - QString mgrIP = conf.value("mgrIP").toString(); + QString image = conf.contains("backgroundImage") ? conf.value("backgroundImage").toString() : ""; + QString mgrIP = conf.value("mgrIP").toString(); + QString tutorIP = conf.value("tutorIP").toString(); QSize gridSize; QSize clientSize(1,1); @@ -427,7 +426,7 @@ void MainWindow::tryToUseRoomTemplate() qDebug() << "had to use minimalGridSize(): = " << gridSize; } - Room* r = new Room(clientPositions, gridSize, clientSize, image); + Room* r = new Room(clientPositions, gridSize, clientSize, image, tutorIP); qDebug() << "read new room: " << roomName << ": " << gridSize << ", " << clientSize; roomsList.insert(roomName, r); } @@ -829,17 +828,23 @@ void MainWindow::switchRoomTo(QString roomToReload) { /* place connection frames */ - for (QMap<QString, QPoint>::iterator it = room->clientPositions.begin(); it != room->clientPositions.end(); ++it) - { + for (auto it = room->clientPositions.begin(); it != room->clientPositions.end(); ++it) { QString computerId = it.key(); QPoint pos = it.value(); - - /* Transform to pixels for createFrame(computerId, position).*/ QPoint pxPos(pos.x() * getTileWidthPx(), pos.y() * getTileHeightPx()); ConnectionFrame *cf = createFrame(computerId, pxPos, pos); cf->move(cf->getCurrentPosition()); onPlaceFrame(false, cf); + if (computerId == room->tutorIP) { + qDebug() << "set computer with id " << computerId << " as tutor per configuration"; + if (getTutorFrame() != NULL) { + getTutorFrame()->setTutor(false); + } + cf->setTutor(true); + } else { + //qDebug() << "not tutor because id is " << computerId << " and tutorIP is " << room->tutorIP; + } } /* load background image */ diff --git a/src/server/util/global.cpp b/src/server/util/global.cpp index 41f6389..39e72fb 100644 --- a/src/server/util/global.cpp +++ b/src/server/util/global.cpp @@ -38,15 +38,12 @@ void Global::setCurrentRoom(QString room) const Room* Global::getCurrentRoom() { if (_rooms.contains(_currentRoom)) { - qDebug() << "returning actual room: " << _currentRoom; return _rooms[_currentRoom]; } else { - qDebug() << "couldn't find the room name " << _currentRoom << " in the _rooms-Map"; static Room* defaultRoom = NULL; if (defaultRoom == NULL) { - defaultRoom = new Room(QMap<QString, QPoint>(), QSize(8, 6), QSize(1,1), ""); + defaultRoom = new Room(QMap<QString, QPoint>(), QSize(8, 6), QSize(1,1), "", ""); } - qDebug() << "returned default room"; return defaultRoom; } } diff --git a/src/server/util/global.h b/src/server/util/global.h index 59bed27..4a71348 100644 --- a/src/server/util/global.h +++ b/src/server/util/global.h @@ -17,15 +17,17 @@ #include <QList> struct Room { - Room(QMap<QString, QPoint> cPos, QSize grid, QSize client, QString image) : + Room(QMap<QString, QPoint> cPos, QSize grid, QSize client, QString image, QString tutor) : clientPositions(cPos), gridSize(grid), clientSize(client), - imagePath(image) {}; + imagePath(image), + tutorIP(tutor){}; QMap<QString, QPoint> clientPositions; QSize gridSize; QSize clientSize; QString imagePath; + QString tutorIP; }; class Global { |