From d22c770d693ff34e8ec659fed2c74bb0d47ea87b Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Tue, 22 Jul 2014 16:17:05 +0200 Subject: Fix login-lock-bug. Update todolist --- TODO | 60 +++++++++++++++++++++--------------- src/server/mainwindow/mainwindow.cpp | 9 ++++-- 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 -[ ] 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 , 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. +-- Simple Szenarien / Szenarien simpel halten: Zum Beispiel: Wenn Dozentin kommt, sollen nur Rechner im Raum (des Doz.-Pults) angezeigt werden, +-- Sitzanordnung (der Studierenden) geht über alles: 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 , 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. - - -[ ] Im VMchooser (Client): -- Häkchen gesetzt, automatische Verbindung -(Session-ID) -- wenn kein Häkchen gesetzt, soll dennoch manuelle Verbindung wählbar sein. - -[ ] Informationsknopf im Clienten: -Hilfetext in Toolbar bezüglich 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: +Hilfetext in Toolbar bezüglich 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. + + +--------------------------- 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 wählbar sein. 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; + } } } -- cgit v1.2.3-55-g7522