summaryrefslogtreecommitdiffstats
path: root/client/browser
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2016-04-25 11:40:10 +0000
committerramon <ramongomez@us.es>2016-04-25 11:40:10 +0000
commit6d9ad980f669c4da093749e56835971acb71837f (patch)
treefc1f8d0d079a5494cb8b313ca5ca45d5eef23f8b /client/browser
parent38b661b238fe7ad159d35344e87d5b8def9d071b (diff)
#746: Incluir widget con reloj digital en la barra de estado del Browser del cliente (tomado de los ejemplos de Qt).
git-svn-id: https://opengnsys.es/svn/branches/version1.1@4895 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/browser')
-rw-r--r--client/browser/browser.pro2
-rw-r--r--client/browser/digitalclock/digitalclock.cpp72
-rw-r--r--client/browser/digitalclock/digitalclock.h59
-rw-r--r--client/browser/digitalclock/digitalclock.pro23
-rw-r--r--client/browser/src/mainwindow.cpp9
-rw-r--r--client/browser/src/mainwindow.h2
-rw-r--r--client/browser/src/src.pro4
7 files changed, 166 insertions, 5 deletions
diff --git a/client/browser/browser.pro b/client/browser/browser.pro
index f1174fb6..01978c71 100644
--- a/client/browser/browser.pro
+++ b/client/browser/browser.pro
@@ -1,5 +1,5 @@
TEMPLATE = subdirs
-SUBDIRS = qtermwidget src
+SUBDIRS = qtermwidget digitalclock src
OPTIONS += ordered
CONFIG += qt warn_on release
diff --git a/client/browser/digitalclock/digitalclock.cpp b/client/browser/digitalclock/digitalclock.cpp
new file mode 100644
index 00000000..4b65b6b7
--- /dev/null
+++ b/client/browser/digitalclock/digitalclock.cpp
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "digitalclock.h"
+
+//! [0]
+DigitalClock::DigitalClock(QWidget *parent)
+ : QLCDNumber(parent)
+{
+ setSegmentStyle(Filled);
+
+ QTimer *timer = new QTimer(this);
+ connect(timer, SIGNAL(timeout()), this, SLOT(showTime()));
+ timer->start(1000);
+
+ showTime();
+
+ setWindowTitle(tr("Digital Clock"));
+ resize(150, 60);
+}
+//! [0]
+
+//! [1]
+void DigitalClock::showTime()
+//! [1] //! [2]
+{
+ QTime time = QTime::currentTime();
+ QString text = time.toString("hh:mm");
+ if ((time.second() % 2) == 0)
+ text[2] = ' ';
+ display(text);
+}
+//! [2]
diff --git a/client/browser/digitalclock/digitalclock.h b/client/browser/digitalclock/digitalclock.h
new file mode 100644
index 00000000..f891335e
--- /dev/null
+++ b/client/browser/digitalclock/digitalclock.h
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef DIGITALCLOCK_H
+#define DIGITALCLOCK_H
+
+#include <QLCDNumber>
+
+//! [0]
+class DigitalClock : public QLCDNumber
+{
+ Q_OBJECT
+
+public:
+ DigitalClock(QWidget *parent = 0);
+
+private slots:
+ void showTime();
+};
+//! [0]
+
+#endif
diff --git a/client/browser/digitalclock/digitalclock.pro b/client/browser/digitalclock/digitalclock.pro
new file mode 100644
index 00000000..6d2d283a
--- /dev/null
+++ b/client/browser/digitalclock/digitalclock.pro
@@ -0,0 +1,23 @@
+TEMPLATE = lib
+DESTDIR = ..
+
+TARGET = digitalclock
+
+CONFIG += qt release warn_on build_all staticlib
+
+QT += core gui
+
+MOC_DIR = ../.moc
+
+OBJECTS_DIR = ../.objs
+TARGET = digitalclock
+
+DEFINES += HAVE_POSIX_OPENPT
+#or DEFINES += HAVE_GETPT
+
+HEADERS = digitalclock.h
+
+SOURCES = digitalclock.cpp
+
+
+
diff --git a/client/browser/src/mainwindow.cpp b/client/browser/src/mainwindow.cpp
index a1f9eaf2..03c4ac0d 100644
--- a/client/browser/src/mainwindow.cpp
+++ b/client/browser/src/mainwindow.cpp
@@ -18,6 +18,7 @@
#include <QSslError>
#include "qtermwidget.h"
+#include "digitalclock.h"
#define BUFFERSIZE 2048
#define REGEXP_STRING "^\\[(\\d+)\\]"
@@ -32,7 +33,7 @@ MainWindow::MainWindow(QWidget *parent)
// Graphic
showFullScreen();
- setWindowTitle(tr("OpenGnSys Browser"));
+ setWindowTitle(tr("OpenGnsys Browser"));
setCentralWidget(m_web);
@@ -88,6 +89,7 @@ MainWindow::MainWindow(QWidget *parent)
m_progressBar=new QProgressBar(this);
m_progressBar->setMinimum(0);
m_progressBar->setMaximum(100);
+ m_clock=new DigitalClock(this);
m_web->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
@@ -411,12 +413,15 @@ void MainWindow::captureOutputForStatusBar(QString output)
}
}
+// Iniciar barra de progreso con reloj digital
void MainWindow::startProgressBar()
{
QStatusBar* st=statusBar();
st->clearMessage();
- st->addWidget(m_progressBar,100);
+ st->addWidget(m_progressBar,90);
+ st->addWidget(m_clock,10);
m_progressBar->show();
+ m_clock->show();
m_web->setEnabled(false);
}
diff --git a/client/browser/src/mainwindow.h b/client/browser/src/mainwindow.h
index 1bcb0c57..ba2d3f2c 100644
--- a/client/browser/src/mainwindow.h
+++ b/client/browser/src/mainwindow.h
@@ -12,6 +12,7 @@
#include <QMainWindow>
#include <QNetworkReply>
#include <QSslError>
+#include "digitalclock.h"
class QWebView;
class QTextEdit;
@@ -71,6 +72,7 @@ class MainWindow : public QMainWindow
QWebView *m_web;
QTextEdit *m_output;
QProgressBar *m_progressBar;
+ DigitalClock *m_clock;
QTabWidget *m_tabs;
QLineEdit *m_webBar;
diff --git a/client/browser/src/src.pro b/client/browser/src/src.pro
index 9621ff9f..ed5cc824 100644
--- a/client/browser/src/src.pro
+++ b/client/browser/src/src.pro
@@ -19,10 +19,10 @@ MOC_DIR = ../.moc
OBJECTS_DIR = ../.objs
TARGET = browser
-LIBS += -L.. -lqtermwidget
+LIBS += -L.. -lqtermwidget -ldigitalclock
SOURCES = main.cpp mainwindow.cpp
HEADERS = mainwindow.h
-INCLUDEPATH = ../qtermwidget/src
+INCLUDEPATH = ../qtermwidget/src ../digitalclock