diff options
author | ramon <ramongomez@us.es> | 2016-04-25 11:40:10 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2016-04-25 11:40:10 +0000 |
commit | 6d9ad980f669c4da093749e56835971acb71837f (patch) | |
tree | fc1f8d0d079a5494cb8b313ca5ca45d5eef23f8b /client/browser | |
parent | 38b661b238fe7ad159d35344e87d5b8def9d071b (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.pro | 2 | ||||
-rw-r--r-- | client/browser/digitalclock/digitalclock.cpp | 72 | ||||
-rw-r--r-- | client/browser/digitalclock/digitalclock.h | 59 | ||||
-rw-r--r-- | client/browser/digitalclock/digitalclock.pro | 23 | ||||
-rw-r--r-- | client/browser/src/mainwindow.cpp | 9 | ||||
-rw-r--r-- | client/browser/src/mainwindow.h | 2 | ||||
-rw-r--r-- | client/browser/src/src.pro | 4 |
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 |