summaryrefslogtreecommitdiffstats
path: root/src/client/toolbar/toolbar.cpp
diff options
context:
space:
mode:
authorBjörn Hagemeister2014-05-07 16:33:16 +0200
committerBjörn Hagemeister2014-05-07 16:33:16 +0200
commite3c43d2bdc042727d3336491033cb53b0e4c27c0 (patch)
treeb5d87cbdb3fff7391660be440f8c64e88ff66a5f /src/client/toolbar/toolbar.cpp
parentReduced the class toolbar regarding the KISS paradigm. (diff)
downloadpvs2-e3c43d2bdc042727d3336491033cb53b0e4c27c0.tar.gz
pvs2-e3c43d2bdc042727d3336491033cb53b0e4c27c0.tar.xz
pvs2-e3c43d2bdc042727d3336491033cb53b0e4c27c0.zip
New feature: Blinking red dot in toolbar, while vnc server is started on client.
Diffstat (limited to 'src/client/toolbar/toolbar.cpp')
-rw-r--r--src/client/toolbar/toolbar.cpp32
1 files changed, 27 insertions, 5 deletions
diff --git a/src/client/toolbar/toolbar.cpp b/src/client/toolbar/toolbar.cpp
index 8de9e31..74f89df 100644
--- a/src/client/toolbar/toolbar.cpp
+++ b/src/client/toolbar/toolbar.cpp
@@ -16,7 +16,8 @@
//______________________________________________________________________________
Toolbar::Toolbar(QWidget *parent) :
- QWidget(parent), _ui(new Ui::Toolbar), _hideTimer(this), _connection(NULL)
+ QWidget(parent), _ui(new Ui::Toolbar), _hideTimer(this), _connection(NULL),
+ _blinkTimer(this),_cam32(":cam32.svg"), _camOff32(":cam_off32.svg")
{
/* Initialize the GUI */
_ui->setupUi(this);
@@ -60,6 +61,10 @@ Toolbar::Toolbar(QWidget *parent) :
_hideTimer.setSingleShot(true);
connect(&_hideTimer, SIGNAL(timeout()), this, SLOT(hideBar()));
_hideTimer.start(); // initially show PVS and hide later
+
+ /* Setup blink timer */
+ _blinkTimer.setInterval(500);
+ connect(&_blinkTimer, SIGNAL(timeout()), this, SLOT(cameraBlink()));
}
//______________________________________________________________________________
@@ -94,13 +99,32 @@ void Toolbar::enterEvent(QEvent* e)
* Slots
*/
+void Toolbar::cameraBlink()
+{
+ static bool showRedDot = false;
+ if (!showRedDot)
+ {
+ _ui->icon_cam->setPixmap(_camOff32);
+ showRedDot = true;
+ }
+ else
+ {
+ _ui->icon_cam->setPixmap(_cam32);
+ showRedDot = false;
+ }
+
+}
+
void Toolbar::onVncServerIsRunning(int port, QString&, QString&)
{
if (port > 0){
+ _blinkTimer.start();
+
_ui->lblStatus->setStyleSheet("color:red");
_ui->lblStatus->setText(tr("Recording"));
showBar();
} else {
+ _blinkTimer.stop();
_ui->lblStatus->setStyleSheet("color:green");
_ui->lblStatus->setText(tr("Online"));
hideBar();
@@ -111,7 +135,7 @@ void Toolbar::onVncServerIsRunning(int port, QString&, QString&)
void Toolbar::onDisconnected()
{
_connectWindow->setConnected(false);
- if (_connection != NULL)
+ if (_connection != NULL)
_connection->blockSignals(true);
_connection = NULL;
_ui->lblStatus->setStyleSheet("color:red");
@@ -149,13 +173,12 @@ void Toolbar::onDoDisconnect()
//______________________________________________________________________________
void Toolbar::hideBar()
{
- // // Don't hide window if any menu is open or VNC Server is running from this client.
+ // Don't hide window if any menu is open or VNC Server is running from this client.
if (_menu->isVisible() || VncServer::instance()->isVncServerRunning())
return;
const QDesktopWidget desktop;
const QRect primaryScreen = desktop.screenGeometry();
move(x(), primaryScreen.top() + 2 - height());
- //move(x(), primaryScreen.bottom() - 2);
}
//______________________________________________________________________________
@@ -164,5 +187,4 @@ void Toolbar::showBar()
const QDesktopWidget desktop;
const QRect primaryScreen = desktop.screenGeometry();
move(x(), primaryScreen.top());
- //move(x(), primaryScreen.bottom() - height());
}