summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Schneider2014-07-22 16:17:05 +0200
committerManuel Schneider2014-07-22 16:17:05 +0200
commitd22c770d693ff34e8ec659fed2c74bb0d47ea87b (patch)
treebbbceba1c0429ab92cec1229feb12a149c889324
parentFix oneclick-source-change-lock-bug (diff)
downloadpvs2-d22c770d693ff34e8ec659fed2c74bb0d47ea87b.tar.gz
pvs2-d22c770d693ff34e8ec659fed2c74bb0d47ea87b.tar.xz
pvs2-d22c770d693ff34e8ec659fed2c74bb0d47ea87b.zip
Fix login-lock-bug. Update todolist
-rw-r--r--TODO60
-rw-r--r--src/server/mainwindow/mainwindow.cpp9
2 files changed, 42 insertions, 27 deletions
diff --git a/TODO b/TODO
index df05c5f..79d77c3 100644
--- a/TODO
+++ b/TODO
@@ -1,18 +1,15 @@
+--------------------------- P V S M G R ----------------------------------------
+
[ ] ConnectionFrame -> ComputerID ist schwachsinn. Wirklich sinnvoll wären
'int IDs' welche dann auch die 1 Million (*it)->client->id() zu (*it)->id()
vereinfache würden. zusätzlich kommtman villeicht irgendwann mal an den fleck an
dem man die client pointer nicht mehr anfassen muss.
-
---------------------------------------------------------------------------------
[x] Locks funtionieren immer noch nicht richtig beim source wechsel
-[ ] ein Client ist direkt nach dem Einloggen gesperrt <wenn zuvor die Funktion
+[x] ein Client ist direkt nach dem Einloggen gesperrt <wenn zuvor die Funktion
"client auf Dozi-PC projiziert und alle anderen clients schwarz>
-[ ] Beim Client: Wenn Session-ID im laufenden betrieb geändert wird, fliegt der
-Client raus. Man kann als Client (dann) keine neue Session-ID setzen.
-
[x] exklusive Projektion: Wenn das zweite Mal auf Button geklickt wird, sollen
alle Clientsperren wieder aufgehoben werden.
@@ -22,36 +19,29 @@ aus>
[x] BUG: Changing projection source in student-to-tutor results in tutor
not starting x11vnc
-[ ] Beim Anschalten (des PVS-Dozentinnenteils) sollen alle <Rechner im
-Poolraum>, auch ausgeschaltete Rechner angezeigt werden; ausgeschaltete Rechner
-abgedunkelt.
-
-[björn] Anordnung auf Monitor soll Raumstrukturen (Aufstellung der Rechner in
+[björn] Irgendwie alles das selbe :D
+<--
+Anordnung auf Monitor soll Raumstrukturen (Aufstellung der Rechner in
Reihen/Inseln) abbilden / widerspiegeln. <genau! >
+--
Simple Szenarien / Szenarien simpel halten: Zum Beispiel: Wenn Dozentin
kommt, sollen nur Rechner im Raum (des Doz.-Pults) angezeigt werden, <gleich
angeordnet in der Sitzanordnung der Rechner, s.o.>
+--
Sitzanordnung (der Studierenden) geht über alles: <so ist es! > Dozentin
wird eher Studenten räumlich umsetzen, als (beispielsweise für Kursteile A und
B) die Icons auf dem Monitor aufzusortieren, da sonst dauernde Schwierigkeiten
bei Zuordnung Ort Icon auf Monitor / Studierendenrechner im Raum. S.o., immer
physikalische Sitzordnung widerspiegeln.
+--
+Beim Anschalten (des PVS-Dozentinnenteils) sollen alle <Rechner im
+Poolraum>, auch ausgeschaltete Rechner angezeigt werden; ausgeschaltete Rechner
+abgedunkelt.
+-->
[ ] Wenn Raumbelegung: Clients sollen automatisch verbunden werden, wenn Haken
(im VMChooser) gesetzt. Dies soll ohne Eingabe einer Session-ID erfolgen.
-
-[ ] Zug (eines Clint-Rechnericons) auf Papierkorb soll Verbindung trennen, auch
-wenn PVS-Client auf Rechner online ist. Rechnersymbol soll schwarz werden.
-<sofern der Papierkorb bleiben soll. Ggfs ist die Funktion nicht nötig?>
-
-[ ] Im VMchooser (Client): -- Häkchen gesetzt, automatische Verbindung
-(Session-ID) -- wenn kein Häkchen gesetzt, soll dennoch manuelle Verbindung <per
-Session-ID> wählbar sein. <das heisst, der PVS soll in jedem Fall automatisch
-starten, ohne die Verbindung automatisch zu setzen>
-
-[ ] Informationsknopf im Clienten: <Fragzeichen-Symbol mit hinterlegtem>
-Hilfetext in Toolbar bezüglich <Erklärung der Funktion des> sichtbaren PVS-Menüs
-und zur> Session-ID-Einstellung.
+-- Wie zur hölle soll das funktionieren? IP-Whitelists?
[ ] Der Sperrbutton soll durch das Icon mit den neun Screens ersetzt werden,
damit die GUI sich einheitlicher darstellt.
@@ -63,3 +53,25 @@ Das wäre ggfs. auch eine Lösung für das zurücksetzen bzw. neu starten der
Rechnereinstellung, wenn ein Dozent fertig ist und ein anderer den Raum direkt
im Anschluss übernimmt. Dozent muss sich abmelden, neuer Dozent muss sich
anmelden, in der Zwischenzeit kann das System auf den default resetten....>
+
+--------------------------- P V S C L I E N T ----------------------------------
+
+[ ] Beim Client: Wenn Session-ID im laufenden betrieb geändert wird, fliegt der
+Client raus. Man kann als Client (dann) keine neue Session-ID setzen.
+
+[ ] Informationsknopf im Clienten: <Fragzeichen-Symbol mit hinterlegtem>
+Hilfetext in Toolbar bezüglich <Erklärung der Funktion des> sichtbaren PVS-Menüs
+und zur> Session-ID-Einstellung.
+
+[ ] Zug (eines Cleint-Rechnericons) auf Papierkorb soll Verbindung trennen, auch
+wenn PVS-Client auf Rechner online ist. Rechnersymbol soll schwarz werden.
+<sofern der Papierkorb bleiben soll. Ggfs ist die Funktion nicht nötig?>
+
+--------------------------- V M C H O O S E R ----------------------------------
+
+
+[manuel bald, bald ... ]
+Im VMchooser (Client): -- Häkchen gesetzt, automatische Verbindung
+(Session-ID) -- wenn kein Häkchen gesetzt, soll dennoch manuelle Verbindung <per
+Session-ID> wählbar sein. <das heisst, der PVS soll in jedem Fall automatisch
+starten, ohne die Verbindung automatisch zu setzen>
diff --git a/src/server/mainwindow/mainwindow.cpp b/src/server/mainwindow/mainwindow.cpp
index 7c484bb..3365473 100644
--- a/src/server/mainwindow/mainwindow.cpp
+++ b/src/server/mainwindow/mainwindow.cpp
@@ -1078,11 +1078,14 @@ void MainWindow::onVncServerStateChange(Client* client)
}
}
}
- // If this was the current source remember that there is no source anymore
- if (client == getClientFromId(_streamingSource))
- _streamingSource = NO_SOURCE;
// Dont forget to unlock the vnc server (if necesarry)
client->lockScreen(client->desiredProjectionSource() == NO_SOURCE && _mode == Mode::LockedUnicast);
+
+ // If this was the current source remember that there is no source anymore and reset mode
+ if (client == getClientFromId(_streamingSource)){
+ _streamingSource = NO_SOURCE;
+ _mode = Mode::None;
+ }
}
}