diff --git a/browser.pro b/browser.pro index f1174fb..01978c7 100644 --- a/browser.pro +++ b/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/digitalclock/digitalclock.cpp b/digitalclock/digitalclock.cpp new file mode 100644 index 0000000..4b65b6b --- /dev/null +++ b/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 + +#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/digitalclock/digitalclock.h b/digitalclock/digitalclock.h new file mode 100644 index 0000000..f891335 --- /dev/null +++ b/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 + +//! [0] +class DigitalClock : public QLCDNumber +{ + Q_OBJECT + +public: + DigitalClock(QWidget *parent = 0); + +private slots: + void showTime(); +}; +//! [0] + +#endif diff --git a/digitalclock/digitalclock.pro b/digitalclock/digitalclock.pro new file mode 100644 index 0000000..6d2d283 --- /dev/null +++ b/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/src/mainwindow.cpp b/src/mainwindow.cpp index a1f9eaf..03c4ac0 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -18,6 +18,7 @@ #include #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/src/mainwindow.h b/src/mainwindow.h index 1bcb0c5..ba2d3f2 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -12,6 +12,7 @@ #include #include #include +#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/src/src.pro b/src/src.pro index 9621ff9..ed5cc82 100644 --- a/src/src.pro +++ b/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