From 5acd0590258e9335cf4d3b1910a517efccd22a3e Mon Sep 17 00:00:00 2001
From: Fabian Schillinger
Date: Fri, 9 Jul 2010 21:18:44 +0200
Subject: first commit to test git
---
src/gui/ui/mainwindowtouch.ui | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
(limited to 'src/gui/ui/mainwindowtouch.ui')
diff --git a/src/gui/ui/mainwindowtouch.ui b/src/gui/ui/mainwindowtouch.ui
index 9030b17..f8e76c0 100644
--- a/src/gui/ui/mainwindowtouch.ui
+++ b/src/gui/ui/mainwindowtouch.ui
@@ -28,8 +28,8 @@
0
0
- 1327
- 658
+ 1329
+ 660
@@ -365,6 +365,7 @@
+
@@ -636,6 +637,18 @@
Ctrl+D
+
+
+
+ :/finder:/finder
+
+
+ Show Processes
+
+
+ show processes of this client
+
+
--
cgit v1.2.3-55-g7522
From d2d403a8dec0f65bb3665c2bd2dab69456cdee42 Mon Sep 17 00:00:00 2001
From: Johann Latocha
Date: Sat, 10 Jul 2010 00:11:47 +0200
Subject: Revoke Fabians changes.
---
i18n/pvs_ar_JO.ts | 8 +-
i18n/pvs_de_DE.ts | 8 +-
i18n/pvs_es_MX.ts | 8 +-
i18n/pvs_fr_FR.ts | 8 +-
i18n/pvs_pl_PL.ts | 8 +-
i18n/pvsmgr_ar_JO.ts | 170 +++++++++++++++++---------------------
i18n/pvsmgr_de_DE.ts | 170 +++++++++++++++++---------------------
i18n/pvsmgr_es_MX.ts | 170 +++++++++++++++++---------------------
i18n/pvsmgr_fr_FR.ts | 170 +++++++++++++++++---------------------
i18n/pvsmgr_pl_PL.ts | 170 +++++++++++++++++---------------------
src/core/pvsConnectionManager.cpp | 10 ---
src/gui/connectionList.cpp | 23 ------
src/gui/connectionList.h | 1 -
src/gui/connectionWindow.cpp | 2 +
src/gui/mainWindow.cpp | 35 --------
src/gui/mainWindow.h | 1 -
src/gui/ui/mainwindow.ui | 19 +----
src/gui/ui/mainwindowtouch.ui | 17 +---
src/net/pvsListenServer.cpp | 4 +-
src/net/pvsServerConnection.cpp | 8 --
src/pvs.cpp | 12 ---
src/pvsDaemon.cpp | 21 ++---
src/util/util.cpp | 7 ++
src/util/util.h | 1 +
src/version.h | 4 +-
25 files changed, 435 insertions(+), 620 deletions(-)
(limited to 'src/gui/ui/mainwindowtouch.ui')
diff --git a/i18n/pvs_ar_JO.ts b/i18n/pvs_ar_JO.ts
index 7443e4b..0b4c72f 100644
--- a/i18n/pvs_ar_JO.ts
+++ b/i18n/pvs_ar_JO.ts
@@ -4,22 +4,22 @@
PVS
-
+
Message
-
+
VNC connection
-
+
The host
-
+
requested your screen!
diff --git a/i18n/pvs_de_DE.ts b/i18n/pvs_de_DE.ts
index 7443e4b..0b4c72f 100644
--- a/i18n/pvs_de_DE.ts
+++ b/i18n/pvs_de_DE.ts
@@ -4,22 +4,22 @@
PVS
-
+
Message
-
+
VNC connection
-
+
The host
-
+
requested your screen!
diff --git a/i18n/pvs_es_MX.ts b/i18n/pvs_es_MX.ts
index 7443e4b..0b4c72f 100644
--- a/i18n/pvs_es_MX.ts
+++ b/i18n/pvs_es_MX.ts
@@ -4,22 +4,22 @@
PVS
-
+
Message
-
+
VNC connection
-
+
The host
-
+
requested your screen!
diff --git a/i18n/pvs_fr_FR.ts b/i18n/pvs_fr_FR.ts
index 7443e4b..0b4c72f 100644
--- a/i18n/pvs_fr_FR.ts
+++ b/i18n/pvs_fr_FR.ts
@@ -4,22 +4,22 @@
PVS
-
+
Message
-
+
VNC connection
-
+
The host
-
+
requested your screen!
diff --git a/i18n/pvs_pl_PL.ts b/i18n/pvs_pl_PL.ts
index 7443e4b..0b4c72f 100644
--- a/i18n/pvs_pl_PL.ts
+++ b/i18n/pvs_pl_PL.ts
@@ -4,22 +4,22 @@
PVS
-
+
Message
-
+
VNC connection
-
+
The host
-
+
requested your screen!
diff --git a/i18n/pvsmgr_ar_JO.ts b/i18n/pvsmgr_ar_JO.ts
index cac57b4..bc5c69c 100644
--- a/i18n/pvsmgr_ar_JO.ts
+++ b/i18n/pvsmgr_ar_JO.ts
@@ -212,9 +212,9 @@ Perform an unprojection or remove remote help to get a target.
-
-
-
+
+
+
You have to set a Superclient-machine before performing this action.
@@ -314,376 +314,360 @@ Perform an unprojection or remove remote help to get a target.
MainWindow
-
-
+
+
Exit
-
+
Remove the vnc-Connection for the selected client(s)
-
+
Show the selected client in the whole window
-
+
Make a screenshot for the selected client(s)
-
-
+
+
Lock or Unlock all Clients
-
- Shows list of processes of this client
-
-
-
-
+
The pvs manager
-
-
+
This operation can only be performed for one selected Client!
-
+
This operation can only be performed for at least one selected Client!
-
+
You have to set a Superclient-machine before performing this action.
-
+
Open Image
-
+
Image Files (*.png *.jpg *.svg)
-
+
PVSmgr
-
+
Show Username
-
+
Ctrl+3
-
+
Show IP
-
+
Ctrl+2
-
+
VNC-Placeholders
-
+
Show Log
-
+
Ctrl+L
-
+
Show Normal
-
+
Ctrl+O
-
+
Show Error
-
+
Ctrl+E
-
+
Show Network
-
+
Ctrl+N
-
+
Show Terminal
-
+
Ctrl+T
-
+
Show Chat
-
+
Ctrl+G
-
+
About pvs
-
+
Ctrl+P
-
+
100 x 100
-
+
200 x 200
-
+
500 x 500
-
+
&Disconnect
-
+
Ctrl+W
-
+
&Exit
-
+
Ctrl+Q
-
-
+
+
Foto
-
+
Ctrl+F
-
+
view
-
+
View
-
+
Ctrl+V
-
+
lock
-
+
Ctrl+A
-
+
Profile &manager
-
+
Ctrl+M
-
+
Show Name
-
+
Ctrl+1
-
+
Chat
-
+
Start Chat with client(s)
-
+
Ctrl+D
-
+
-
-
- Show Processes
-
-
-
-
- show processes of this client
-
-
-
-
+
border-color: rgb(0, 0, 0);
-
+
VNC quality
-
+
HIGH
-
+
MEDIUM
-
+
LOW
-
+
Set password
-
+
Thumbnailratio
-
+
Thumbnailrate
-
+
0
-
+
%
-
+
background-color: rgb(255, 255, 255);
-
+
background-color: rgb(150, 150, 150);
-
+
&File
-
+
Load profile
-
+
&Clients
-
+
&Logging
-
+
&Help
-
+
toolBar
diff --git a/i18n/pvsmgr_de_DE.ts b/i18n/pvsmgr_de_DE.ts
index 4393aa3..fd6d56b 100644
--- a/i18n/pvsmgr_de_DE.ts
+++ b/i18n/pvsmgr_de_DE.ts
@@ -212,9 +212,9 @@ Perform an unprojection or remove remote help to get a target.
-
-
-
+
+
+
You have to set a Superclient-machine before performing this action.
@@ -314,376 +314,360 @@ Perform an unprojection or remove remote help to get a target.
MainWindow
-
-
+
+
Exit
-
+
Remove the vnc-Connection for the selected client(s)
-
+
Show the selected client in the whole window
-
+
Make a screenshot for the selected client(s)
-
-
+
+
Lock or Unlock all Clients
-
- Shows list of processes of this client
-
-
-
-
+
The pvs manager
-
-
+
This operation can only be performed for one selected Client!
-
+
This operation can only be performed for at least one selected Client!
-
+
You have to set a Superclient-machine before performing this action.
-
+
Open Image
-
+
Image Files (*.png *.jpg *.svg)
-
+
PVSmgr
-
+
Show Username
-
+
Ctrl+3
-
+
Show IP
-
+
Ctrl+2
-
+
VNC-Placeholders
-
+
Show Log
-
+
Ctrl+L
-
+
Show Normal
-
+
Ctrl+O
-
+
Show Error
-
+
Ctrl+E
-
+
Show Network
-
+
Ctrl+N
-
+
Show Terminal
-
+
Ctrl+T
-
+
Show Chat
-
+
Ctrl+G
-
+
About pvs
-
+
Ctrl+P
-
+
100 x 100
-
+
200 x 200
-
+
500 x 500
-
+
&Disconnect
-
+
Ctrl+W
-
+
&Exit
-
+
Ctrl+Q
-
-
+
+
Foto
-
+
Ctrl+F
-
+
view
-
+
View
-
+
Ctrl+V
-
+
lock
-
+
Ctrl+A
-
+
Profile &manager
-
+
Ctrl+M
-
+
Show Name
-
+
Ctrl+1
-
+
Chat
-
+
Start Chat with client(s)
-
+
Ctrl+D
-
+
-
-
- Show Processes
-
-
-
-
- show processes of this client
-
-
-
-
+
border-color: rgb(0, 0, 0);
-
+
VNC quality
-
+
HIGH
-
+
MEDIUM
-
+
LOW
-
+
Set password
-
+
Thumbnailratio
-
+
Thumbnailrate
-
+
0
-
+
%
-
+
background-color: rgb(255, 255, 255);
-
+
background-color: rgb(150, 150, 150);
-
+
&File
-
+
Load profile
-
+
&Clients
-
+
&Logging
-
+
&Help
-
+
toolBar
diff --git a/i18n/pvsmgr_es_MX.ts b/i18n/pvsmgr_es_MX.ts
index 758b277..fc53e6d 100644
--- a/i18n/pvsmgr_es_MX.ts
+++ b/i18n/pvsmgr_es_MX.ts
@@ -212,9 +212,9 @@ Perform an unprojection or remove remote help to get a target.
&Agregar un dummy...
-
-
-
+
+
+
You have to set a Superclient-machine before performing this action.
Usted debe asignar un super cliente antes de iniciar esta acción.
@@ -314,376 +314,360 @@ Perform an unprojection or remove remote help to get a target.
MainWindow
-
-
+
+
Exit
Salir
-
+
Remove the vnc-Connection for the selected client(s)
Remover la conexión VNC de los clientes seleccionados
-
+
Show the selected client in the whole window
Mostrar el cliente seleccionado en toda la ventana
-
+
Make a screenshot for the selected client(s)
Capturar la pantalla de los clientes seleccionados
-
-
+
+
Lock or Unlock all Clients
Bloquear o desbloquear todos los clientes
-
- Shows list of processes of this client
-
-
-
-
+
The pvs manager
PVS Manager
-
-
+
This operation can only be performed for one selected Client!
Esta operación solamente puede ser realizada para un cliente!
-
+
This operation can only be performed for at least one selected Client!
Esta operación solamente puede ser realizada para el ultimo cliente seleccionado!
-
+
You have to set a Superclient-machine before performing this action.
Usted debe asignar un super cliente antes de realizar esta acción.
-
+
Open Image
Abrir imagen
-
+
Image Files (*.png *.jpg *.svg)
Extensión de imagenes (*.png *.jpg *.svg)
-
+
PVSmgr
PVSmgr
-
+
Show Username
Mostrar nombre de usuario
-
+
Ctrl+3
Ctrl+3
-
+
Show IP
Mostrar IP
-
+
Ctrl+2
Ctrl+2
-
+
VNC-Placeholders
VNC - Marcadores de posición
-
+
Show Log
Mostrar Log
-
+
Ctrl+L
Ctrl+L
-
+
Show Normal
Mostrar normal
-
+
Ctrl+O
Ctrl+O
-
+
Show Error
Mostrar Errores
-
+
Ctrl+E
Ctrl+E
-
+
Show Network
Mostrar Red
-
+
Ctrl+N
-
+
Show Terminal
Mostrar Linea de comandos
-
+
Ctrl+T
Ctrl+T
-
+
Show Chat
Mostrar Chat
-
+
Ctrl+G
Ctrl+G
-
+
About pvs
Acerca de PVS
-
+
Ctrl+P
Ctrl+P
-
+
100 x 100
100 x 100
-
+
200 x 200
200 x 200
-
+
500 x 500
500 x 500
-
+
&Disconnect
&Desconectar
-
+
Ctrl+W
Ctrl+W
-
+
&Exit
&Salir
-
+
Ctrl+Q
Ctrl+Q
-
-
+
+
Foto
Imagen
-
+
Ctrl+F
Ctrl+F
-
+
view
ver
-
+
View
Ver
-
+
Ctrl+V
Ctrl+V
-
+
lock
bloquear
-
+
Ctrl+A
Ctrl+A
-
+
Profile &manager
Perfil &manager
-
+
Ctrl+M
Ctrl+M
-
+
Show Name
Mostrar nombre
-
+
Ctrl+1
Ctrl+1
-
+
Chat
Chat
-
+
Start Chat with client(s)
Iniciar Chat con cliente(s)
-
+
Ctrl+D
Ctrl+D
-
+
-
-
-
- Show Processes
-
-
-
-
- show processes of this client
-
-
-
-
+
border-color: rgb(0, 0, 0);
border-color: rgb(0, 0, 0);
-
+
VNC quality
VNC calidad
-
+
HIGH
Alta
-
+
MEDIUM
Media
-
+
LOW
Baja
-
+
Set password
Asignar contraseña
-
+
Thumbnailratio
Radio de la vista en miniatura
-
+
Thumbnailrate
Frecuancia de actualización para las vistas en miniatura
-
+
0
0
-
+
%
%
-
+
background-color: rgb(255, 255, 255);
background-color: rgb(255, 255, 255);
-
+
background-color: rgb(150, 150, 150);
background-color: rgb(150, 150, 150);
-
+
&File
&Archivo
-
+
Load profile
Cargar perfil
-
+
&Clients
&Clientes
-
+
&Logging
&Logging
-
+
&Help
&Ayuda
-
+
toolBar
Barra de herramientas
diff --git a/i18n/pvsmgr_fr_FR.ts b/i18n/pvsmgr_fr_FR.ts
index cac57b4..bc5c69c 100644
--- a/i18n/pvsmgr_fr_FR.ts
+++ b/i18n/pvsmgr_fr_FR.ts
@@ -212,9 +212,9 @@ Perform an unprojection or remove remote help to get a target.
-
-
-
+
+
+
You have to set a Superclient-machine before performing this action.
@@ -314,376 +314,360 @@ Perform an unprojection or remove remote help to get a target.
MainWindow
-
-
+
+
Exit
-
+
Remove the vnc-Connection for the selected client(s)
-
+
Show the selected client in the whole window
-
+
Make a screenshot for the selected client(s)
-
-
+
+
Lock or Unlock all Clients
-
- Shows list of processes of this client
-
-
-
-
+
The pvs manager
-
-
+
This operation can only be performed for one selected Client!
-
+
This operation can only be performed for at least one selected Client!
-
+
You have to set a Superclient-machine before performing this action.
-
+
Open Image
-
+
Image Files (*.png *.jpg *.svg)
-
+
PVSmgr
-
+
Show Username
-
+
Ctrl+3
-
+
Show IP
-
+
Ctrl+2
-
+
VNC-Placeholders
-
+
Show Log
-
+
Ctrl+L
-
+
Show Normal
-
+
Ctrl+O
-
+
Show Error
-
+
Ctrl+E
-
+
Show Network
-
+
Ctrl+N
-
+
Show Terminal
-
+
Ctrl+T
-
+
Show Chat
-
+
Ctrl+G
-
+
About pvs
-
+
Ctrl+P
-
+
100 x 100
-
+
200 x 200
-
+
500 x 500
-
+
&Disconnect
-
+
Ctrl+W
-
+
&Exit
-
+
Ctrl+Q
-
-
+
+
Foto
-
+
Ctrl+F
-
+
view
-
+
View
-
+
Ctrl+V
-
+
lock
-
+
Ctrl+A
-
+
Profile &manager
-
+
Ctrl+M
-
+
Show Name
-
+
Ctrl+1
-
+
Chat
-
+
Start Chat with client(s)
-
+
Ctrl+D
-
+
-
-
- Show Processes
-
-
-
-
- show processes of this client
-
-
-
-
+
border-color: rgb(0, 0, 0);
-
+
VNC quality
-
+
HIGH
-
+
MEDIUM
-
+
LOW
-
+
Set password
-
+
Thumbnailratio
-
+
Thumbnailrate
-
+
0
-
+
%
-
+
background-color: rgb(255, 255, 255);
-
+
background-color: rgb(150, 150, 150);
-
+
&File
-
+
Load profile
-
+
&Clients
-
+
&Logging
-
+
&Help
-
+
toolBar
diff --git a/i18n/pvsmgr_pl_PL.ts b/i18n/pvsmgr_pl_PL.ts
index cac57b4..bc5c69c 100644
--- a/i18n/pvsmgr_pl_PL.ts
+++ b/i18n/pvsmgr_pl_PL.ts
@@ -212,9 +212,9 @@ Perform an unprojection or remove remote help to get a target.
-
-
-
+
+
+
You have to set a Superclient-machine before performing this action.
@@ -314,376 +314,360 @@ Perform an unprojection or remove remote help to get a target.
MainWindow
-
-
+
+
Exit
-
+
Remove the vnc-Connection for the selected client(s)
-
+
Show the selected client in the whole window
-
+
Make a screenshot for the selected client(s)
-
-
+
+
Lock or Unlock all Clients
-
- Shows list of processes of this client
-
-
-
-
+
The pvs manager
-
-
+
This operation can only be performed for one selected Client!
-
+
This operation can only be performed for at least one selected Client!
-
+
You have to set a Superclient-machine before performing this action.
-
+
Open Image
-
+
Image Files (*.png *.jpg *.svg)
-
+
PVSmgr
-
+
Show Username
-
+
Ctrl+3
-
+
Show IP
-
+
Ctrl+2
-
+
VNC-Placeholders
-
+
Show Log
-
+
Ctrl+L
-
+
Show Normal
-
+
Ctrl+O
-
+
Show Error
-
+
Ctrl+E
-
+
Show Network
-
+
Ctrl+N
-
+
Show Terminal
-
+
Ctrl+T
-
+
Show Chat
-
+
Ctrl+G
-
+
About pvs
-
+
Ctrl+P
-
+
100 x 100
-
+
200 x 200
-
+
500 x 500
-
+
&Disconnect
-
+
Ctrl+W
-
+
&Exit
-
+
Ctrl+Q
-
-
+
+
Foto
-
+
Ctrl+F
-
+
view
-
+
View
-
+
Ctrl+V
-
+
lock
-
+
Ctrl+A
-
+
Profile &manager
-
+
Ctrl+M
-
+
Show Name
-
+
Ctrl+1
-
+
Chat
-
+
Start Chat with client(s)
-
+
Ctrl+D
-
+
-
-
- Show Processes
-
-
-
-
- show processes of this client
-
-
-
-
+
border-color: rgb(0, 0, 0);
-
+
VNC quality
-
+
HIGH
-
+
MEDIUM
-
+
LOW
-
+
Set password
-
+
Thumbnailratio
-
+
Thumbnailrate
-
+
0
-
+
%
-
+
background-color: rgb(255, 255, 255);
-
+
background-color: rgb(150, 150, 150);
-
+
&File
-
+
Load profile
-
+
&Clients
-
+
&Logging
-
+
&Help
-
+
toolBar
diff --git a/src/core/pvsConnectionManager.cpp b/src/core/pvsConnectionManager.cpp
index aabd869..8a35ca9 100644
--- a/src/core/pvsConnectionManager.cpp
+++ b/src/core/pvsConnectionManager.cpp
@@ -93,14 +93,6 @@ void PVSConnectionManager::onClientRemove(PVSClientConnection* removedConnection
}
// Inform all chat clients about a new event.
-// hier eventuell prozesse anzeigen einbinden
-//
-//
-//
-//
-//
-//
-//
void PVSConnectionManager::sendEventToClients(QString event, PVSClientConnection* connection, QString clientName)
{
if(event.compare("addedConnection") == 0)
@@ -117,8 +109,6 @@ void PVSConnectionManager::sendEventToClients(QString event, PVSClientConnection
if(event.compare("addedClient") == 0)
{
// send name to everybody to all connected clients.
- _pvsServer.sendToAll(PVSMsg(PVSCOMMAND, "SHOWPROCESSES", ""));
- ConsoleLog writeNetwork("SHOWPROCESSES sent...");
_pvsServer.sendToAll(PVSMsg(PVSMESSAGE, "clientToAdd", ":" + clientName, 0));
connection->push_back_send(PVSMsg(PVSMESSAGE, "assignedName", ":" + clientName, 0));
connection->push_back_send(PVSMsg(PVSMESSAGE, "clientToAdd", ":PVSMGR:local", 0));
diff --git a/src/gui/connectionList.cpp b/src/gui/connectionList.cpp
index 61be876..2f9829e 100644
--- a/src/gui/connectionList.cpp
+++ b/src/gui/connectionList.cpp
@@ -432,14 +432,6 @@ void ConnectionList::on_remoteHelp()
}
}
-/*
- *
- */
-void ConnectionList::showProcesses()
-{
- MainWindow::getConnectionWindow()->messageStations("BROADCAST","SHOWPROCESSES");
-}
-
void ConnectionList::on_lock()
{
MainWindow::getConnectionWindow()->lockStations();
@@ -450,21 +442,6 @@ void ConnectionList::on_unlock()
MainWindow::getConnectionWindow()->unlockStations();
}
-/* Hier werden Nachrichten vom Server versendet:
-* Type: PVSMESSAGE
-* Ident: BROADCAST
-* Msg: die Nachricht
-*
-* Wenn Ident: LOCKSTATION -> locke Client
-*
-*
-*
-*
-*
-*
-*
-*/
-
void ConnectionList::on_message()
{
Dialog msgD;
diff --git a/src/gui/connectionList.h b/src/gui/connectionList.h
index 29dd174..50d8924 100644
--- a/src/gui/connectionList.h
+++ b/src/gui/connectionList.h
@@ -108,7 +108,6 @@ public slots:
virtual void on_projection();
virtual void on_unprojection();
virtual void on_lock();
- virtual void showProcesses();
virtual void on_unlock();
virtual void on_message();
virtual void on_lock_with_message();
diff --git a/src/gui/connectionWindow.cpp b/src/gui/connectionWindow.cpp
index 9e7b370..cf51051 100644
--- a/src/gui/connectionWindow.cpp
+++ b/src/gui/connectionWindow.cpp
@@ -263,6 +263,8 @@ bool ConnectionWindow::remoteHelp(QString sname) {
}
+
+
bool ConnectionWindow::lockStations() {
if (std::list* lockList = MainWindow::getConnectionList()->getSelectedClients()) {
if (!lockList->empty()) {
diff --git a/src/gui/mainWindow.cpp b/src/gui/mainWindow.cpp
index 4cd6997..eb15e82 100644
--- a/src/gui/mainWindow.cpp
+++ b/src/gui/mainWindow.cpp
@@ -116,10 +116,6 @@ MainWindow::MainWindow(QWidget *parent) :
// toolbar and actions in pvsmgr
-
- //testweise chat starten beim klicken auf processlist
- connect(ui->actionShowProcesses, SIGNAL(triggered()), this, SLOT(showProcesses()));
- ui->actionShowProcesses->setStatusTip(tr("Shows list of processes of this client"));
connect(ui->action_Exit, SIGNAL(triggered()), this, SLOT(close()));
ui->action_Exit->setStatusTip(tr("Exit"));
connect(ui->action_Disconnect, SIGNAL(triggered()), this, SLOT(disconnect()));
@@ -134,8 +130,6 @@ MainWindow::MainWindow(QWidget *parent) :
ui->actionLock->setStatusTip(tr("Lock or Unlock all Clients"));
connect(ui->actionCreate_profile, SIGNAL(triggered()), this, SLOT(createProfile()));
-
-
connect(ui->actionShow_Username, SIGNAL(triggered()), this, SLOT(showusername()));
connect(ui->actionShow_Hostname_IP, SIGNAL(triggered()), this, SLOT(showip()));
connect(ui->actionShow_Fullname, SIGNAL(triggered()), this, SLOT(showname()));
@@ -801,35 +795,6 @@ void MainWindow::foto() // makes a screenshot of the selected client
}
}
-/*
- * test if a client is selected and then make him tell his processlist
- *
- *
- *
- *
- *
- */
-
-void MainWindow::showProcesses()
-{
- std::list* selectedClients =
- MainWindow::getConnectionList()->getSelectedClients();
- if (selectedClients->size() == 1)
- {
- // do stuff
- }
- else
- {
- QString
- message =
- QString(
- tr(
- "This operation can only be performed for one selected Client!"));
- QMessageBox::information(this, "PVS", message);
- }
-}
-
-
void MainWindow::createProfile()
{
profileDialog proDiag;
diff --git a/src/gui/mainWindow.h b/src/gui/mainWindow.h
index 5e20af2..00bd927 100644
--- a/src/gui/mainWindow.h
+++ b/src/gui/mainWindow.h
@@ -171,7 +171,6 @@ public slots:
void projecttoolbar();
void unprojecttoolbar();
void closeUp();
- void showProcesses();
void foto();
void backgroundpicture();
void repaintbackgroundpicture();
diff --git a/src/gui/ui/mainwindow.ui b/src/gui/ui/mainwindow.ui
index b5ac0e3..eb49d1b 100644
--- a/src/gui/ui/mainwindow.ui
+++ b/src/gui/ui/mainwindow.ui
@@ -28,8 +28,8 @@
0
0
- 778
- 542
+ 776
+ 534
@@ -195,7 +195,7 @@
0
0
838
- 23
+ 28
@@ -532,18 +531,6 @@
-
-
-
-
- :/finder:/finder
-
-
- Show Processes
-
-
- show processes of this client
-
-
diff --git a/src/gui/ui/mainwindowtouch.ui b/src/gui/ui/mainwindowtouch.ui
index f8e76c0..9030b17 100644
--- a/src/gui/ui/mainwindowtouch.ui
+++ b/src/gui/ui/mainwindowtouch.ui
@@ -28,8 +28,8 @@
0
0
- 1329
- 660
+ 1327
+ 658
@@ -365,7 +365,6 @@
-
@@ -637,18 +636,6 @@
Ctrl+D
-
-
-
- :/finder:/finder
-
-
- Show Processes
-
-
- show processes of this client
-
-
diff --git a/src/net/pvsListenServer.cpp b/src/net/pvsListenServer.cpp
index 1dac9c0..f21303e 100644
--- a/src/net/pvsListenServer.cpp
+++ b/src/net/pvsListenServer.cpp
@@ -245,8 +245,8 @@ bool PVSListenServer::init()
return false;
}
ConsoleLog writeNetwork(
- QString("Server is listening. Socket: ").append(int2String(
- (int) _listenSocket)));
+ QString("Server is listening. Socket: ").append(ptr2String(
+ _listenSocket)));
connect(_listenSocket, SIGNAL(newConnection()), this, SLOT(
server_connectionRequest()));
diff --git a/src/net/pvsServerConnection.cpp b/src/net/pvsServerConnection.cpp
index 1ce9904..04a1ef6 100644
--- a/src/net/pvsServerConnection.cpp
+++ b/src/net/pvsServerConnection.cpp
@@ -133,14 +133,6 @@ void PVSServerConnection::onPing(PVSMsg pingmsg)
}
}
-/* Hier werden Nachrichten behandelt, die vom Client kommen
- *
- *
- *
- *
- *
- */
-
void PVSServerConnection::handleClientMsg(PVSMsg receiver)
{
// FIXME: @SimonR, this line cuase problems with pvs in daemon mode and dbus
diff --git a/src/pvs.cpp b/src/pvs.cpp
index 1531c3d..2069e36 100644
--- a/src/pvs.cpp
+++ b/src/pvs.cpp
@@ -176,18 +176,6 @@ void PVS::onCommand(PVSMsg cmdMessage)
unlock();
return;
}
- if (ident.compare("SHOWPROCESSES") == 0)
- {
- // show processes
- // ConsoleLog writeNetwork(system("ps -f -N -U root"));
- // emit showMessage("SHOWPROCESSES", "proce", true);
- return;
- }
- if (ident.compare("KILLPROCESS") == 0)
- {
- // do stuff if process has to be killed
- return;
- }
#ifdef never
// prototype
diff --git a/src/pvsDaemon.cpp b/src/pvsDaemon.cpp
index 961e0f3..e87bfe7 100644
--- a/src/pvsDaemon.cpp
+++ b/src/pvsDaemon.cpp
@@ -66,11 +66,13 @@ int main(int argc, char** argv)
{
int frequency = 5;
int port = -1;
- QString homeDir("/home/");
- QString scriptPath = homeDir;
- scriptPath.append(getUserName().append(QString("/.pvs/pvs-vncsrv")));
- QString scriptName;
- scriptName = getFilenameFromPath(scriptPath);
+
+ QFileInfo script;
+ script.setFile("/usr/bin/pvs-vncsrv");
+ if (!script.exists())
+ script.setFile("/usr/local/bin/pvs-vncsrv");
+ if (!script.exists())
+ script.setFile("/home/" + getUserName() + "/.pvs/pvs-vncsrv");
QCoreApplication app(argc, argv);
app.setOrganizationName("openslx");
@@ -259,8 +261,7 @@ int main(int argc, char** argv)
{
if (option_index + 1 < argc)
{
- scriptPath = QString(argv[option_index + 1]);
- scriptName = getFilenameFromPath(scriptPath);
+ script.setFile(QString(argv[option_index + 1]));
option_index++;
continue;
}
@@ -347,13 +348,13 @@ int main(int argc, char** argv)
if (port <= 0)
port = SERVER_PORT_INT;
ConsoleLog writeLine(QString("TCP-Port: ").append(int2String(port)));
- mainClient->setScriptPath(scriptPath);
- ConsoleLog writeLine(QString("VNCScriptPath: ").append(scriptPath));
+ mainClient->setScriptPath(script.filePath());
+ ConsoleLog writeLine(QString("VNCScriptPath: ").append(script.filePath()));
createPolicyDir();
createPolicyFiles();
// long int gr = 0;
- mainClient->setScriptPath(scriptPath);
+ mainClient->setScriptPath(script.filePath());
app.exec();
delete mainClient;
diff --git a/src/util/util.cpp b/src/util/util.cpp
index c2d06a0..946168e 100644
--- a/src/util/util.cpp
+++ b/src/util/util.cpp
@@ -325,6 +325,13 @@ QString int2String(int intInt)
return QString(tmp);
}
+QString ptr2String(void* ptr)
+{
+ char tmp[50];
+ snprintf(tmp, 49, "%p", ptr);
+ return QString(tmp);
+}
+
int string2Int(QString string)
{
return atoi(string.toUtf8().data());
diff --git a/src/util/util.h b/src/util/util.h
index 37565cb..6ddefc6 100644
--- a/src/util/util.h
+++ b/src/util/util.h
@@ -46,6 +46,7 @@ QString readPassFromPassFile();
bool getAllowed();
QString int2String(int intInt);
+QString ptr2String(void* ptr);
int string2Int(QString string);
int string2Int(QString string);
//} // end namespace util
diff --git a/src/version.h b/src/version.h
index c217c07..ac24ac2 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,2 +1,2 @@
-#define VERSION_STRING "1.9.8.0"
-#define VERSION_NUMBER 1980
+#define VERSION_STRING "2.0.1.0"
+#define VERSION_NUMBER 2010
--
cgit v1.2.3-55-g7522
From bc678fdc76862050537669ed440e5ac1179cc1ec Mon Sep 17 00:00:00 2001
From: Fabian Schillinger
Date: Sat, 10 Jul 2010 02:03:45 +0200
Subject: Inserted some Buttons in GUI and TouchGUI and modified handling of
commands in pvs.cpp for later remote Command/Process enhancement
---
i18n/pvs_ar_JO.ts | 8 +-
i18n/pvs_de_DE.ts | 8 +-
i18n/pvs_es_MX.ts | 8 +-
i18n/pvs_fr_FR.ts | 8 +-
i18n/pvs_pl_PL.ts | 8 +-
i18n/pvsmgr_ar_JO.ts | 164 ++---
i18n/pvsmgr_de_DE.ts | 164 ++---
i18n/pvsmgr_es_MX.ts | 164 ++---
i18n/pvsmgr_fr_FR.ts | 164 ++---
i18n/pvsmgr_pl_PL.ts | 164 ++---
pvsmgr.qrc | 79 +--
src/gui/mainWindow.cpp | 1320 +++++++++++++++++++++--------------------
src/gui/mainWindow.h | 1 +
src/gui/ui/mainwindow.ui | 19 +-
src/gui/ui/mainwindowtouch.ui | 17 +-
src/pvs.cpp | 13 +
16 files changed, 1231 insertions(+), 1078 deletions(-)
(limited to 'src/gui/ui/mainwindowtouch.ui')
diff --git a/i18n/pvs_ar_JO.ts b/i18n/pvs_ar_JO.ts
index 0b4c72f..f5b5dc5 100644
--- a/i18n/pvs_ar_JO.ts
+++ b/i18n/pvs_ar_JO.ts
@@ -4,22 +4,22 @@
PVS
-
+
Message
-
+
VNC connection
-
+
The host
-
+
requested your screen!
diff --git a/i18n/pvs_de_DE.ts b/i18n/pvs_de_DE.ts
index 0b4c72f..f5b5dc5 100644
--- a/i18n/pvs_de_DE.ts
+++ b/i18n/pvs_de_DE.ts
@@ -4,22 +4,22 @@
PVS
-
+
Message
-
+
VNC connection
-
+
The host
-
+
requested your screen!
diff --git a/i18n/pvs_es_MX.ts b/i18n/pvs_es_MX.ts
index 0b4c72f..f5b5dc5 100644
--- a/i18n/pvs_es_MX.ts
+++ b/i18n/pvs_es_MX.ts
@@ -4,22 +4,22 @@
PVS
-
+
Message
-
+
VNC connection
-
+
The host
-
+
requested your screen!
diff --git a/i18n/pvs_fr_FR.ts b/i18n/pvs_fr_FR.ts
index 0b4c72f..f5b5dc5 100644
--- a/i18n/pvs_fr_FR.ts
+++ b/i18n/pvs_fr_FR.ts
@@ -4,22 +4,22 @@
PVS
-
+
Message
-
+
VNC connection
-
+
The host
-
+
requested your screen!
diff --git a/i18n/pvs_pl_PL.ts b/i18n/pvs_pl_PL.ts
index 0b4c72f..f5b5dc5 100644
--- a/i18n/pvs_pl_PL.ts
+++ b/i18n/pvs_pl_PL.ts
@@ -4,22 +4,22 @@
PVS
-
+
Message
-
+
VNC connection
-
+
The host
-
+
requested your screen!
diff --git a/i18n/pvsmgr_ar_JO.ts b/i18n/pvsmgr_ar_JO.ts
index bc5c69c..ba391d2 100644
--- a/i18n/pvsmgr_ar_JO.ts
+++ b/i18n/pvsmgr_ar_JO.ts
@@ -314,360 +314,376 @@ Perform an unprojection or remove remote help to get a target.
MainWindow
-
-
+
+
Exit
-
+
Remove the vnc-Connection for the selected client(s)
-
+
Show the selected client in the whole window
-
+
Make a screenshot for the selected client(s)
-
-
+
+
Lock or Unlock all Clients
-
+
The pvs manager
-
+
This operation can only be performed for one selected Client!
-
+
+ This operation can only be performed if you have selected a Client!
+
+
+
+
This operation can only be performed for at least one selected Client!
-
+
You have to set a Superclient-machine before performing this action.
-
+
Open Image
-
+
Image Files (*.png *.jpg *.svg)
-
+
PVSmgr
-
+
Show Username
-
+
Ctrl+3
-
+
Show IP
-
+
Ctrl+2
-
+
VNC-Placeholders
-
+
Show Log
-
+
Ctrl+L
-
+
Show Normal
-
+
Ctrl+O
-
+
Show Error
-
+
Ctrl+E
-
+
Show Network
-
+
Ctrl+N
-
+
Show Terminal
-
+
Ctrl+T
-
+
Show Chat
-
+
Ctrl+G
-
+
About pvs
-
+
Ctrl+P
-
+
100 x 100
-
+
200 x 200
-
+
500 x 500
-
+
&Disconnect
-
+
Ctrl+W
-
+
&Exit
-
+
Ctrl+Q
-
-
+
+
Foto
-
+
Ctrl+F
-
+
view
-
+
View
-
+
Ctrl+V
-
+
lock
-
+
Ctrl+A
-
+
Profile &manager
-
+
Ctrl+M
-
+
Show Name
-
+
Ctrl+1
-
+
Chat
-
+
Start Chat with client(s)
-
+
Ctrl+D
-
+
-
-
+
+ showProcesses
+
+
+
+
+
+ Show Processes of the selected Client
+
+
+
+
border-color: rgb(0, 0, 0);
-
+
VNC quality
-
+
HIGH
-
+
MEDIUM
-
+
LOW
-
+
Set password
-
+
Thumbnailratio
-
+
Thumbnailrate
-
+
0
-
+
%
-
+
background-color: rgb(255, 255, 255);
-
+
background-color: rgb(150, 150, 150);
-
+
&File
-
+
Load profile
-
+
&Clients
-
+
&Logging
-
+
&Help
-
+
toolBar
diff --git a/i18n/pvsmgr_de_DE.ts b/i18n/pvsmgr_de_DE.ts
index fd6d56b..e8d7001 100644
--- a/i18n/pvsmgr_de_DE.ts
+++ b/i18n/pvsmgr_de_DE.ts
@@ -314,360 +314,376 @@ Perform an unprojection or remove remote help to get a target.
MainWindow
-
-
+
+
Exit
-
+
Remove the vnc-Connection for the selected client(s)
-
+
Show the selected client in the whole window
-
+
Make a screenshot for the selected client(s)
-
-
+
+
Lock or Unlock all Clients
-
+
The pvs manager
-
+
This operation can only be performed for one selected Client!
-
+
+ This operation can only be performed if you have selected a Client!
+
+
+
+
This operation can only be performed for at least one selected Client!
-
+
You have to set a Superclient-machine before performing this action.
-
+
Open Image
-
+
Image Files (*.png *.jpg *.svg)
-
+
PVSmgr
-
+
Show Username
-
+
Ctrl+3
-
+
Show IP
-
+
Ctrl+2
-
+
VNC-Placeholders
-
+
Show Log
-
+
Ctrl+L
-
+
Show Normal
-
+
Ctrl+O
-
+
Show Error
-
+
Ctrl+E
-
+
Show Network
-
+
Ctrl+N
-
+
Show Terminal
-
+
Ctrl+T
-
+
Show Chat
-
+
Ctrl+G
-
+
About pvs
-
+
Ctrl+P
-
+
100 x 100
-
+
200 x 200
-
+
500 x 500
-
+
&Disconnect
-
+
Ctrl+W
-
+
&Exit
-
+
Ctrl+Q
-
-
+
+
Foto
-
+
Ctrl+F
-
+
view
-
+
View
-
+
Ctrl+V
-
+
lock
-
+
Ctrl+A
-
+
Profile &manager
-
+
Ctrl+M
-
+
Show Name
-
+
Ctrl+1
-
+
Chat
-
+
Start Chat with client(s)
-
+
Ctrl+D
-
+
-
-
+
+ showProcesses
+
+
+
+
+
+ Show Processes of the selected Client
+
+
+
+
border-color: rgb(0, 0, 0);
-
+
VNC quality
-
+
HIGH
-
+
MEDIUM
-
+
LOW
-
+
Set password
-
+
Thumbnailratio
-
+
Thumbnailrate
-
+
0
-
+
%
-
+
background-color: rgb(255, 255, 255);
-
+
background-color: rgb(150, 150, 150);
-
+
&File
-
+
Load profile
-
+
&Clients
-
+
&Logging
-
+
&Help
-
+
toolBar
diff --git a/i18n/pvsmgr_es_MX.ts b/i18n/pvsmgr_es_MX.ts
index fc53e6d..484d600 100644
--- a/i18n/pvsmgr_es_MX.ts
+++ b/i18n/pvsmgr_es_MX.ts
@@ -314,360 +314,376 @@ Perform an unprojection or remove remote help to get a target.
MainWindow
-
-
+
+
Exit
Salir
-
+
Remove the vnc-Connection for the selected client(s)
Remover la conexión VNC de los clientes seleccionados
-
+
Show the selected client in the whole window
Mostrar el cliente seleccionado en toda la ventana
-
+
Make a screenshot for the selected client(s)
Capturar la pantalla de los clientes seleccionados
-
-
+
+
Lock or Unlock all Clients
Bloquear o desbloquear todos los clientes
-
+
The pvs manager
PVS Manager
-
+
This operation can only be performed for one selected Client!
Esta operación solamente puede ser realizada para un cliente!
-
+
+ This operation can only be performed if you have selected a Client!
+
+
+
+
This operation can only be performed for at least one selected Client!
Esta operación solamente puede ser realizada para el ultimo cliente seleccionado!
-
+
You have to set a Superclient-machine before performing this action.
Usted debe asignar un super cliente antes de realizar esta acción.
-
+
Open Image
Abrir imagen
-
+
Image Files (*.png *.jpg *.svg)
Extensión de imagenes (*.png *.jpg *.svg)
-
+
PVSmgr
PVSmgr
-
+
Show Username
Mostrar nombre de usuario
-
+
Ctrl+3
Ctrl+3
-
+
Show IP
Mostrar IP
-
+
Ctrl+2
Ctrl+2
-
+
VNC-Placeholders
VNC - Marcadores de posición
-
+
Show Log
Mostrar Log
-
+
Ctrl+L
Ctrl+L
-
+
Show Normal
Mostrar normal
-
+
Ctrl+O
Ctrl+O
-
+
Show Error
Mostrar Errores
-
+
Ctrl+E
Ctrl+E
-
+
Show Network
Mostrar Red
-
+
Ctrl+N
-
+
Show Terminal
Mostrar Linea de comandos
-
+
Ctrl+T
Ctrl+T
-
+
Show Chat
Mostrar Chat
-
+
Ctrl+G
Ctrl+G
-
+
About pvs
Acerca de PVS
-
+
Ctrl+P
Ctrl+P
-
+
100 x 100
100 x 100
-
+
200 x 200
200 x 200
-
+
500 x 500
500 x 500
-
+
&Disconnect
&Desconectar
-
+
Ctrl+W
Ctrl+W
-
+
&Exit
&Salir
-
+
Ctrl+Q
Ctrl+Q
-
-
+
+
Foto
Imagen
-
+
Ctrl+F
Ctrl+F
-
+
view
ver
-
+
View
Ver
-
+
Ctrl+V
Ctrl+V
-
+
lock
bloquear
-
+
Ctrl+A
Ctrl+A
-
+
Profile &manager
Perfil &manager
-
+
Ctrl+M
Ctrl+M
-
+
Show Name
Mostrar nombre
-
+
Ctrl+1
Ctrl+1
-
+
Chat
Chat
-
+
Start Chat with client(s)
Iniciar Chat con cliente(s)
-
+
Ctrl+D
Ctrl+D
-
+
-
-
-
+
+ showProcesses
+
+
+
+
+
+ Show Processes of the selected Client
+
+
+
+
border-color: rgb(0, 0, 0);
border-color: rgb(0, 0, 0);
-
+
VNC quality
VNC calidad
-
+
HIGH
Alta
-
+
MEDIUM
Media
-
+
LOW
Baja
-
+
Set password
Asignar contraseña
-
+
Thumbnailratio
Radio de la vista en miniatura
-
+
Thumbnailrate
Frecuancia de actualización para las vistas en miniatura
-
+
0
0
-
+
%
%
-
+
background-color: rgb(255, 255, 255);
background-color: rgb(255, 255, 255);
-
+
background-color: rgb(150, 150, 150);
background-color: rgb(150, 150, 150);
-
+
&File
&Archivo
-
+
Load profile
Cargar perfil
-
+
&Clients
&Clientes
-
+
&Logging
&Logging
-
+
&Help
&Ayuda
-
+
toolBar
Barra de herramientas
diff --git a/i18n/pvsmgr_fr_FR.ts b/i18n/pvsmgr_fr_FR.ts
index bc5c69c..ba391d2 100644
--- a/i18n/pvsmgr_fr_FR.ts
+++ b/i18n/pvsmgr_fr_FR.ts
@@ -314,360 +314,376 @@ Perform an unprojection or remove remote help to get a target.
MainWindow
-
-
+
+
Exit
-
+
Remove the vnc-Connection for the selected client(s)
-
+
Show the selected client in the whole window
-
+
Make a screenshot for the selected client(s)
-
-
+
+
Lock or Unlock all Clients
-
+
The pvs manager
-
+
This operation can only be performed for one selected Client!
-
+
+ This operation can only be performed if you have selected a Client!
+
+
+
+
This operation can only be performed for at least one selected Client!
-
+
You have to set a Superclient-machine before performing this action.
-
+
Open Image
-
+
Image Files (*.png *.jpg *.svg)
-
+
PVSmgr
-
+
Show Username
-
+
Ctrl+3
-
+
Show IP
-
+
Ctrl+2
-
+
VNC-Placeholders
-
+
Show Log
-
+
Ctrl+L
-
+
Show Normal
-
+
Ctrl+O
-
+
Show Error
-
+
Ctrl+E
-
+
Show Network
-
+
Ctrl+N
-
+
Show Terminal
-
+
Ctrl+T
-
+
Show Chat
-
+
Ctrl+G
-
+
About pvs
-
+
Ctrl+P
-
+
100 x 100
-
+
200 x 200
-
+
500 x 500
-
+
&Disconnect
-
+
Ctrl+W
-
+
&Exit
-
+
Ctrl+Q
-
-
+
+
Foto
-
+
Ctrl+F
-
+
view
-
+
View
-
+
Ctrl+V
-
+
lock
-
+
Ctrl+A
-
+
Profile &manager
-
+
Ctrl+M
-
+
Show Name
-
+
Ctrl+1
-
+
Chat
-
+
Start Chat with client(s)
-
+
Ctrl+D
-
+
-
-
+
+ showProcesses
+
+
+
+
+
+ Show Processes of the selected Client
+
+
+
+
border-color: rgb(0, 0, 0);
-
+
VNC quality
-
+
HIGH
-
+
MEDIUM
-
+
LOW
-
+
Set password
-
+
Thumbnailratio
-
+
Thumbnailrate
-
+
0
-
+
%
-
+
background-color: rgb(255, 255, 255);
-
+
background-color: rgb(150, 150, 150);
-
+
&File
-
+
Load profile
-
+
&Clients
-
+
&Logging
-
+
&Help
-
+
toolBar
diff --git a/i18n/pvsmgr_pl_PL.ts b/i18n/pvsmgr_pl_PL.ts
index bc5c69c..ba391d2 100644
--- a/i18n/pvsmgr_pl_PL.ts
+++ b/i18n/pvsmgr_pl_PL.ts
@@ -314,360 +314,376 @@ Perform an unprojection or remove remote help to get a target.
MainWindow
-
-
+
+
Exit
-
+
Remove the vnc-Connection for the selected client(s)
-
+
Show the selected client in the whole window
-
+
Make a screenshot for the selected client(s)
-
-
+
+
Lock or Unlock all Clients
-
+
The pvs manager
-
+
This operation can only be performed for one selected Client!
-
+
+ This operation can only be performed if you have selected a Client!
+
+
+
+
This operation can only be performed for at least one selected Client!
-
+
You have to set a Superclient-machine before performing this action.
-
+
Open Image
-
+
Image Files (*.png *.jpg *.svg)
-
+
PVSmgr
-
+
Show Username
-
+
Ctrl+3
-
+
Show IP
-
+
Ctrl+2
-
+
VNC-Placeholders
-
+
Show Log
-
+
Ctrl+L
-
+
Show Normal
-
+
Ctrl+O
-
+
Show Error
-
+
Ctrl+E
-
+
Show Network
-
+
Ctrl+N
-
+
Show Terminal
-
+
Ctrl+T
-
+
Show Chat
-
+
Ctrl+G
-
+
About pvs
-
+
Ctrl+P
-
+
100 x 100
-
+
200 x 200
-
+
500 x 500
-
+
&Disconnect
-
+
Ctrl+W
-
+
&Exit
-
+
Ctrl+Q
-
-
+
+
Foto
-
+
Ctrl+F
-
+
view
-
+
View
-
+
Ctrl+V
-
+
lock
-
+
Ctrl+A
-
+
Profile &manager
-
+
Ctrl+M
-
+
Show Name
-
+
Ctrl+1
-
+
Chat
-
+
Start Chat with client(s)
-
+
Ctrl+D
-
+
-
-
+
+ showProcesses
+
+
+
+
+
+ Show Processes of the selected Client
+
+
+
+
border-color: rgb(0, 0, 0);
-
+
VNC quality
-
+
HIGH
-
+
MEDIUM
-
+
LOW
-
+
Set password
-
+
Thumbnailratio
-
+
Thumbnailrate
-
+
0
-
+
%
-
+
background-color: rgb(255, 255, 255);
-
+
background-color: rgb(150, 150, 150);
-
+
&File
-
+
Load profile
-
+
&Clients
-
+
&Logging
-
+
&Help
-
+
toolBar
diff --git a/pvsmgr.qrc b/pvsmgr.qrc
index 171412e..667d71c 100644
--- a/pvsmgr.qrc
+++ b/pvsmgr.qrc
@@ -1,58 +1,59 @@
-
+
+ icons/gears.png
icons/projection.png
icons/reset.png
- icons/finder.png
- icons/exit.png
- icons/terminal.png
- icons/photo.png
- icons/photo2.png
- icons/log-out.png
- icons/view-restore.png
- icons/lock.png
- icons/profile.png
- icons/dozent.svg
- icons/offline.png
- icons/online.png
- icons/source.png
- icons/target.png
- icons/dozent.png
- icons/chat.png
- icons/cam32.svg
+ icons/finder.png
+ icons/exit.png
+ icons/terminal.png
+ icons/photo.png
+ icons/photo2.png
+ icons/log-out.png
+ icons/view-restore.png
+ icons/lock.png
+ icons/profile.png
+ icons/dozent.svg
+ icons/offline.png
+ icons/online.png
+ icons/source.png
+ icons/target.png
+ icons/dozent.png
+ icons/chat.png
+ icons/cam32.svg
AUTHORS
- TRANSLATION
+ TRANSLATION
-
+
icons/unprojection.png
icons/unlocksingle.png
icons/locksingle.png
- build/pvsmgr_de_DE.qm
+ build/pvsmgr_de_DE.qm
-
- build/pvsmgr_de_DE.qm
+
+ build/pvsmgr_de_DE.qm
-
- build/pvsmgr_fr_FR.qm
+
+ build/pvsmgr_fr_FR.qm
-
- build/pvsmgr_fr_FR.qm
+
+ build/pvsmgr_fr_FR.qm
-
- build/pvsmgr_es_MX.qm
+
+ build/pvsmgr_es_MX.qm
-
- build/pvsmgr_es_MX.qm
+
+ build/pvsmgr_es_MX.qm
-
- build/pvsmgr_ar_JO.qm
+
+ build/pvsmgr_ar_JO.qm
-
- build/pvsmgr_ar_JO.qm
+
+ build/pvsmgr_ar_JO.qm
-
- build/pvsmgr_pl_PL.qm
+
+ build/pvsmgr_pl_PL.qm
-
- build/pvsmgr_pl_PL.qm
+
+ build/pvsmgr_pl_PL.qm
diff --git a/src/gui/mainWindow.cpp b/src/gui/mainWindow.cpp
index eb15e82..473c85b 100644
--- a/src/gui/mainWindow.cpp
+++ b/src/gui/mainWindow.cpp
@@ -10,7 +10,7 @@
# General information about OpenSLX can be found at http://openslx.org/
# -----------------------------------------------------------------------------
# mainWindow.cpp
- This is the Main class for the pvsManager. The GUI is contructed here.
+ This is the Main class for the pvsManager. The GUI is contructed here.
# -----------------------------------------------------------------------------
*/
@@ -37,131 +37,129 @@ using namespace std;
#include
MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent), ui(new Ui::MainWindow)
+ QMainWindow(parent), ui(new Ui::MainWindow)
{
- ui->setupUi(this);
+ ui->setupUi(this);
- ui->horizontalSlider->setValue(100);
- ui->label_2->setText("100");
+ ui->horizontalSlider->setValue(100);
+ ui->label_2->setText("100");
- ui->separator->setVisible(false);
+ ui->separator->setVisible(false);
- myself = this;
- conWin = new ConnectionWindow(ui->widget);
- ui->VconWinLayout->addWidget(conWin);
- conList = new ConnectionList(ui->ClWidget);
- ui->ClientGLayout->addWidget(conList);
+ myself = this;
+ conWin = new ConnectionWindow(ui->widget);
+ ui->VconWinLayout->addWidget(conWin);
+ conList = new ConnectionList(ui->ClWidget);
+ ui->ClientGLayout->addWidget(conList);
- bgimage = false;
+ bgimage = false;
- _aboutDialog = new AboutDialog(this);
+ _aboutDialog = new AboutDialog(this);
- PVSConnectionManager::getManager();
+ PVSConnectionManager::getManager();
- //set the maximum width for list content
- ui->ClWidget->setMaximumWidth(160);
+ //set the maximum width for list content
+ ui->ClWidget->setMaximumWidth(160);
- ui->pvsLog->setReadOnly(true);
- ui->pvsLog->hide();
+ ui->pvsLog->setReadOnly(true);
+ ui->pvsLog->hide();
- onToggleLog(false);
- // add ourself to the log listeners, so we can output them too
- ConsoleLog addListener(this, &MainWindow::on_log_line);
+ onToggleLog(false);
+ // add ourself to the log listeners, so we can output them too
+ ConsoleLog addListener(this, &MainWindow::on_log_line);
- _firstResize = 1;
- _oldRatio = "100";
- _isThumbnailrate = false;
- is_closeup = false;
- is_fullscreen = false;
- _isLockAll = false;
- locked = false;
+ _firstResize = 1;
+ _oldRatio = "100";
+ _isThumbnailrate = false;
+ is_closeup = false;
+ is_fullscreen = false;
+ _isLockAll = false;
+ locked = false;
- /*
- * _sessionName: The session name for this Connection
- * _pwdCon: Password needed to connect to the session with the name _sessionName
- */
- _pwdCon = PVSConnectionManager::getManager()->setNeedPassword(false);
- _sessionName = PVSConnectionManager::getManager()->getSessionName();
+ /*
+ * _sessionName: The session name for this Connection
+ * _pwdCon: Password needed to connect to the session with the name _sessionName
+ */
+ _pwdCon = PVSConnectionManager::getManager()->setNeedPassword(false);
+ _sessionName = PVSConnectionManager::getManager()->getSessionName();
- ui->setPassword->setCheckState(Qt::Checked);
+ ui->setPassword->setCheckState(Qt::Checked);
#ifdef MAINWINDOW_USE_TOUCHGUI //only used for the touchgui
+ // define the slots we want to use
+ connect(ui->comboBox_touch1, SIGNAL(currentIndexChanged(int)), this, SLOT(combobox1(int))); // Combobox 1 verknüpfen mit IndexChangend Signal
+ connect(ui->comboBox_touch1, SIGNAL(currentIndexChanged(int)), this, SLOT(setindexback()));
- // define the slots we want to use
- connect(ui->comboBox_touch1, SIGNAL(currentIndexChanged(int)), this, SLOT(combobox1(int))); // Combobox 1 verknüpfen mit IndexChangend Signal
- connect(ui->comboBox_touch1, SIGNAL(currentIndexChanged(int)), this, SLOT(setindexback()));
+ connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(createProfile())); // profile button
+ connect(ui->pushButton_2, SIGNAL(clicked()), this, SLOT(clientlisthide())); // clienlist button
+ // toolbar slots
+ connect(ui->actionresetall, SIGNAL(triggered()), this, SLOT(resetall()));
+ connect(ui->actionLocksingle, SIGNAL(triggered()), this, SLOT(locksingle()));
+ connect(ui->actionUnlocksingle, SIGNAL(triggered()), this, SLOT(unlocksingle()));
+ connect(ui->actionProjection, SIGNAL(triggered()), this, SLOT(projecttoolbar()));
+ connect(ui->actionUnprojection, SIGNAL(triggered()), this, SLOT(unprojecttoolbar()));
+ connect(ui->actionDozent, SIGNAL(triggered()), this, SLOT(setdozenttoolbar()));
+ connect(ui->actionShowProcesses, SIGNAL(triggered()), this, SLOT(showProcesses()));
- connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(createProfile())); // profile button
- connect(ui->pushButton_2, SIGNAL(clicked()), this, SLOT(clientlisthide())); // clienlist button
-
- // toolbar slots
- connect(ui->actionresetall, SIGNAL(triggered()), this, SLOT(resetall()));
- connect(ui->actionLocksingle, SIGNAL(triggered()), this, SLOT(locksingle()));
- connect(ui->actionUnlocksingle, SIGNAL(triggered()), this, SLOT(unlocksingle()));
- connect(ui->actionProjection, SIGNAL(triggered()), this, SLOT(projecttoolbar()));
- connect(ui->actionUnprojection, SIGNAL(triggered()), this, SLOT(unprojecttoolbar()));
- connect(ui->actionDozent, SIGNAL(triggered()), this, SLOT(setdozenttoolbar()));
-
- // Ui specific settings
-
- ui->ClWidget->hide();
- ui->progressBar->hide();
- ui->pvsLog->hide();
+ // Ui specific settings
+ ui->ClWidget->hide();
+ ui->progressBar->hide();
+ ui->pvsLog->hide();
#endif
-
- // toolbar and actions in pvsmgr
- connect(ui->action_Exit, SIGNAL(triggered()), this, SLOT(close()));
- ui->action_Exit->setStatusTip(tr("Exit"));
- connect(ui->action_Disconnect, SIGNAL(triggered()), this, SLOT(disconnect()));
- ui->action_Disconnect->setStatusTip(tr("Remove the vnc-Connection for the selected client(s)"));
- ui->action_Disconnect->setVisible(false);//we need it only for debug
- connect(ui->actionView, SIGNAL(triggered()), this, SLOT(closeUp()));
- ui->actionView->setStatusTip(tr("Show the selected client in the whole window"));
- connect(ui->actionFoto, SIGNAL(triggered()), this, SLOT(foto()));
- connect(ui->actionLock, SIGNAL(triggered()), this, SLOT(lockalltoolbar()));
- connect(ui->actionChat, SIGNAL(triggered()), this, SLOT(startChatDialog()));
- ui->actionFoto->setStatusTip(tr("Make a screenshot for the selected client(s)"));
- ui->actionLock->setStatusTip(tr("Lock or Unlock all Clients"));
- connect(ui->actionCreate_profile, SIGNAL(triggered()), this, SLOT(createProfile()));
-
- connect(ui->actionShow_Username, SIGNAL(triggered()), this, SLOT(showusername()));
- connect(ui->actionShow_Hostname_IP, SIGNAL(triggered()), this, SLOT(showip()));
- connect(ui->actionShow_Fullname, SIGNAL(triggered()), this, SLOT(showname()));
- connect(ui->horizontalSlider, SIGNAL(valueChanged (int)), this, SLOT(changeRatio(int)));
- connect(ui->setPassword, SIGNAL(stateChanged (int)), this, SLOT(setPasswordForConnection(int)));
- connect(ui->vncQuality, SIGNAL(currentIndexChanged (int)), this, SLOT(setVNCQuality(int)));
- connect(ui->thumbStatus, SIGNAL(currentIndexChanged(int)), this, SLOT(changeStatus(int)));
- connect(ui->actionShow_Log, SIGNAL(toggled(bool)), this, SLOT(setLogConsoleDisabled(bool)));
- connect(ui->actionShow_Network, SIGNAL(toggled(bool)), this, SLOT(onToggleLog(bool)));
- connect(ui->actionShow_Chat, SIGNAL(toggled(bool)), this, SLOT(onToggleLog(bool)));
- connect(ui->actionShow_Terminal, SIGNAL(toggled(bool)), this, SLOT(onToggleLog(bool)));
- connect(ui->actionShow_Normal, SIGNAL(toggled(bool)), this, SLOT(onToggleLog(bool)));
- connect(ui->actionShow_Error, SIGNAL(toggled(bool)), this, SLOT(onToggleLog(bool)));
- connect(ui->actionAbout_pvs, SIGNAL(triggered()), _aboutDialog, SLOT(open()));
-
- loadSettings(); //we load the appliocation settings
-
- setUnifiedTitleAndToolBarOnMac(true);
- statusBar()->showMessage(tr("The pvs manager"));
- this->showMaximized(); // show the Mainwindow maximized
-
- // listen on port 29481 for incoming file transfers
+ // toolbar and actions in pvsmgr
+ connect(ui->action_Exit, SIGNAL(triggered()), this, SLOT(close()));
+ ui->action_Exit->setStatusTip(tr("Exit"));
+ connect(ui->action_Disconnect, SIGNAL(triggered()), this, SLOT(disconnect()));
+ ui->action_Disconnect->setStatusTip(tr("Remove the vnc-Connection for the selected client(s)"));
+ ui->action_Disconnect->setVisible(false);//we need it only for debug
+ connect(ui->actionView, SIGNAL(triggered()), this, SLOT(closeUp()));
+ ui->actionView->setStatusTip(tr("Show the selected client in the whole window"));
+ connect(ui->actionFoto, SIGNAL(triggered()), this, SLOT(foto()));
+ connect(ui->actionLock, SIGNAL(triggered()), this, SLOT(lockalltoolbar()));
+ connect(ui->actionChat, SIGNAL(triggered()), this, SLOT(startChatDialog()));
+ ui->actionFoto->setStatusTip(tr("Make a screenshot for the selected client(s)"));
+ ui->actionLock->setStatusTip(tr("Lock or Unlock all Clients"));
+ connect(ui->actionCreate_profile, SIGNAL(triggered()), this, SLOT(createProfile()));
+ connect(ui->actionShowProcesses, SIGNAL(triggered()), this, SLOT(showProcesses()));
+ ui->actionShowProcesses->setStatusTip(tr("Show Processes of the selected Client"));
+
+ connect(ui->actionShow_Username, SIGNAL(triggered()), this, SLOT(showusername()));
+ connect(ui->actionShow_Hostname_IP, SIGNAL(triggered()), this, SLOT(showip()));
+ connect(ui->actionShow_Fullname, SIGNAL(triggered()), this, SLOT(showname()));
+ connect(ui->horizontalSlider, SIGNAL(valueChanged (int)), this, SLOT(changeRatio(int)));
+ connect(ui->setPassword, SIGNAL(stateChanged (int)), this, SLOT(setPasswordForConnection(int)));
+ connect(ui->vncQuality, SIGNAL(currentIndexChanged (int)), this, SLOT(setVNCQuality(int)));
+ connect(ui->thumbStatus, SIGNAL(currentIndexChanged(int)), this, SLOT(changeStatus(int)));
+ connect(ui->actionShow_Log, SIGNAL(toggled(bool)), this, SLOT(setLogConsoleDisabled(bool)));
+ connect(ui->actionShow_Network, SIGNAL(toggled(bool)), this, SLOT(onToggleLog(bool)));
+ connect(ui->actionShow_Chat, SIGNAL(toggled(bool)), this, SLOT(onToggleLog(bool)));
+ connect(ui->actionShow_Terminal, SIGNAL(toggled(bool)), this, SLOT(onToggleLog(bool)));
+ connect(ui->actionShow_Normal, SIGNAL(toggled(bool)), this, SLOT(onToggleLog(bool)));
+ connect(ui->actionShow_Error, SIGNAL(toggled(bool)), this, SLOT(onToggleLog(bool)));
+ connect(ui->actionAbout_pvs, SIGNAL(triggered()), _aboutDialog, SLOT(open()));
+
+ loadSettings(); //we load the appliocation settings
+
+ setUnifiedTitleAndToolBarOnMac(true);
+ statusBar()->showMessage(tr("The pvs manager"));
+ this->showMaximized(); // show the Mainwindow maximized
+
+ // listen on port 29481 for incoming file transfers
_serverSocket = new QTcpServer();
_serverSocket->listen(QHostAddress::Any, 29481);
connect(_serverSocket, SIGNAL(newConnection()), this, SLOT(incomingFile()));
-
}
MainWindow::~MainWindow()
{
- delete ui;
+ delete ui;
}
/*
@@ -180,38 +178,38 @@ void MainWindow::closeEvent(QCloseEvent *e)
MainWindow* MainWindow::getWindow() // catches the window
{
- if (myself)
- {
- return myself;
- }
- else
- {
- return myself = new MainWindow;
- }
+ if (myself)
+ {
+ return myself;
+ }
+ else
+ {
+ return myself = new MainWindow;
+ }
}
ConnectionWindow* MainWindow::getConnectionWindow() // catches the ConnectionWindow
{
- if (conWin)
- {
- return conWin;
- }
- else
- {
- conWin = new ConnectionWindow;
- return conWin;
- }
+ if (conWin)
+ {
+ return conWin;
+ }
+ else
+ {
+ conWin = new ConnectionWindow;
+ return conWin;
+ }
}
ConnectionList* MainWindow::getConnectionList() // catches the ConnectionList
{
- if (conList)
- return conList;
- else
- {
- conList = new ConnectionList;
- return conList;
- }
+ if (conList)
+ return conList;
+ else
+ {
+ conList = new ConnectionList;
+ return conList;
+ }
}
int MainWindow::getConnectionWindowWidth() // returns the width of the ConnectionWindow
@@ -226,9 +224,9 @@ int MainWindow::getConnectionWindowHeight() // returns the height of the Coonect
QStringList MainWindow::getProfilList() // loads the profile list
{
- QSettings settings("openslx", "pvsmgr");
- profilList = settings.childGroups();
- return profilList;
+ QSettings settings("openslx", "pvsmgr");
+ profilList = settings.childGroups();
+ return profilList;
}
#ifdef MAINWINDOW_USE_NORMALGUI
@@ -254,70 +252,63 @@ void MainWindow::removeProfileInMenu(QString name)
#endif
void MainWindow::loadSettings()
{
- QSettings settings("openslx", "pvsmgr");
- QString current = settings.value("current", "default").toString();
- currentProfi = current;
- _profilName = current;
-
- //When no profile is available, we define a default one whith 9 dummy screens
- if (current.compare("default") == 0)
- {
- setWindowTitle("PVSmgr - Default");
- QPoint pos1 = settings.value("default/1", QPoint(0, 0)).toPoint();
- MainWindow::getConnectionWindow()->addFrameBySettings("1", pos1);
- QPoint pos2 =
- settings.value("default/2", QPoint(194, 0)).toPoint();
- MainWindow::getConnectionWindow()->addFrameBySettings("2", pos2);
- QPoint pos3 =
- settings.value("default/3", QPoint(388, 0)).toPoint();
- MainWindow::getConnectionWindow()->addFrameBySettings("3", pos3);
- QPoint pos4 =
- settings.value("default/4", QPoint(582, 0)).toPoint();
- MainWindow::getConnectionWindow()->addFrameBySettings("4", pos4);
- QPoint pos5 =
- settings.value("default/5", QPoint(0, 173)).toPoint();
- MainWindow::getConnectionWindow()->addFrameBySettings("5", pos5);
- QPoint pos6 =
- settings.value("default/6", QPoint(194, 173)).toPoint();
- MainWindow::getConnectionWindow()->addFrameBySettings("6", pos6);
- QPoint pos7 =
- settings.value("default/7", QPoint(388, 173)).toPoint();
- MainWindow::getConnectionWindow()->addFrameBySettings("7", pos7);
- QPoint pos8 =
- settings.value("default/8", QPoint(582, 173)).toPoint();
- MainWindow::getConnectionWindow()->addFrameBySettings("8", pos8);
- QPoint pos9 =
- settings.value("default/9", QPoint(293, 346)).toPoint();
- MainWindow::getConnectionWindow()->addFrameBySettings("9", pos9);
-
- QString title = "PVSmgr - ";
+ QSettings settings("openslx", "pvsmgr");
+ QString current = settings.value("current", "default").toString();
+ currentProfi = current;
+ _profilName = current;
+
+ //When no profile is available, we define a default one whith 9 dummy screens
+ if (current.compare("default") == 0)
+ {
+ setWindowTitle("PVSmgr - Default");
+ QPoint pos1 = settings.value("default/1", QPoint(0, 0)).toPoint();
+ MainWindow::getConnectionWindow()->addFrameBySettings("1", pos1);
+ QPoint pos2 = settings.value("default/2", QPoint(194, 0)).toPoint();
+ MainWindow::getConnectionWindow()->addFrameBySettings("2", pos2);
+ QPoint pos3 = settings.value("default/3", QPoint(388, 0)).toPoint();
+ MainWindow::getConnectionWindow()->addFrameBySettings("3", pos3);
+ QPoint pos4 = settings.value("default/4", QPoint(582, 0)).toPoint();
+ MainWindow::getConnectionWindow()->addFrameBySettings("4", pos4);
+ QPoint pos5 = settings.value("default/5", QPoint(0, 173)).toPoint();
+ MainWindow::getConnectionWindow()->addFrameBySettings("5", pos5);
+ QPoint pos6 = settings.value("default/6", QPoint(194, 173)).toPoint();
+ MainWindow::getConnectionWindow()->addFrameBySettings("6", pos6);
+ QPoint pos7 = settings.value("default/7", QPoint(388, 173)).toPoint();
+ MainWindow::getConnectionWindow()->addFrameBySettings("7", pos7);
+ QPoint pos8 = settings.value("default/8", QPoint(582, 173)).toPoint();
+ MainWindow::getConnectionWindow()->addFrameBySettings("8", pos8);
+ QPoint pos9 = settings.value("default/9", QPoint(293, 346)).toPoint();
+ MainWindow::getConnectionWindow()->addFrameBySettings("9", pos9);
+
+ QString title = "PVSmgr - ";
title.append(_profilName);
- title.append(" ["+_sessionName + " : ");
- title.append(_pwdCon+"]");
+ title.append(" [" + _sessionName + " : ");
+ title.append(_pwdCon + "]");
setWindowTitle(title);
- }
- else
- {
- QString title = "PVSmgr - ";
+ }
+ else
+ {
+ QString title = "PVSmgr - ";
title.append(_profilName);
- title.append(" ["+_sessionName + " : ");
- title.append(_pwdCon+"]");
+ title.append(" [" + _sessionName + " : ");
+ title.append(_pwdCon + "]");
setWindowTitle(title);
- settings.beginGroup(current);
- QStringList keys = settings.childKeys();
- for (int i=0; iaddFrameBySettings(keys.at(i), pos);
- }
- }
-
- MainWindow::getConnectionWindow()->showFrameFromSettings();
+ settings.beginGroup(current);
+ QStringList keys = settings.childKeys();
+ for (int i = 0; i < keys.size(); i++)
+ {
+ QString profil = current;
+ profil = profil.append("/").append(keys.at(i));
+ QPoint pos = settings.value(keys.at(i)).toPoint();
+ MainWindow::getConnectionWindow()->addFrameBySettings(keys.at(i),
+ pos);
+ }
+ }
+
+ MainWindow::getConnectionWindow()->showFrameFromSettings();
#ifdef MAINWINDOW_USE_NORMALGUI
- foreach (QString profile, getProfilList())
- addProfileInMenu(profile);
+ foreach (QString profile, getProfilList())
+ addProfileInMenu(profile);
#endif
}
@@ -329,17 +320,17 @@ void MainWindow::loadProfile(QAction* actiontriggered)
void MainWindow::loadSettings(QString profilname) // loads the current profile
{
- QList AllFrameOnWindow =
- MainWindow::getConnectionWindow()->getAllFrameOnWindow();
-
- if (AllFrameOnWindow.size() > 0)
- {
- _profilName = profilname;
- MainWindow::getConnectionWindow()->ClientLocationList.clear();
- QSettings settings("openslx", "pvsmgr");
- settings.setValue("current", _profilName);
- ConnectionFrame* cFrame;
- foreach (cFrame, AllFrameOnWindow)
+ QList AllFrameOnWindow =
+ MainWindow::getConnectionWindow()->getAllFrameOnWindow();
+
+ if (AllFrameOnWindow.size() > 0)
+ {
+ _profilName = profilname;
+ MainWindow::getConnectionWindow()->ClientLocationList.clear();
+ QSettings settings("openslx", "pvsmgr");
+ settings.setValue("current", _profilName);
+ ConnectionFrame* cFrame;
+ foreach (cFrame, AllFrameOnWindow)
{
if (cFrame->isDummy())
{
@@ -348,90 +339,91 @@ void MainWindow::loadSettings(QString profilname) // loads the current profile
cFrame->deleteLater();
}
}
- settings.beginGroup(_profilName);
- QStringList keys = settings.childKeys();
- int rest = AllFrameOnWindow.size();
- int init = 1;
- for (int i = 0; i < keys.size(); i++)
- {
- if (init <= rest)
- {
- ConnectionFrame* cF = AllFrameOnWindow.at(i);
- QString profil = _profilName;
- profil = profil.append("/").append(cF->getTaskbarTitle());
- if (!cF->isDummy())
- cF->move(settings.value(keys.at(i)).toPoint());
- else
- cF->move(settings.value(profil, QPoint(10,(10+(5*i)))).toPoint());
-
- init += 1;
- }
- else
- {
- MainWindow::getConnectionWindow()->addFrameBySettings(
- keys.at(i), settings.value(keys.at(i)).toPoint());
- }
- }
-
- MainWindow::getConnectionWindow()->showFrameFromSettings();
-
- QString title = "PVSmgr - ";
- title.append(_profilName);
- title.append(" ["+_sessionName + " : ");
- title.append(_pwdCon+"]");
- setWindowTitle(title);
- }
+ settings.beginGroup(_profilName);
+ QStringList keys = settings.childKeys();
+ int rest = AllFrameOnWindow.size();
+ int init = 1;
+ for (int i = 0; i < keys.size(); i++)
+ {
+ if (init <= rest)
+ {
+ ConnectionFrame* cF = AllFrameOnWindow.at(i);
+ QString profil = _profilName;
+ profil = profil.append("/").append(cF->getTaskbarTitle());
+ if (!cF->isDummy())
+ cF->move(settings.value(keys.at(i)).toPoint());
+ else
+ cF->move(
+ settings.value(profil, QPoint(10, (10 + (5 * i)))).toPoint());
+
+ init += 1;
+ }
+ else
+ {
+ MainWindow::getConnectionWindow()->addFrameBySettings(
+ keys.at(i), settings.value(keys.at(i)).toPoint());
+ }
+ }
+
+ MainWindow::getConnectionWindow()->showFrameFromSettings();
+
+ QString title = "PVSmgr - ";
+ title.append(_profilName);
+ title.append(" [" + _sessionName + " : ");
+ title.append(_pwdCon + "]");
+ setWindowTitle(title);
+ }
}
void MainWindow::saveSettings(QString profilname)
{
- QList AllFrameOnWindow =
- MainWindow::getConnectionWindow()->getAllFrameOnWindow();
- QSettings settings("openslx", "pvsmgr");
- settings.setValue("current", profilname);
- settings.setValue("size", QString("%1").arg(AllFrameOnWindow.size()));
-
- for (int i = 0; i < AllFrameOnWindow.size(); i++)
- {
- ConnectionFrame* current = AllFrameOnWindow.at(i);
- QString profil = "";
- profil = settings.value("current").toString().append("/");
- if (!current->isDummy())
- profil.append(QString(current->getTaskbarTitle()));
- else
- profil.append(QString("%1").arg(i + 1));
- settings.setValue(profil, current->pos());
- }
+ QList AllFrameOnWindow =
+ MainWindow::getConnectionWindow()->getAllFrameOnWindow();
+ QSettings settings("openslx", "pvsmgr");
+ settings.setValue("current", profilname);
+ settings.setValue("size", QString("%1").arg(AllFrameOnWindow.size()));
+
+ for (int i = 0; i < AllFrameOnWindow.size(); i++)
+ {
+ ConnectionFrame* current = AllFrameOnWindow.at(i);
+ QString profil = "";
+ profil = settings.value("current").toString().append("/");
+ if (!current->isDummy())
+ profil.append(QString(current->getTaskbarTitle()));
+ else
+ profil.append(QString("%1").arg(i + 1));
+ settings.setValue(profil, current->pos());
+ }
#ifdef MAINWINDOW_USE_NORMALGUI
-addProfileInMenu(profilname);
+ addProfileInMenu(profilname);
#endif
}
void MainWindow::removeProfil(QString profilname)
{
- QSettings settings("openslx", "pvsmgr");
- settings.remove(profilname);
+ QSettings settings("openslx", "pvsmgr");
+ settings.remove(profilname);
#ifdef MAINWINDOW_USE_NORMALGUI
-removeProfileInMenu(profilname);
+ removeProfileInMenu(profilname);
#endif
}
void MainWindow::addConnection(PVSClient* newCon)
{
- conWin->addConnection(newCon);
- if (!_chatListClients.contains(newCon->getUserName()))
- {
- _chatListClients.append(newCon->getUserName());
- sChatDialog.chat_client_add(newCon->getUserName());
- sChatDialog.chat_nicklist_update();
- }
- // sChatDialog->chat_nicklist_update(newCon->getUserName());
+ conWin->addConnection(newCon);
+ if (!_chatListClients.contains(newCon->getUserName()))
+ {
+ _chatListClients.append(newCon->getUserName());
+ sChatDialog.chat_client_add(newCon->getUserName());
+ sChatDialog.chat_nicklist_update();
+ }
+ // sChatDialog->chat_nicklist_update(newCon->getUserName());
}
void MainWindow::removeConnection(PVSClient* newCon)
{
- conWin->removeConnection(newCon);
- if (_chatListClients.contains(newCon->getUserName()))
+ conWin->removeConnection(newCon);
+ if (_chatListClients.contains(newCon->getUserName()))
{
_chatListClients.removeOne(newCon->getUserName());
sChatDialog.chat_client_remove(newCon->getUserName());
@@ -442,87 +434,87 @@ void MainWindow::removeConnection(PVSClient* newCon)
void MainWindow::onConnectionFailed(QString host)
{
#ifdef never
- // code is voided because the info-management will be overhauled sometime
-
- if (pwDiag) // assume this thing failed after the pw-question... so a wrong password, ey?
-
- {
- onPasswordFailed(host);
- return;
- }
-
- QString caption, secondary;
- if (host != "")
- {
- caption = ("PVSConnection with hostname \"");
- caption.append(host);
- caption.append("\" failed.");
- secondary = "PVSConnection attempt for this hostname failed.Maybe the host is not prepared to accept vnc connections. Please make sure hostname and (if needed) password are correct.";
- }
- else
- {
- caption = "No IP given";
- secondary = "PVSConnection attempt for this host failed. There was either no or an errorous Hostname given.";
- }
- QMessageBox::information(*this, caption, secondary);
- /* Gtk::MessageDialog dialog(*this, Glib::ustring(caption));
- dialog.set_secondary_text(secondary);
- dialog.run();*/
+ // code is voided because the info-management will be overhauled sometime
+
+ if (pwDiag) // assume this thing failed after the pw-question... so a wrong password, ey?
+
+ {
+ onPasswordFailed(host);
+ return;
+ }
+
+ QString caption, secondary;
+ if (host != "")
+ {
+ caption = ("PVSConnection with hostname \"");
+ caption.append(host);
+ caption.append("\" failed.");
+ secondary = "PVSConnection attempt for this hostname failed.Maybe the host is not prepared to accept vnc connections. Please make sure hostname and (if needed) password are correct.";
+ }
+ else
+ {
+ caption = "No IP given";
+ secondary = "PVSConnection attempt for this host failed. There was either no or an errorous Hostname given.";
+ }
+ QMessageBox::information(*this, caption, secondary);
+ /* Gtk::MessageDialog dialog(*this, Glib::ustring(caption));
+ dialog.set_secondary_text(secondary);
+ dialog.run();*/
#endif
}
void MainWindow::onConnectionTerminated(PVSClient* newConnection)
{
#ifdef never
- // code is voided because the info-management will be overhauled sometime
-
- QString host;
- if (newConnection)
- {
- host = newConnection->getIp(); // copy hostname for message
- }
- else
- host = "spooky unknown";
-
- // now inform
- QString caption, secondary;
-
- caption = "Hostname \"";
- caption.append(host);
- caption.append("\" terminated connection.");
- secondary = "The server has closed the connection to your client.";
-
- QMessageBox::information(*this, caption, secondary);
- /*Gtk::MessageDialog dialog(*this, Glib::ustring(caption));
- dialog.set_secondary_text(secondary);
- dialog.run();*/
+ // code is voided because the info-management will be overhauled sometime
+
+ QString host;
+ if (newConnection)
+ {
+ host = newConnection->getIp(); // copy hostname for message
+ }
+ else
+ host = "spooky unknown";
+
+ // now inform
+ QString caption, secondary;
+
+ caption = "Hostname \"";
+ caption.append(host);
+ caption.append("\" terminated connection.");
+ secondary = "The server has closed the connection to your client.";
+
+ QMessageBox::information(*this, caption, secondary);
+ /*Gtk::MessageDialog dialog(*this, Glib::ustring(caption));
+ dialog.set_secondary_text(secondary);
+ dialog.run();*/
#endif
}
void MainWindow::onConnectionRemoved(PVSClient* newConnection)
{
- // TODO this would be the place to handle the rest of the fullscreen issue
- conWin->onConnectionRemoved(newConnection);
+ // TODO this would be the place to handle the rest of the fullscreen issue
+ conWin->onConnectionRemoved(newConnection);
}
void MainWindow::onPasswordFailed(QString Qhost)
{
#ifdef never
- // code is voided because the info-management will be overhauled sometime
- QString caption, secondary;
- if (Qhost != "")
- {
- caption = "Hostname \"";
- caption.append(Qhost);
- caption.append("\" refused password.");
- secondary = "You have entered no or a wrong password.";
- }
- else
- return; // unknown connection was terminated? too spooky
- QMessageBox::information(*this, caption, secondary);
- /* Gtk::MessageDialog dialog(*this, Glib::ustring(caption));
- dialog.set_secondary_text(secondary);
- Gtk::Main::run(dialog);*/
+ // code is voided because the info-management will be overhauled sometime
+ QString caption, secondary;
+ if (Qhost != "")
+ {
+ caption = "Hostname \"";
+ caption.append(Qhost);
+ caption.append("\" refused password.");
+ secondary = "You have entered no or a wrong password.";
+ }
+ else
+ return; // unknown connection was terminated? too spooky
+ QMessageBox::information(*this, caption, secondary);
+ /* Gtk::MessageDialog dialog(*this, Glib::ustring(caption));
+ dialog.set_secondary_text(secondary);
+ Gtk::Main::run(dialog);*/
#endif
}
@@ -538,41 +530,41 @@ void MainWindow::receiveChatMsg(QString nick_from, QString nick_to, QString msg)
int MainWindow::getPrevWidth() // PVSConnectionManager::getManager()->getPrevWidth()
{
- return prev_width;
+ return prev_width;
}
void MainWindow::setPrevWidth(int newWidth)
{
- if (newWidth > 100)
- prev_width = newWidth;
- else
- prev_width = 100;
+ if (newWidth > 100)
+ prev_width = newWidth;
+ else
+ prev_width = 100;
}
int MainWindow::getPrevHeight()
{
- return prev_height;
+ return prev_height;
}
void MainWindow::setPrevHeight(int newHeight)
{
- if (newHeight > 100)
- prev_height = newHeight;
- else
- prev_height = 100;
+ if (newHeight > 100)
+ prev_height = newHeight;
+ else
+ prev_height = 100;
}
void MainWindow::changeEvent(QEvent *e)
{
- QMainWindow::changeEvent(e);
- switch (e->type())
- {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
+ QMainWindow::changeEvent(e);
+ switch (e->type())
+ {
+ case QEvent::LanguageChange:
+ ui->retranslateUi(this);
+ break;
+ default:
+ break;
+ }
}
/*
@@ -586,107 +578,108 @@ void MainWindow::changeEvent(QEvent *e)
void MainWindow::resizeEvent(QResizeEvent *event)
{
- if (bgimage == true){
- repaintbackgroundpicture(); // repaint the backgroundpicture scaled to the window size
+ if (bgimage == true)
+ {
+ repaintbackgroundpicture(); // repaint the backgroundpicture scaled to the window size
}
if (_firstResize == 3)
{
QSize oldSize = event->oldSize();
- _initW = ui->widget->width();
- _initH = ui->widget->height();
+ _initW = ui->widget->width();
+ _initH = ui->widget->height();
_firstResize++;
}
- std::list* selectedClients =
- MainWindow::getConnectionList()->getSelectedClients();
- if (is_closeup && selectedClients->size() == 1)
- {
- PVSClient* pvsClient =
- PVSConnectionManager::getManager()->getClientFromIp(
- selectedClients->front().toStdString().c_str());
- pvsClient->getConnectionFrame()->paintCloseUp(ui->widget->width(),
- ui->widget->height());
- }
- else if (!is_closeup && _firstResize > 3)
- {
- int ratio_w = (ui->widget->width()*100)/_initW;
- int ratio_h = (ui->widget->height()*100)/_initH;
- foreach (ConnectionFrame* cf, getConnectionWindow()->getFrameList())
- {
- /*int margin = ui->widget->style()->pixelMetric(QStyle::PM_DefaultTopLevelMargin);
- int x = ui->widget->width() - margin;
- int y = ui->widget->height() - margin;
- updatePos(cf, x, y);*/
- int w = (cf->init_w * ratio_w) / 100;
- int h = (cf->init_h * ratio_h) / 100;
- cf->paintCloseUp(w,h);
- }
- }
-
- if (_firstResize < 3)
- _firstResize++;
+ std::list* selectedClients =
+ MainWindow::getConnectionList()->getSelectedClients();
+ if (is_closeup && selectedClients->size() == 1)
+ {
+ PVSClient* pvsClient =
+ PVSConnectionManager::getManager()->getClientFromIp(
+ selectedClients->front().toStdString().c_str());
+ pvsClient->getConnectionFrame()->paintCloseUp(ui->widget->width(),
+ ui->widget->height());
+ }
+ else if (!is_closeup && _firstResize > 3)
+ {
+ int ratio_w = (ui->widget->width() * 100) / _initW;
+ int ratio_h = (ui->widget->height() * 100) / _initH;
+foreach (ConnectionFrame* cf, getConnectionWindow()->getFrameList())
+ {
+ /*int margin = ui->widget->style()->pixelMetric(QStyle::PM_DefaultTopLevelMargin);
+ int x = ui->widget->width() - margin;
+ int y = ui->widget->height() - margin;
+ updatePos(cf, x, y);*/
+ int w = (cf->init_w * ratio_w) / 100;
+ int h = (cf->init_h * ratio_h) / 100;
+ cf->paintCloseUp(w,h);
+ }
+}
+
+if (_firstResize < 3)
+_firstResize++;
}
void MainWindow::updatePos(ConnectionFrame* cf, int x, int y)
{
- int posx = (x*cf->pos().x())/_initW;
- int posy = (y*cf->pos().y())/_initH;
+ int posx = (x * cf->pos().x()) / _initW;
+ int posy = (y * cf->pos().y()) / _initH;
cf->move(posx, posy);
/*QSize size = cf->sizeHint();
- cf->setGeometry(x - size.rwidth(), y - size.rheight(),
- size.rwidth(), size.rheight());*/
+ cf->setGeometry(x - size.rwidth(), y - size.rheight(),
+ size.rwidth(), size.rheight());*/
}
void MainWindow::on_log_line(LogEntry consoleEntry)
{
- ConsoleLogger::LOG_LEVEL level = consoleEntry.getLevel();
- if (level == ConsoleLogger::LOG_ERROR && !showError)
- return;
- if (level == ConsoleLogger::LOG_NORMAL && !showNormal)
- return;
- if (level == ConsoleLogger::LOG_NETWORK && !showNetwork)
- return;
- if (level == ConsoleLogger::LOG_TERMINAL && !showTerminal)
- return;
- if (level == ConsoleLogger::LOG_CHAT && !showChat)
- return;
-
- ui->pvsLog->insertPlainText(consoleEntry.getLine());
+ ConsoleLogger::LOG_LEVEL level = consoleEntry.getLevel();
+ if (level == ConsoleLogger::LOG_ERROR && !showError)
+ return;
+ if (level == ConsoleLogger::LOG_NORMAL && !showNormal)
+ return;
+ if (level == ConsoleLogger::LOG_NETWORK && !showNetwork)
+ return;
+ if (level == ConsoleLogger::LOG_TERMINAL && !showTerminal)
+ return;
+ if (level == ConsoleLogger::LOG_CHAT && !showChat)
+ return;
+
+ ui->pvsLog->insertPlainText(consoleEntry.getLine());
}
void MainWindow::onToggleLog(bool showtime)
{
- if (showtime)
- ;//to kill the system warning due "unused variable"
- showError = ui->actionShow_Error->isChecked();
- showTerminal = ui->actionShow_Terminal->isChecked();
- showNetwork = ui->actionShow_Network->isChecked();
- showChat = ui->actionShow_Chat->isChecked();
- showNormal = ui->actionShow_Normal->isChecked();
- //showAtAll = ui->logAtAllAction->get_active();
+ if (showtime)
+ ;//to kill the system warning due "unused variable"
+ showError = ui->actionShow_Error->isChecked();
+ showTerminal = ui->actionShow_Terminal->isChecked();
+ showNetwork = ui->actionShow_Network->isChecked();
+ showChat = ui->actionShow_Chat->isChecked();
+ showNormal = ui->actionShow_Normal->isChecked();
+ //showAtAll = ui->logAtAllAction->get_active();
- ConsoleLog dump2Listener(this, &MainWindow::on_log_line);
+ ConsoleLog dump2Listener(this, &MainWindow::on_log_line);
}
void MainWindow::setLogConsoleDisabled(bool visible)
{
- if (!visible)
- ui->pvsLog->hide();
- else
- ui->pvsLog->show();
+ if (!visible)
+ ui->pvsLog->hide();
+ else
+ ui->pvsLog->show();
}
/*void MainWindow::close()
-{
- //sChatDialog.close();
- QApplication::closeAllWindows();
-}*/
+ {
+ //sChatDialog.close();
+ QApplication::closeAllWindows();
+ }*/
void MainWindow::disconnect()
{
- conWin->removeVNC();
+ conWin->removeVNC();
}
void MainWindow::lockUnlockAll()
@@ -707,119 +700,153 @@ void MainWindow::lockUnlockAll()
void MainWindow::closeUp()
{
- std::list* selectedClients =
- MainWindow::getConnectionList()->getSelectedClients();
- if (!is_closeup)
- {
- if (selectedClients->size() == 1)
- {
- PVSClient
- * pvsClient =
- PVSConnectionManager::getManager()->getClientFromIp(
- selectedClients->front().toStdString().c_str());
- _framePosOnCloseUp = pvsClient->getConnectionFrame()->pos();//get the actualy position before run closeup
- if (pvsClient->getVNCConnection())
- {
- conWin->setCloseupFrame(pvsClient->getConnectionFrame());
- _updatefreq = pvsClient->getConnectionFrame()->getFrame()->getVNCClientThread()->getUpdatefreq();
- pvsClient->getConnectionFrame()->getFrame()->getVNCClientThread()->setUpdatefreq(50);
- pvsClient->getConnectionFrame()->move(5,5);
- pvsClient->getConnectionFrame()->setWindowFlags(Qt::WindowStaysOnTopHint);
+ std::list* selectedClients =
+ MainWindow::getConnectionList()->getSelectedClients();
+ if (!is_closeup)
+ {
+ if (selectedClients->size() == 1)
+ {
+ PVSClient * pvsClient =
+ PVSConnectionManager::getManager()->getClientFromIp(
+ selectedClients->front().toStdString().c_str());
+ _framePosOnCloseUp = pvsClient->getConnectionFrame()->pos();//get the actualy position before run closeup
+ if (pvsClient->getVNCConnection())
+ {
+ conWin->setCloseupFrame(pvsClient->getConnectionFrame());
+ _updatefreq
+ = pvsClient->getConnectionFrame()->getFrame()->getVNCClientThread()->getUpdatefreq();
+ pvsClient->getConnectionFrame()->getFrame()->getVNCClientThread()->setUpdatefreq(
+ 50);
+ pvsClient->getConnectionFrame()->move(5, 5);
+ pvsClient->getConnectionFrame()->setWindowFlags(
+ Qt::WindowStaysOnTopHint);
pvsClient->getConnectionFrame()->raise();
- pvsClient->getConnectionFrame()->paintCloseUp(ui->widget->width(),ui->widget->height());
+ pvsClient->getConnectionFrame()->paintCloseUp(
+ ui->widget->width(), ui->widget->height());
is_closeup = true;
conWin->setCloseupFrame(pvsClient->getConnectionFrame());
}
- }
- else
- {
- QString
- message =
- QString(
- tr(
- "This operation can only be performed for one selected Client!"));
- QMessageBox::information(this, "PVS", message);
- }
- }
- else if (conWin->getCloseupFrame())
- {
- /*PVSClient* pvsClient =
- PVSConnectionManager::getManager()->getClientFromIp(
- selectedClients->front().toStdString().c_str());*/
- conWin->getCloseupFrame()->setWindowFlags(Qt::Widget);
- conWin->getCloseupFrame()->paintCloseUp(conWin->getCloseupFrame()->getPrevWidth(), conWin->getCloseupFrame()->getPrevHeight());
- conWin->getCloseupFrame()->move(_framePosOnCloseUp);//back to the position before the closeup
- if (conWin->getCloseupFrame()->getConnection()->getVNCConnection())
- conWin->getCloseupFrame()->getFrame()->getVNCClientThread()->setUpdatefreq(_updatefreq);
-
- is_closeup = false;
- conWin->setCloseupFrame(NULL);
- }
+ }
+ else
+ {
+ QString
+ message =
+ QString(
+ tr(
+ "This operation can only be performed for one selected Client!"));
+ QMessageBox::information(this, "PVS", message);
+ }
+ }
+ else if (conWin->getCloseupFrame())
+ {
+ /*PVSClient* pvsClient =
+ PVSConnectionManager::getManager()->getClientFromIp(
+ selectedClients->front().toStdString().c_str());*/
+ conWin->getCloseupFrame()->setWindowFlags(Qt::Widget);
+ conWin->getCloseupFrame()->paintCloseUp(
+ conWin->getCloseupFrame()->getPrevWidth(),
+ conWin->getCloseupFrame()->getPrevHeight());
+ conWin->getCloseupFrame()->move(_framePosOnCloseUp);//back to the position before the closeup
+ if (conWin->getCloseupFrame()->getConnection()->getVNCConnection())
+ conWin->getCloseupFrame()->getFrame()->getVNCClientThread()->setUpdatefreq(
+ _updatefreq);
+
+ is_closeup = false;
+ conWin->setCloseupFrame(NULL);
+ }
+}
+
+/* Perform some action if actionShowProcesses button was pressed
+ *
+ */
+void MainWindow::showProcesses()
+{
+ std::list* selectedClients =
+ MainWindow::getConnectionList()->getSelectedClients();
+ if (selectedClients->size() == 1)
+ {
+ // do stuff
+ PVSClient * pvsClient =
+ PVSConnectionManager::getManager()->getClientFromIp(
+ selectedClients->front().toStdString().c_str());
+ pvsClient->sendMessage(PVSCOMMAND, "SHOWPROCESSES", "");
+ }
+ else
+ {
+ QString
+ message =
+ QString(
+ tr(
+ "This operation can only be performed if you have selected a Client!"));
+ QMessageBox::information(this, "PVS", message);
+ }
}
void MainWindow::foto() // makes a screenshot of the selected client
{
- std::list* selectedClients =
- MainWindow::getConnectionList()->getSelectedClients();
- if (selectedClients->size() > 0)
- {
- QString format = "png";
- for (std::list::iterator tmpIt = selectedClients->begin(); tmpIt
- != selectedClients->end(); tmpIt++)
- {
-
- QString path = QDir::homePath().append("/").append(*tmpIt).append(
- ".png");
- PVSClient
- * pvsClient =
- PVSConnectionManager::getManager()->getClientFromIp(
- (*tmpIt).toUtf8().data());
- if (pvsClient->getVNCConnection())
- {
- const QImage img = pvsClient->getConnectionFrame()->getFrame()->getImageForFoto();
- if (!img.isNull())
- img.save(path, format.toAscii());
- }
- else printf("Cannot save screen: Image is null.\n");
- }
- }
- else
- {
- QString
- message =
- QString(
- tr(
- "This operation can only be performed for at least one selected Client!"));
- QMessageBox::information(this, "PVS", message);
- }
+ std::list* selectedClients =
+ MainWindow::getConnectionList()->getSelectedClients();
+ if (selectedClients->size() > 0)
+ {
+ QString format = "png";
+ for (std::list::iterator tmpIt = selectedClients->begin(); tmpIt
+ != selectedClients->end(); tmpIt++)
+ {
+
+ QString path = QDir::homePath().append("/").append(*tmpIt).append(
+ ".png");
+ PVSClient * pvsClient =
+ PVSConnectionManager::getManager()->getClientFromIp(
+ (*tmpIt).toUtf8().data());
+ if (pvsClient->getVNCConnection())
+ {
+ const QImage
+ img =
+ pvsClient->getConnectionFrame()->getFrame()->getImageForFoto();
+ if (!img.isNull())
+ img.save(path, format.toAscii());
+ }
+ else
+ printf("Cannot save screen: Image is null.\n");
+ }
+ }
+ else
+ {
+ QString
+ message =
+ QString(
+ tr(
+ "This operation can only be performed for at least one selected Client!"));
+ QMessageBox::information(this, "PVS", message);
+ }
}
void MainWindow::createProfile()
{
- profileDialog proDiag;
- proDiag.exec();
+ profileDialog proDiag;
+ proDiag.exec();
}
void MainWindow::showusername()
{
- MainWindow::getConnectionList()->setColumnHidden(2, false);
- MainWindow::getConnectionList()->setColumnHidden(0, true);
- MainWindow::getConnectionList()->setColumnHidden(1, true);
+ MainWindow::getConnectionList()->setColumnHidden(2, false);
+ MainWindow::getConnectionList()->setColumnHidden(0, true);
+ MainWindow::getConnectionList()->setColumnHidden(1, true);
}
void MainWindow::showname()
{
- MainWindow::getConnectionList()->setColumnHidden(0, false);
- MainWindow::getConnectionList()->setColumnHidden(1, true);
- MainWindow::getConnectionList()->setColumnHidden(2, true);
+ MainWindow::getConnectionList()->setColumnHidden(0, false);
+ MainWindow::getConnectionList()->setColumnHidden(1, true);
+ MainWindow::getConnectionList()->setColumnHidden(2, true);
}
void MainWindow::showip()
{
- MainWindow::getConnectionList()->setColumnHidden(1, false);
- MainWindow::getConnectionList()->setColumnHidden(2, true);
- MainWindow::getConnectionList()->setColumnHidden(0, true);
+ MainWindow::getConnectionList()->setColumnHidden(1, false);
+ MainWindow::getConnectionList()->setColumnHidden(2, true);
+ MainWindow::getConnectionList()->setColumnHidden(0, true);
}
void MainWindow::incomingFile()
@@ -838,15 +865,16 @@ void MainWindow::changeRatio(int ratio) // needed the change the size of the vnc
str.append(QString("%1").arg(ratio));
ui->label_2->setText(str);
- std::list* selClients = getConnectionList()->getSelectedClients();
+ std::list* selClients =
+ getConnectionList()->getSelectedClients();
if (selClients->size() > 0)
{
for (std::list::iterator client = selClients->begin(); client
!= selClients->end(); client++)
{
PVSClient* pvsClient =
- PVSConnectionManager::getManager()->getClientFromIp(
- (*client).toUtf8().data());
+ PVSConnectionManager::getManager()->getClientFromIp(
+ (*client).toUtf8().data());
ConnectionFrame *frame = pvsClient->getConnectionFrame();
int w = (frame->init_w * ratio) / 100;
int h = (frame->init_h * ratio) / 100;
@@ -861,46 +889,46 @@ void MainWindow::changeRatio(int ratio) // needed the change the size of the vnc
QList frameList =
MainWindow::getConnectionWindow()->getFrameList();
ConnectionFrame *frame;
- foreach(frame, frameList)
- {
- int w = (frame->init_w * ratio) / 100;
- int h = (frame->init_h * ratio) / 100;
- frame->setPrevWidth(w);
- frame->setPrevHeight(h);
- frame->paintCloseUp(w, h);
- }
+foreach (frame, frameList)
+ {
+ int w = (frame->init_w * ratio) / 100;
+ int h = (frame->init_h * ratio) / 100;
+ frame->setPrevWidth(w);
+ frame->setPrevHeight(h);
+ frame->paintCloseUp(w, h);
}
}
- else
+}
+else
+{
+ int updatefreq = (ratio*500)/100;
+ QString str;
+ str.append(QString("%1").arg(updatefreq));
+ ui->label_2->setText(str);
+ std::list* selClients = getConnectionList()->getSelectedClients();
+ if (selClients->size() > 0)
{
- int updatefreq = (ratio*500)/100;
- QString str;
- str.append(QString("%1").arg(updatefreq));
- ui->label_2->setText(str);
- std::list* selClients = getConnectionList()->getSelectedClients();
- if (selClients->size() > 0)
+ for (std::list::iterator client = selClients->begin(); client
+ != selClients->end(); client++)
{
- for (std::list::iterator client = selClients->begin(); client
- != selClients->end(); client++)
- {
- PVSClient* pvsClient =
- PVSConnectionManager::getManager()->getClientFromIp(
- (*client).toUtf8().data());
- if (pvsClient->getVNCConnection())
- pvsClient->getConnectionFrame()->getFrame()->getVNCClientThread()->setUpdatefreq(updatefreq);
- }
+ PVSClient* pvsClient =
+ PVSConnectionManager::getManager()->getClientFromIp(
+ (*client).toUtf8().data());
+ if (pvsClient->getVNCConnection())
+ pvsClient->getConnectionFrame()->getFrame()->getVNCClientThread()->setUpdatefreq(updatefreq);
}
- else
+ }
+ else
+ {
+ std::list clients = PVSConnectionManager::getManager()->getConnections();
+ foreach (PVSClient* client, clients)
{
- std::list clients = PVSConnectionManager::getManager()->getConnections();
- foreach (PVSClient* client, clients)
- {
- if (client->getVNCConnection())
- client->getConnectionFrame()->getFrame()->getVNCClientThread()->setUpdatefreq(updatefreq);
- }
+ if (client->getVNCConnection())
+ client->getConnectionFrame()->getFrame()->getVNCClientThread()->setUpdatefreq(updatefreq);
}
-
}
+
+}
}
/*
@@ -914,18 +942,19 @@ void MainWindow::changeRatio(int ratio) // needed the change the size of the vnc
*/
void MainWindow::changeStatus(int index)
{
- QString status = ui->thumbStatus->currentText ();
+ QString status = ui->thumbStatus->currentText();
if (status == "Thumbnailratio")
{
_isThumbnailrate = false;
ui->label_3->setText("%");
- std::list* selClients = getConnectionList()->getSelectedClients();
+ std::list* selClients =
+ getConnectionList()->getSelectedClients();
if (selClients->size() == 1)
{
PVSClient* pvsClient =
- PVSConnectionManager::getManager()->getClientFromIp(
- selClients->front().toStdString().c_str());
+ PVSConnectionManager::getManager()->getClientFromIp(
+ selClients->front().toStdString().c_str());
int ratio = pvsClient->getConnectionFrame()->getRatio();
ui->label_2->setText(QString::number(ratio));
ui->horizontalSlider->setValue(ratio);
@@ -941,16 +970,19 @@ void MainWindow::changeStatus(int index)
{
_isThumbnailrate = true;
ui->label_3->setText("ms");
- std::list* selClients = getConnectionList()->getSelectedClients();
+ std::list* selClients =
+ getConnectionList()->getSelectedClients();
if (selClients->size() == 1)
{
PVSClient* pvsClient =
- PVSConnectionManager::getManager()->getClientFromIp(
- selClients->front().toStdString().c_str());
+ PVSConnectionManager::getManager()->getClientFromIp(
+ selClients->front().toStdString().c_str());
if (pvsClient->getVNCConnection())
{
- int updatefreq = pvsClient->getConnectionFrame()->getFrame()->getVNCClientThread()->getUpdatefreq();
- int showfreq = (updatefreq*100)/500;
+ int
+ updatefreq =
+ pvsClient->getConnectionFrame()->getFrame()->getVNCClientThread()->getUpdatefreq();
+ int showfreq = (updatefreq * 100) / 500;
ui->label_2->setText(QString::number(updatefreq));
ui->horizontalSlider->setValue(showfreq);
}
@@ -963,7 +995,6 @@ void MainWindow::changeStatus(int index)
}
}
-
/*
* Going to run a new vncthread with quality: quality
*/
@@ -973,47 +1004,48 @@ void MainWindow::setVNCQuality(int quality)
if (selClients->size() > 0)
{
for (std::list::iterator client = selClients->begin(); client
- != selClients->end(); client++)
+ != selClients->end(); client++)
{
PVSClient* pvsClient =
- PVSConnectionManager::getManager()->getClientFromIp(
- (*client).toUtf8().data());
+ PVSConnectionManager::getManager()->getClientFromIp(
+ (*client).toUtf8().data());
pvsClient->getConnectionFrame()->resetConnectionWithQuality(quality);
pvsClient->getConnectionFrame()->update();
}
}
else
{
- QList FrameList = MainWindow::getConnectionWindow()->getFrameList();
- foreach(ConnectionFrame* frame, FrameList)
- {
- frame->resetConnectionWithQuality(quality);
- frame->update();
- }
+ QList FrameList =
+ MainWindow::getConnectionWindow()->getFrameList();
+foreach (ConnectionFrame* frame, FrameList)
+ {
+ frame->resetConnectionWithQuality(quality);
+ frame->update();
}
-
}
+}
void MainWindow::setPasswordForConnection(int enabled)
{
- if(enabled == 0)//the checkbox isn't checked, so no passowrd needed, we remove it in the titlebar
+ if (enabled == 0)//the checkbox isn't checked, so no passowrd needed, we remove it in the titlebar
{
- QString dummy = PVSConnectionManager::getManager()->setNeedPassword(false);
- _sessionName = PVSConnectionManager::getManager()->getSessionName();
+ QString dummy = PVSConnectionManager::getManager()->setNeedPassword(
+ false);
+ _sessionName = PVSConnectionManager::getManager()->getSessionName();
QString title = "PVSmgr - ";
title.append(_profilName);
- title.append(" ["+_sessionName + " : ]");
+ title.append(" [" + _sessionName + " : ]");
setWindowTitle(title);
}
else if (enabled == 2) //password is needed, we show it in the titlebar
{
- _pwdCon = PVSConnectionManager::getManager()->setNeedPassword(true);
+ _pwdCon = PVSConnectionManager::getManager()->setNeedPassword(true);
_sessionName = PVSConnectionManager::getManager()->getSessionName();
QString title = "PVSmgr - ";
title.append(_profilName);
- title.append(" ["+_sessionName + " : ");
- title.append(_pwdCon+"]");
+ title.append(" [" + _sessionName + " : ");
+ title.append(_pwdCon + "]");
setWindowTitle(title);
}
}
@@ -1023,153 +1055,155 @@ void MainWindow::setPasswordForConnection(int enabled)
void MainWindow::setindexback() //sets the index of the combobox back
{
#ifdef MAINWINDOW_USE_TOUCHGUI
- ui->comboBox_touch1->setCurrentIndex(0);
+ ui->comboBox_touch1->setCurrentIndex(0);
#endif
}
void MainWindow::clientlisthide() // hide or show the clientlist
{
- if (locked1 == false)
- {
- ui->ClWidget->show();
- locked1 = true;
- }
+ if (locked1 == false)
+ {
+ ui->ClWidget->show();
+ locked1 = true;
+ }
- else
- {
- ui->ClWidget->hide();
- locked1 = false;
- }
+ else
+ {
+ ui->ClWidget->hide();
+ locked1 = false;
+ }
}
-
void MainWindow::lockalltoolbar() // locks all if a dozent is set
{
+ if (locked == false)
+ {
+ if (MainWindow::getConnectionWindow()->hasDozent)
+ {
+ MainWindow::getConnectionList()->on_lock_all();
+ locked = true;
+ }
+ else
+ {
+ QString
+ message =
+ QString(
+ tr(
+ "You have to set a Superclient-machine before performing this action."));
+ QMessageBox::information(this, "PVS", message);
+ }
+ }
- if (locked == false)
- {
- if (MainWindow::getConnectionWindow()->hasDozent)
- {
- MainWindow::getConnectionList()->on_lock_all();
- locked = true;
- }
- else
- {
- QString message = QString(tr("You have to set a Superclient-machine before performing this action."));
- QMessageBox::information(this, "PVS", message);
- }
- }
-
- else
- {
- MainWindow::getConnectionList()->on_unlock_all();
- locked = false;
- }
+ else
+ {
+ MainWindow::getConnectionList()->on_unlock_all();
+ locked = false;
+ }
}
void MainWindow::locksingle() // locks a single client
{
- MainWindow::getConnectionList()->on_lock();
+ MainWindow::getConnectionList()->on_lock();
}
void MainWindow::unlocksingle() // unlocks a single client
{
- MainWindow::getConnectionList()->on_unlock();
+ MainWindow::getConnectionList()->on_unlock();
}
-
void MainWindow::combobox1(int menuindex1) // defines the functions to call from the combobox
{
- switch (menuindex1)
- // index comes from the slot definition
- {
- case 1:
- // Lock all
- MainWindow::getConnectionList()->on_lock_all();
- break;
-
- case 2:
- // UnLock all
- MainWindow::getConnectionList()->on_unlock_all();
- break;
-
- case 3:
- // UnProject all
- MainWindow::getConnectionList()->on_unproject_all();
- break;
-
- case 4:
- //Background Picture
- backgroundpicture();
- break;
- }
+ switch (menuindex1)
+ // index comes from the slot definition
+ {
+ case 1:
+ // Lock all
+ MainWindow::getConnectionList()->on_lock_all();
+ break;
+
+ case 2:
+ // UnLock all
+ MainWindow::getConnectionList()->on_unlock_all();
+ break;
+
+ case 3:
+ // UnProject all
+ MainWindow::getConnectionList()->on_unproject_all();
+ break;
+
+ case 4:
+ //Background Picture
+ backgroundpicture();
+ break;
+ }
}
void MainWindow::resetall() // unlock and unproject all in toolbar
- {
+{
MainWindow::getConnectionList()->on_unlock_all();
MainWindow::getConnectionList()->on_unproject_all();
- }
-
+}
void MainWindow::projecttoolbar() // projection from toolbar button
- {
+{
MainWindow::getConnectionList()->on_projection();
- }
+}
void MainWindow::unprojecttoolbar() // unproject all in toolbar
- {
+{
MainWindow::getConnectionList()->on_unprojection();
- }
+}
void MainWindow::backgroundpicture()
- {
-
+{
- fileName = QFileDialog::getOpenFileName(this,
- tr("Open Image"), "/home", tr("Image Files (*.png *.jpg *.svg)")); // user chooses a file
+ fileName = QFileDialog::getOpenFileName(this, tr("Open Image"), "/home",
+ tr("Image Files (*.png *.jpg *.svg)")); // user chooses a file
- QImage img(""+fileName+""); // set image
+ QImage img("" + fileName + ""); // set image
QString test("/tmp/test.png"); // set path for saving the scaled picture
- QImage img2 = img.scaled(ui->widget->size(),Qt::IgnoreAspectRatio,Qt::FastTransformation); // scale it
+ QImage img2 = img.scaled(ui->widget->size(), Qt::IgnoreAspectRatio,
+ Qt::FastTransformation); // scale it
- img2.save(""+test+""); // save it
+ img2.save("" + test + ""); // save it
- ui->widget->setStyleSheet("background-image: url(/tmp/test.png);background-repeat:no-repeat; background-position:center;"); //set the picture as background
+ ui->widget->setStyleSheet(
+ "background-image: url(/tmp/test.png);background-repeat:no-repeat; background-position:center;"); //set the picture as background
foreach (ConnectionFrame* cf, MainWindow::getConnectionWindow()->getAllFrameOnWindow())
{
cf->setStyleSheet(QString::fromUtf8("background-color: rgb(150, 150, 168);"));
}
- bgimage=true; // for the resize event, set background true
+ bgimage = true; // for the resize event, set background true
- }
+}
void MainWindow::repaintbackgroundpicture() // same as backgroundpicture but called when mainwindow is resized
- {
+{
QImage img("/tmp/test.png");
QString test("/tmp/test.png");
- QImage img2 = img.scaled(ui->widget->size(),Qt::IgnoreAspectRatio,Qt::FastTransformation);
-
- img2.save(""+test+"");
+ QImage img2 = img.scaled(ui->widget->size(), Qt::IgnoreAspectRatio,
+ Qt::FastTransformation);
- ui->widget->setStyleSheet("background-image: url(/tmp/test.png);background-repeat:no-repeat; background-position:center;");
+ img2.save("" + test + "");
+ ui->widget->setStyleSheet(
+ "background-image: url(/tmp/test.png);background-repeat:no-repeat; background-position:center;");
- }
+}
void MainWindow::setdozenttoolbar() // set the dozents pc which is not locked with lockedall
{
@@ -1181,8 +1215,8 @@ void MainWindow::setdozenttoolbar() // set the dozents pc which is not locked wi
{
PVSClient* pvsClient =
- PVSConnectionManager::getManager()->getClientFromIp(
- selectedClients->front().toStdString().c_str());
+ PVSConnectionManager::getManager()->getClientFromIp(
+ selectedClients->front().toStdString().c_str());
if (pvsClient->getVNCConnection())
pvsClient->getConnectionFrame()->getFrame()->setDozent();
}
@@ -1197,9 +1231,7 @@ void MainWindow::startChatDialog()
sChatDialog.raise();//show the chat dialog on top level
}
-
-
-MainWindow* MainWindow::myself = NULL;
-ConnectionList* MainWindow::conList = NULL;
-ConnectionWindow* MainWindow::conWin = NULL;
-bool MainWindow::_isLockAll = false;
+MainWindow* MainWindow::myself = NULL;
+ConnectionList* MainWindow::conList = NULL;
+ConnectionWindow* MainWindow::conWin = NULL;
+bool MainWindow::_isLockAll = false;
diff --git a/src/gui/mainWindow.h b/src/gui/mainWindow.h
index 00bd927..1e4a18f 100644
--- a/src/gui/mainWindow.h
+++ b/src/gui/mainWindow.h
@@ -176,6 +176,7 @@ public slots:
void repaintbackgroundpicture();
void setdozenttoolbar();
void startChatDialog();
+ void showProcesses();
private slots:
void onToggleLog(bool showtime);
diff --git a/src/gui/ui/mainwindow.ui b/src/gui/ui/mainwindow.ui
index eb49d1b..374177a 100644
--- a/src/gui/ui/mainwindow.ui
+++ b/src/gui/ui/mainwindow.ui
@@ -28,8 +28,8 @@
0
0
- 776
- 534
+ 778
+ 542
@@ -195,7 +195,7 @@
0
0
838
- 28
+ 23
@@ -531,6 +532,18 @@
-
+
+
+
+ :/icons/gears.png:/icons/gears.png
+
+
+ showProcesses
+
+
+ Show Processes of the selected Client
+
+
diff --git a/src/gui/ui/mainwindowtouch.ui b/src/gui/ui/mainwindowtouch.ui
index 9030b17..8b76101 100644
--- a/src/gui/ui/mainwindowtouch.ui
+++ b/src/gui/ui/mainwindowtouch.ui
@@ -28,8 +28,8 @@
0
0
- 1327
- 658
+ 1329
+ 660
@@ -365,6 +365,7 @@
+
@@ -636,6 +637,18 @@
Ctrl+D
+
+
+
+ :/icons/gears.png:/icons/gears.png
+
+
+ showProcesses
+
+
+ Show Processes of the selected Client
+
+
diff --git a/src/pvs.cpp b/src/pvs.cpp
index 2069e36..66a1c88 100644
--- a/src/pvs.cpp
+++ b/src/pvs.cpp
@@ -176,6 +176,19 @@ void PVS::onCommand(PVSMsg cmdMessage)
unlock();
return;
}
+ if (ident.compare("SHOWPROCESSES") == 0)
+ {
+ // do stuff to show processes
+ // to test if SHOWPROCESSES command is submitted correct uncomment following lines
+ // a messagebox will appear on the client
+ // emit showMessage("Show Processes", "", true);
+ return;
+ }
+ if (ident.compare("KILLPROCESS") == 0)
+ {
+ // do stuff to kill a process
+ return;
+ }
#ifdef never
// prototype
--
cgit v1.2.3-55-g7522
From 5bcf831e1734be78d9468631926e875a5b05e11f Mon Sep 17 00:00:00 2001
From: Sebastien Braun
Date: Sun, 3 Oct 2010 23:27:39 +0200
Subject: Implement Network-wide Configuration Interface for Multicast File
Transfer
---
CMakeLists.txt | 6 ++
pvsmgr.qrc | 1 +
src/gui/mainWindow.cpp | 17 +++-
src/gui/mainWindow.h | 1 +
src/gui/multicastConfigDialog.cpp | 170 ++++++++++++++++++++++++++++++++++++
src/gui/multicastConfigDialog.h | 38 ++++++++
src/gui/ui/mainwindow.ui | 15 ++++
src/gui/ui/mainwindowtouch.ui | 11 +++
src/gui/ui/multicastConfigDialog.ui | 156 +++++++++++++++++++++++++++++++++
src/net/mcast/McastConfiguration.h | 17 ++++
src/net/pvsListenServer.cpp | 60 +++++++++++++
src/net/pvsListenServer.h | 10 +++
src/pvs.cpp | 58 +++++++++++-
src/pvs.h | 1 +
14 files changed, 559 insertions(+), 2 deletions(-)
create mode 100644 src/gui/multicastConfigDialog.cpp
create mode 100644 src/gui/multicastConfigDialog.h
create mode 100644 src/gui/ui/multicastConfigDialog.ui
(limited to 'src/gui/ui/mainwindowtouch.ui')
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3f2089a..0899bdf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -80,6 +80,7 @@ SET( PVSMGR_SRCS
src/util/TextFile.cpp
src/util/serviceDiscoveryUtil.cpp
src/gui/aboutDialog.cpp
+ src/gui/multicastConfigDialog.cpp
)
# pvs
@@ -131,6 +132,7 @@ SET( PVSMGR_UIS
src/gui/ui/aboutDialog.ui
src/gui/ui/serverChatDialog.ui
src/gui/ui/clientFileSendDialog.ui
+ src/gui/ui/multicastConfigDialog.ui
)
SET( PVSMGRTOUCH_UIS
@@ -140,6 +142,7 @@ SET( PVSMGRTOUCH_UIS
src/gui/ui/projectionDialog.ui
src/gui/ui/aboutDialog.ui
src/gui/ui/serverChatDialog.ui
+ src/gui/ui/multicastConfigDialog.ui
)
SET( PVSGUI_UIS
@@ -186,6 +189,7 @@ SET( PVSMGR_MOC_HDRS
src/net/pvsServiceBroadcast.h
src/net/SslServer.h
src/gui/aboutDialog.h
+ src/gui/multicastConfigDialog.h
)
SET( PVS_MOC_HDRS
@@ -317,12 +321,14 @@ TARGET_LINK_LIBRARIES( pvsmgr
${QT_LIBRARIES}
${VNC_LIBRARIES}
${X11_LIBRARIES}
+ pvsmcast
)
TARGET_LINK_LIBRARIES( pvsmgrtouch
${QT_LIBRARIES}
${VNC_LIBRARIES}
${X11_LIBRARIES}
+ pvsmcast
)
TARGET_LINK_LIBRARIES( pvs
diff --git a/pvsmgr.qrc b/pvsmgr.qrc
index 171412e..e0b6b51 100644
--- a/pvsmgr.qrc
+++ b/pvsmgr.qrc
@@ -19,6 +19,7 @@
icons/dozent.png
icons/chat.png
icons/cam32.svg
+ icons/network_configure.png
AUTHORS
TRANSLATION
diff --git a/src/gui/mainWindow.cpp b/src/gui/mainWindow.cpp
index eb15e82..c911721 100644
--- a/src/gui/mainWindow.cpp
+++ b/src/gui/mainWindow.cpp
@@ -16,7 +16,10 @@
#include
#include
+#include
+#include
#include
+#include
using namespace std;
// setting the IF-DEF Block for the touchgui and the normal gui, for later use
@@ -34,6 +37,7 @@ using namespace std;
#include
//#include
#include
+#include
#include
MainWindow::MainWindow(QWidget *parent) :
@@ -129,6 +133,7 @@ MainWindow::MainWindow(QWidget *parent) :
ui->actionFoto->setStatusTip(tr("Make a screenshot for the selected client(s)"));
ui->actionLock->setStatusTip(tr("Lock or Unlock all Clients"));
connect(ui->actionCreate_profile, SIGNAL(triggered()), this, SLOT(createProfile()));
+ connect(ui->actionConfigure_Network, SIGNAL(triggered()), this, SLOT(configureNetwork()));
connect(ui->actionShow_Username, SIGNAL(triggered()), this, SLOT(showusername()));
connect(ui->actionShow_Hostname_IP, SIGNAL(triggered()), this, SLOT(showip()));
@@ -1197,7 +1202,17 @@ void MainWindow::startChatDialog()
sChatDialog.raise();//show the chat dialog on top level
}
-
+void MainWindow::configureNetwork()
+{
+ PVSServer* server = PVSConnectionManager::getManager()->getServer();
+ McastConfiguration mc(*(server->getMulticastConfiguration()));
+ MulticastConfigDialog* mcd = new MulticastConfigDialog(&mc, this);
+ int result = mcd->exec();
+ if(result == QDialog::Accepted)
+ {
+ server->multicastReconfigure(&mc);
+ }
+}
MainWindow* MainWindow::myself = NULL;
ConnectionList* MainWindow::conList = NULL;
diff --git a/src/gui/mainWindow.h b/src/gui/mainWindow.h
index 00bd927..41d9cfa 100644
--- a/src/gui/mainWindow.h
+++ b/src/gui/mainWindow.h
@@ -194,6 +194,7 @@ private slots:
void setPasswordForConnection(int enabled);
void combobox1(int menuindex1); // Funktion um index der combobox auszulesen und weiterzuverarbeiten s. Ticker 671
//void combobox2(int menuindex2); // Funktion um index der combobox auszulesen und weiterzuverarbeiten
+ void configureNetwork();
};
diff --git a/src/gui/multicastConfigDialog.cpp b/src/gui/multicastConfigDialog.cpp
new file mode 100644
index 0000000..ff370c7
--- /dev/null
+++ b/src/gui/multicastConfigDialog.cpp
@@ -0,0 +1,170 @@
+#include
+#include
+#include
+#include
+#include "multicastConfigDialog.h"
+#include
+// #include "multicastValidators.h"
+
+MulticastConfigDialog::MulticastConfigDialog(QWidget* parent) :
+ QDialog(parent)
+{
+ setupUi();
+}
+
+MulticastConfigDialog::MulticastConfigDialog(McastConfiguration* config,
+ QWidget *parent) :
+ QDialog(parent)
+{
+ setupUi();
+ _config = config;
+
+ _ui.groupAddressEdit->setText(config->multicastAddress());
+ _ui.dataPortEdit->setText(QString::number(config->multicastUDPPortBase()));
+
+ connect(_ui.buttonBox, SIGNAL(accepted()), this, SLOT(dialogAccepted()));
+ connect(_ui.buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+}
+
+void MulticastConfigDialog::setupUi()
+{
+ _ui.setupUi(this);
+
+ QIntValidator* portValidator = new QIntValidator(1024, 65535, this);
+ _ui.dataPortEdit->setValidator(portValidator);
+
+ connect(_ui.groupAddressEdit, SIGNAL(textChanged(QString const&)), this,
+ SLOT(validateGroupAddress(QString const&)));
+ connect(_ui.dataPortEdit, SIGNAL(textChanged(QString const&)), this,
+ SLOT(validateDataPort(QString const&)));
+
+ connect(_ui.buttonBox, SIGNAL(accepted()), this, SLOT(dialogAccepted()));
+ connect(_ui.buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+
+ validateGroupAddress(_ui.groupAddressEdit->text());
+ validateDataPort(_ui.dataPortEdit->text());
+}
+
+MulticastConfigDialog::~MulticastConfigDialog()
+{
+}
+
+void MulticastConfigDialog::dialogAccepted()
+{
+ QHostAddress addr;
+ bool addressParses = addr.setAddress(_ui.groupAddressEdit->text());
+ _config->multicastAddress(_ui.groupAddressEdit->text());
+ quint16 port = _ui.dataPortEdit->text().toInt();
+ _config->multicastUDPPortBase(port);
+ _config->multicastDPort(port + 1);
+ _config->multicastSPort(port + 2);
+ _config->multicastRate(_ui.rateSpinbox->value() * 1024);
+ accept();
+}
+
+void MulticastConfigDialog::setError(QWidget* widget,
+ QLabel* errorMessageLabel, QString text)
+{
+ if (errorMessageLabel)
+ errorMessageLabel->setText(QString(
+ "") + text
+ + "");
+ if (widget)
+ widget->setStyleSheet("background-color: #ffcccc;");
+}
+
+void MulticastConfigDialog::setOK(QWidget* widget, QLabel* errorMessageLabel)
+{
+ if (errorMessageLabel)
+ errorMessageLabel->setText(QString(
+ "")
+ + tr("OK") + "");
+ if (widget)
+ widget->setStyleSheet("background-color: #ccffcc;");
+}
+
+void MulticastConfigDialog::validateGroupAddress(QString const& input)
+{
+ QHostAddress a;
+
+ _isAddressValid = false;
+
+ if (!a.setAddress(input))
+ {
+ setError(_ui.groupAddressEdit, _ui.groupAddressMessage, tr(
+ "Not a valid IP Address"));
+ revalidateButtons();
+ return;
+ }
+
+ // check if it is IPv4
+ if (a.protocol() != QAbstractSocket::IPv4Protocol)
+ {
+ setError(_ui.groupAddressEdit, _ui.groupAddressMessage, tr(
+ "Not a valid IPv4 Address"));
+ revalidateButtons();
+ return;
+ }
+
+ // check if it is a valid multicast address
+ quint32 addr = a.toIPv4Address();
+ if ((addr & 0xf0000000) != 0xe0000000)
+ {
+ setError(_ui.groupAddressEdit, _ui.groupAddressMessage, tr(
+ "Not an IPv4 multicast address"));
+ revalidateButtons();
+ return;
+ }
+
+ _isAddressValid = true;
+ setOK(_ui.groupAddressEdit, _ui.groupAddressMessage);
+ revalidateButtons();
+}
+
+void MulticastConfigDialog::validateDataPort(QString const& input)
+{
+ bool ok;
+ int p = input.toInt(&ok, 0);
+
+ _isPortValid = false;
+
+ if (!ok)
+ {
+ setError(_ui.dataPortEdit, _ui.dataPortMessage, tr("Not a number"));
+ revalidateButtons();
+ return;
+ }
+
+ if (p < 0)
+ {
+ setError(_ui.dataPortEdit, _ui.dataPortMessage, tr("Must be positive"));
+ revalidateButtons();
+ return;
+ }
+
+ if (p < 1024)
+ {
+ setError(_ui.dataPortEdit, _ui.dataPortMessage, tr(
+ "Must not be a privileged port"));
+ revalidateButtons();
+ return;
+ }
+
+ if (p > 65535)
+ {
+ setError(_ui.dataPortEdit, _ui.dataPortMessage, tr(
+ "Port number too large"));
+ revalidateButtons();
+ return;
+ }
+
+ _isPortValid = true;
+ setOK(_ui.dataPortEdit, _ui.dataPortMessage);
+ revalidateButtons();
+}
+
+void MulticastConfigDialog::revalidateButtons()
+{
+ _ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(_isAddressValid
+ && _isPortValid);
+}
diff --git a/src/gui/multicastConfigDialog.h b/src/gui/multicastConfigDialog.h
new file mode 100644
index 0000000..6421813
--- /dev/null
+++ b/src/gui/multicastConfigDialog.h
@@ -0,0 +1,38 @@
+#ifndef MULTICASTCONFIGDIALOG_H
+#define MULTICASTCONFIGDIALOG_H
+
+#include
+#include
+#include "ui_multicastConfigDialog.h"
+#include
+
+class McastConfiguration;
+
+class MulticastConfigDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ MulticastConfigDialog(QWidget* parent = 0);
+ MulticastConfigDialog(McastConfiguration* dbusIface, QWidget *parent = 0);
+ ~MulticastConfigDialog();
+
+private:
+ Ui::MulticastConfigDialogClass _ui;
+ McastConfiguration* _config;
+ bool _isAddressValid;
+ bool _isPortValid;
+
+ void setupUi();
+
+ void setError(QWidget* input, QLabel* messageLabel, QString text);
+ void setOK(QWidget* input, QLabel* messageLabel);
+ void revalidateButtons();
+
+private slots:
+ void dialogAccepted();
+ void validateGroupAddress(QString const&);
+ void validateDataPort(QString const&);
+};
+
+#endif // MULTICASTCONFIGDIALOG_H
diff --git a/src/gui/ui/mainwindow.ui b/src/gui/ui/mainwindow.ui
index eb49d1b..7b8f2b4 100644
--- a/src/gui/ui/mainwindow.ui
+++ b/src/gui/ui/mainwindow.ui
@@ -243,9 +243,16 @@
+
+
@@ -531,6 +538,14 @@
-
+
+
+ &Configure...
+
+
+ Configure Network Parameters
+
+
diff --git a/src/gui/ui/mainwindowtouch.ui b/src/gui/ui/mainwindowtouch.ui
index 9030b17..cf7e411 100644
--- a/src/gui/ui/mainwindowtouch.ui
+++ b/src/gui/ui/mainwindowtouch.ui
@@ -365,6 +365,8 @@
+
+
@@ -636,6 +638,15 @@
Ctrl+D
+
+
+
+ :/netconf:/netconf
+
+
+ Configure Network...
+
+
diff --git a/src/gui/ui/multicastConfigDialog.ui b/src/gui/ui/multicastConfigDialog.ui
new file mode 100644
index 0000000..1ddf02c
--- /dev/null
+++ b/src/gui/ui/multicastConfigDialog.ui
@@ -0,0 +1,156 @@
+
+
+ MulticastConfigDialogClass
+
+
+
+ 0
+ 0
+ 331
+ 314
+
+
+
+
+ 0
+ 0
+
+
+
+ PVS - Multicast Configuration
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
+<table style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
+<tr>
+<td style="border: none;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">You need to specify connection parameters for multicast messaging on your network. These parameters will automatically be distributed to client computers, so you need to assign them only once.</p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">You will probably want to assign an address from the <span style=" text-decoration: underline;">239.0.0.0/8</span> "Administratively Scoped" range.</p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Do not assign arbitrary numbers without checking with your network administrator!</span></p></td></tr></table></body></html>
+
+
+ true
+
+
+
+ -
+
+
-
+
+
+ Multicast Group Address
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ 009.009.009.009;
+
+
+ ...
+
+
+
+ -
+
+
+ <span style=" font-weight:600; color:#008800;">OK</span>
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Data Port (1024-65535)
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ 00009;
+
+
+ 5
+
+
+
+ -
+
+
+ <span style=" font-weight:600; color:#008800;">OK</span>
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Transmission Rate
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ KiB/s
+
+
+ 10240
+
+
+ 10
+
+
+ 100
+
+
+
+
+
+ -
+
+
+ QDialogButtonBox::Cancel|QDialogButtonBox::Ok
+
+
+
+
+
+
+
+
+
diff --git a/src/net/mcast/McastConfiguration.h b/src/net/mcast/McastConfiguration.h
index 6884036..53f7a54 100644
--- a/src/net/mcast/McastConfiguration.h
+++ b/src/net/mcast/McastConfiguration.h
@@ -166,6 +166,23 @@ public:
emit changed();
}
+ McastConfiguration& operator=(McastConfiguration const& source)
+ {
+ if(this != &source)
+ {
+ _multicastInterface = source._multicastInterface;
+ _multicastAddress = source._multicastAddress;
+ _multicastRate = source._multicastRate;
+ _multicastSPort = source._multicastSPort;
+ _multicastDPort = source._multicastDPort;
+ _multicastWinSize = source._multicastWinSize;
+ _multicastMTU = source._multicastMTU;
+ _multicastUDPPortBase = source._multicastUDPPortBase;
+ _multicastUseUDP = source._multicastUseUDP;
+ }
+ return *this;
+ }
+
void loadFrom(QSettings* settings, char const* group = 0);
void writeTo(QSettings* settings, char const* group = 0) const;
diff --git a/src/net/pvsListenServer.cpp b/src/net/pvsListenServer.cpp
index f21303e..1c1387b 100644
--- a/src/net/pvsListenServer.cpp
+++ b/src/net/pvsListenServer.cpp
@@ -21,9 +21,13 @@
#include "pvsClientConnection.h"
#include "src/util/consoleLogger.h"
#include
+#include
+#include
+#include
#include "SslServer.h"
#include
//#define verbose
+#include "mcast/McastConfiguration.h"
// Create listener
PVSListenServer::PVSListenServer(int port, int clients)
@@ -36,6 +40,7 @@ PVSListenServer::PVSListenServer(int port, int clients)
else
_clientsMax = clients;
_port = port;
+ _mcastConfig = 0;
init();
}
@@ -178,6 +183,7 @@ void PVSListenServer::onClientConnected(PVSClientConnection* connected)
{
connected->setServerID(_id);
connected->setID(generateID());
+ connected->push_back_send(mcastConfigMessage());
}
void PVSListenServer::onClientDisconnected(PVSClientConnection* disconnected)
@@ -227,6 +233,11 @@ PVSClientConnection* PVSListenServer::getConnectionFromID(int id)
// Initialize listening socket
bool PVSListenServer::init()
{
+ if (_mcastConfig)
+ delete _mcastConfig;
+ _mcastConfig = new McastConfiguration(this);
+ loadMcastConfig();
+
if (_listenSocket != NULL)
shutdown();
@@ -306,3 +317,52 @@ bool PVSListenServer::isListening()
{
return _listenSocket != NULL && _listenSocket->isListening();
}
+
+void PVSListenServer::loadMcastConfig()
+{
+ QSettings settings;
+ _mcastConfig->loadFrom(&settings, "multicast-filetransfer");
+}
+
+void PVSListenServer::saveMcastConfig()
+{
+ QSettings settings;
+ _mcastConfig->writeTo(&settings, "multicast-filetransfer");
+ settings.sync();
+}
+
+PVSMsg PVSListenServer::mcastConfigMessage()
+{
+ // If anything is changed here, do not forget to
+ // 1. assign a new version number
+ // 2. adapt PVS::onCommand(PVSMsg) in pvs.cpp
+ QByteArray ba;
+ QDataStream strm(&ba, QIODevice::WriteOnly);
+ strm << (quint16)1 // version
+ << _mcastConfig->multicastAddress()
+ << _mcastConfig->multicastUDPPortBase()
+ << _mcastConfig->multicastDPort()
+ << _mcastConfig->multicastSPort()
+ << _mcastConfig->multicastMTU()
+ << _mcastConfig->multicastWinSize()
+ << _mcastConfig->multicastRate()
+ << _mcastConfig->multicastUseUDP();
+
+ QByteArray b64 = ba.toBase64();
+ QString message = QString::fromAscii(b64.constData(), b64.length());
+ PVSMsg msg(PVSCOMMAND, "MCASTFTCONFIG", message);
+ return msg;
+}
+
+void PVSListenServer::multicastReconfigure(McastConfiguration const* source)
+{
+ _mcastConfig->multicastAddress(source->multicastAddress());
+ *_mcastConfig = *source;
+ saveMcastConfig();
+ sendToAll(mcastConfigMessage());
+}
+
+McastConfiguration const* PVSListenServer::getMulticastConfiguration()
+{
+ return _mcastConfig;
+}
diff --git a/src/net/pvsListenServer.h b/src/net/pvsListenServer.h
index ab021c7..90d2a77 100644
--- a/src/net/pvsListenServer.h
+++ b/src/net/pvsListenServer.h
@@ -10,6 +10,7 @@ class SslServer;
class PVSClientConnection;
class PVSMsg;
+class McastConfiguration;
class PVSListenServer : public QObject
{
@@ -40,6 +41,12 @@ private:
bool init();
unsigned int generateID();
+ McastConfiguration* _mcastConfig;
+
+ void loadMcastConfig();
+ void saveMcastConfig();
+ PVSMsg mcastConfigMessage();
+
protected:
void timerEvent(QTimerEvent *event);
@@ -60,6 +67,9 @@ public:
bool disconnectClient(PVSClientConnection* delinquent);
void onConnectionRemoved(PVSClientConnection* delinquent);
+ void multicastReconfigure(McastConfiguration const* source);
+ McastConfiguration const* getMulticastConfiguration();
+
std::list* getClientListPtr()
{
return &_clients;
diff --git a/src/pvs.cpp b/src/pvs.cpp
index 9bd36d6..df21468 100644
--- a/src/pvs.cpp
+++ b/src/pvs.cpp
@@ -45,7 +45,10 @@ PVS::PVS() :
loadCommands();
_blankScreen = NULL;
_vncPort = -1;
+
+ QSettings settings;
_masterMcastConfig = new McastConfiguration(this);
+ _masterMcastConfig->loadFrom(&settings);
// add a notify to the allow file, so we get informed when the file is changed
QString watchPath("/home/");
@@ -234,6 +237,11 @@ void PVS::onCommand(PVSMsg cmdMessage)
qDebug() << "Ignoring malformed MCASTFTANNOUNCE command: " << message;
return;
}
+ if (ident.compare("MCASTFTCONFIG") == 0)
+ {
+ loadMcastConfig(message);
+ return;
+ }
#ifdef never
// prototype
@@ -735,7 +743,8 @@ void PVS::cancelIncomingMulticastTransfer(qulonglong transferID)
void PVS::setMulticastInterface(QString const& interfaceName)
{
QSettings settings;
- settings.setValue("multicast/interface", interfaceName);
+ _masterMcastConfig->multicastInterface(interfaceName);
+ _masterMcastConfig->writeTo(&settings, "multicast");
settings.sync();
}
@@ -814,3 +823,50 @@ void PVS::incomingMulticastTransferDelete(qulonglong transferID)
_incomingTransfers.remove(transferID);
transfer->deleteLater();
}
+
+void PVS::loadMcastConfig(QString const& message)
+{
+ QByteArray ba = QByteArray::fromBase64(message.toAscii());
+ QDataStream d(&ba, QIODevice::ReadOnly);
+ quint16 ver, udpp, dp, sp, mtu, wsz;
+ quint32 rate;
+ QString addr;
+ bool useudp;
+
+ d >> ver;
+ if(ver != 1)
+ {
+ ConsoleLog writeLine(QString("Unable to decode multicast configuration message: Unknown version %1").arg(ver));
+ return;
+ }
+
+ d >> addr
+ >> udpp
+ >> dp
+ >> sp
+ >> mtu
+ >> wsz
+ >> rate
+ >> useudp;
+ if(d.status() != QDataStream::Ok)
+ {
+ ConsoleLog writeLine(QString("Unable to decode multicast configuration message: There was an error reading"));
+ return;
+ }
+
+ _masterMcastConfig->multicastUDPPortBase(udpp);
+ _masterMcastConfig->multicastDPort(dp);
+ _masterMcastConfig->multicastSPort(sp);
+ _masterMcastConfig->multicastMTU(mtu);
+ _masterMcastConfig->multicastWinSize(wsz);
+ _masterMcastConfig->multicastRate(rate);
+ _masterMcastConfig->multicastAddress(addr);
+ _masterMcastConfig->multicastUseUDP(useudp);
+
+ QSettings settings;
+ _masterMcastConfig->writeTo(&settings, "multicast");
+ settings.sync();
+
+ ConsoleLog writeLine(QString("Reconfigured multicast filetransfer to IP %1, UDP port base %2, destination port %3, source port %4, MTU %5, Window Size %6, rate %7, %8using UDP")
+ .arg(addr).arg(udpp).arg(dp).arg(sp).arg(mtu).arg(wsz).arg(rate).arg(useudp ? "" : "not "));
+}
diff --git a/src/pvs.h b/src/pvs.h
index 4c61ffd..3b3365c 100644
--- a/src/pvs.h
+++ b/src/pvs.h
@@ -88,6 +88,7 @@ public Q_SLOTS:
void cancelOutgoingMulticastTransfer(quint64 transferID);
void cancelIncomingMulticastTransfer(qulonglong transferID);
void setMulticastInterface(QString const& interfaceName);
+ void loadMcastConfig(QString const& encoded);
Q_SIGNALS:
void project(QString host, int port, QString passwd, bool fullscreen,
--
cgit v1.2.3-55-g7522