diff options
author | Manuel Schneider | 2014-07-22 16:17:05 +0200 |
---|---|---|
committer | Manuel Schneider | 2014-07-22 16:17:05 +0200 |
commit | d22c770d693ff34e8ec659fed2c74bb0d47ea87b (patch) | |
tree | bbbceba1c0429ab92cec1229feb12a149c889324 | |
parent | Fix oneclick-source-change-lock-bug (diff) | |
download | pvs2-d22c770d693ff34e8ec659fed2c74bb0d47ea87b.tar.gz pvs2-d22c770d693ff34e8ec659fed2c74bb0d47ea87b.tar.xz pvs2-d22c770d693ff34e8ec659fed2c74bb0d47ea87b.zip |
Fix login-lock-bug. Update todolist
-rw-r--r-- | TODO | 60 | ||||
-rw-r--r-- | src/server/mainwindow/mainwindow.cpp | 9 |
2 files changed, 42 insertions, 27 deletions
@@ -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; + } } } |