1 #ifndef PVS_MAINWINDOW_H_
2 #define PVS_MAINWINDOW_H_
74 ConnectionFrame*
createFrame(
const QString &computerId = QString(),
const QPoint *gridPosition =
nullptr,
bool fromRoomplan =
false);
QRect calcFrameGeometry(ConnectionFrame *frame) const
MainWindow(QWidget *parent=nullptr)
Initialize MainWindow and ListenServer.
void enableButtons()
EnableButtons.
void onReloadRoomCancel()
void tellClientCurrentSituation(Client *client)
Tells the new client the current situation in class room.
void reset(bool lock=false)
reset
QTimer * _buttonLockTimer
static const qint64 BUTTON_BLOCK_TIME
void mouseReleaseEvent(QMouseEvent *e) override
Handle Mouse Release Event.
void onFrameDropped(ConnectionFrame *frame)
Place frame to from user specified position.
QPoint closestFreeSlot(const QPoint &preferredPixels, const ConnectionFrame *toIgnore)
: find the closest available frame.
void onFrameMoving(ConnectionFrame *frame)
void clientCountChanged()
this function determines if the number of clients in exam mode comprise more than 50%...
ClickLabel * _sessionNameLabel
ConnectionFrame * createFrame(const QString &computerId=QString(), const QPoint *gridPosition=nullptr, bool fromRoomplan=false)
Create new Frame.
int getTileHeightPx() const
SessionNameWindow * _sessionNameWindow
QImage * _backgroundImage
void changeEvent(QEvent *e) override
Change Event.
void disableButtons()
DisableButtons.
void placeFrameInFreeSlot(ConnectionFrame *frame, QPoint preferred=QPoint(-1,-1))
void onVncClientStateChange(Client *client)
Handle VNC client state change.
void onClientAuthenticated(Client *client)
New client was authenticated, make several checks.
void onButtonExit()
On button exit, close application.
int getTileWidthPx() const
ReloadRoomWindow * _reloadWindow
void closeEvent(QCloseEvent *e) override
Handle closeEvent.
void onButtonTutorToAll()
Handle projection from tutor to all.
QList< QAction * > _lockingButtons
void onButtonStudentToTutor()
Handle projection from one student to tutor.
ConnectionFrame * getSelectedFrame()
Return the Frame, which is currently selected by user.
void onVncServerStateChange(Client *client)
Handle if VNC Server State has changed.
void onButtonStudentToTutorExclusive()
Handle projection from one student to tutor, lock everyone else.
void onSessionNameUpdate()
Update session name.
Class for clickable part on sessionName.
void onButtonLockSingle()
void vncOneOnOne(bool exclusive)
ConnectionFrame * getTutorFrame()
Return the Frame, which is currently beeing Tutor.
void resizeEvent(QResizeEvent *e) override
Resize event.
void onSessionNameClick()
Show session name, after it was clicked on.
void startVncServerIfNecessary(int from)
MainWindow::startVncServerIfNecessary.
void onButtonSetAsTutor()
Handle button to set specific client as tutor.
void updateContextButtonStates()
Class for representing the clients of current session, with a specific frame displaying username and ...
void onClientConnected(Client *client)
Handle from ListenServer signaled new client connection.
Class for listing on new client connection.
void onFrameClicked(ConnectionFrame *frame)
Mark given frame after it was clicked on.
Client * getClientFromId(int id)
Returns connected client which belongs to given id.
void onClientAuthenticating(Client *client, ClientLogin *request)
Authenticate new Client client.
enum MainWindow::Mode _mode
void onButtonStopProjection()
Handle Button StopProjection.
void onButtonLock(bool checked)
Handle button to lock or unlock screens of client(s).
QList< ConnectionFrame * > _clientFrames
void onButtonHelp()
Display popup which explains possible actions about the buttons.
void onButtonTutorToStudent()
Handle the projection from Tutor to specific student.
void onButtonReloadRoomConfig()