summaryrefslogtreecommitdiffstats
path: root/src/server
diff options
context:
space:
mode:
authorChristian Klinger2016-05-20 11:59:43 +0200
committerChristian Klinger2016-05-20 11:59:43 +0200
commit39938efd6c437391ddfaadfb9c4dbe4f08c54556 (patch)
tree82f7357a858d9269bf4b8b83c5e259f3b8fb24d2 /src/server
parentadded --manager-only (and removed the ipList-feature) (diff)
downloadpvs2-39938efd6c437391ddfaadfb9c4dbe4f08c54556.tar.gz
pvs2-39938efd6c437391ddfaadfb9c4dbe4f08c54556.tar.xz
pvs2-39938efd6c437391ddfaadfb9c4dbe4f08c54556.zip
added feature tutorIP.
Diffstat (limited to 'src/server')
-rw-r--r--src/server/connectionframe/connectionframe.cpp10
-rw-r--r--src/server/mainwindow/mainwindow.cpp23
-rw-r--r--src/server/util/global.cpp5
-rw-r--r--src/server/util/global.h6
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 {