diff options
Diffstat (limited to 'examples/network/downloadmanager')
-rw-r--r-- | examples/network/downloadmanager/CMakeLists.txt | 39 | ||||
-rw-r--r-- | examples/network/downloadmanager/downloadmanager.cpp | 212 | ||||
-rw-r--r-- | examples/network/downloadmanager/downloadmanager.h | 93 | ||||
-rw-r--r-- | examples/network/downloadmanager/downloadmanager.pro | 17 | ||||
-rw-r--r-- | examples/network/downloadmanager/main.cpp | 82 | ||||
-rw-r--r-- | examples/network/downloadmanager/textprogressbar.cpp | 107 | ||||
-rw-r--r-- | examples/network/downloadmanager/textprogressbar.h | 71 |
7 files changed, 0 insertions, 621 deletions
diff --git a/examples/network/downloadmanager/CMakeLists.txt b/examples/network/downloadmanager/CMakeLists.txt deleted file mode 100644 index fc900806b8..0000000000 --- a/examples/network/downloadmanager/CMakeLists.txt +++ /dev/null @@ -1,39 +0,0 @@ -# Generated from downloadmanager.pro. - -cmake_minimum_required(VERSION 3.16) -project(downloadmanager LANGUAGES CXX) - -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) - -if(NOT DEFINED INSTALL_EXAMPLESDIR) - set(INSTALL_EXAMPLESDIR "examples") -endif() - -set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/network/downloadmanager") - -find_package(Qt6 COMPONENTS Core) -find_package(Qt6 COMPONENTS Network) - -qt_add_executable(downloadmanager - downloadmanager.cpp downloadmanager.h - main.cpp - textprogressbar.cpp textprogressbar.h -) -set_target_properties(downloadmanager PROPERTIES - WIN32_EXECUTABLE FALSE - MACOSX_BUNDLE FALSE -) -target_link_libraries(downloadmanager PUBLIC - Qt::Core - Qt::Network -) - -install(TARGETS downloadmanager - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/network/downloadmanager/downloadmanager.cpp b/examples/network/downloadmanager/downloadmanager.cpp deleted file mode 100644 index cbad29541a..0000000000 --- a/examples/network/downloadmanager/downloadmanager.cpp +++ /dev/null @@ -1,212 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, 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 "downloadmanager.h" - -#include <QTextStream> - -#include <cstdio> - -using namespace std; - -DownloadManager::DownloadManager(QObject *parent) - : QObject(parent) -{ -} - -void DownloadManager::append(const QStringList &urls) -{ - for (const QString &urlAsString : urls) - append(QUrl::fromEncoded(urlAsString.toLocal8Bit())); - - if (downloadQueue.isEmpty()) - QTimer::singleShot(0, this, &DownloadManager::finished); -} - -void DownloadManager::append(const QUrl &url) -{ - if (downloadQueue.isEmpty()) - QTimer::singleShot(0, this, &DownloadManager::startNextDownload); - - downloadQueue.enqueue(url); - ++totalCount; -} - -QString DownloadManager::saveFileName(const QUrl &url) -{ - QString path = url.path(); - QString basename = QFileInfo(path).fileName(); - - if (basename.isEmpty()) - basename = "download"; - - if (QFile::exists(basename)) { - // already exists, don't overwrite - int i = 0; - basename += '.'; - while (QFile::exists(basename + QString::number(i))) - ++i; - - basename += QString::number(i); - } - - return basename; -} - -void DownloadManager::startNextDownload() -{ - if (downloadQueue.isEmpty()) { - printf("%d/%d files downloaded successfully\n", downloadedCount, totalCount); - emit finished(); - return; - } - - QUrl url = downloadQueue.dequeue(); - - QString filename = saveFileName(url); - output.setFileName(filename); - if (!output.open(QIODevice::WriteOnly)) { - fprintf(stderr, "Problem opening save file '%s' for download '%s': %s\n", - qPrintable(filename), url.toEncoded().constData(), - qPrintable(output.errorString())); - - startNextDownload(); - return; // skip this download - } - - QNetworkRequest request(url); - currentDownload = manager.get(request); - connect(currentDownload, &QNetworkReply::downloadProgress, - this, &DownloadManager::downloadProgress); - connect(currentDownload, &QNetworkReply::finished, - this, &DownloadManager::downloadFinished); - connect(currentDownload, &QNetworkReply::readyRead, - this, &DownloadManager::downloadReadyRead); - - // prepare the output - printf("Downloading %s...\n", url.toEncoded().constData()); - downloadTimer.start(); -} - -void DownloadManager::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) -{ - progressBar.setStatus(bytesReceived, bytesTotal); - - // calculate the download speed - double speed = bytesReceived * 1000.0 / downloadTimer.elapsed(); - QString unit; - if (speed < 1024) { - unit = "bytes/sec"; - } else if (speed < 1024*1024) { - speed /= 1024; - unit = "kB/s"; - } else { - speed /= 1024*1024; - unit = "MB/s"; - } - - progressBar.setMessage(QString::fromLatin1("%1 %2") - .arg(speed, 3, 'f', 1).arg(unit)); - progressBar.update(); -} - -void DownloadManager::downloadFinished() -{ - progressBar.clear(); - output.close(); - - if (currentDownload->error()) { - // download failed - fprintf(stderr, "Failed: %s\n", qPrintable(currentDownload->errorString())); - output.remove(); - } else { - // let's check if it was actually a redirect - if (isHttpRedirect()) { - reportRedirect(); - output.remove(); - } else { - printf("Succeeded.\n"); - ++downloadedCount; - } - } - - currentDownload->deleteLater(); - startNextDownload(); -} - -void DownloadManager::downloadReadyRead() -{ - output.write(currentDownload->readAll()); -} - -bool DownloadManager::isHttpRedirect() const -{ - int statusCode = currentDownload->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); - return statusCode == 301 || statusCode == 302 || statusCode == 303 - || statusCode == 305 || statusCode == 307 || statusCode == 308; -} - -void DownloadManager::reportRedirect() -{ - int statusCode = currentDownload->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); - QUrl requestUrl = currentDownload->request().url(); - QTextStream(stderr) << "Request: " << requestUrl.toDisplayString() - << " was redirected with code: " << statusCode - << '\n'; - - QVariant target = currentDownload->attribute(QNetworkRequest::RedirectionTargetAttribute); - if (!target.isValid()) - return; - QUrl redirectUrl = target.toUrl(); - if (redirectUrl.isRelative()) - redirectUrl = requestUrl.resolved(redirectUrl); - QTextStream(stderr) << "Redirected to: " << redirectUrl.toDisplayString() - << '\n'; -} diff --git a/examples/network/downloadmanager/downloadmanager.h b/examples/network/downloadmanager/downloadmanager.h deleted file mode 100644 index 818a774f1f..0000000000 --- a/examples/network/downloadmanager/downloadmanager.h +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, 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 DOWNLOADMANAGER_H -#define DOWNLOADMANAGER_H - -#include <QtNetwork> -#include <QtCore> - -#include "textprogressbar.h" - -class DownloadManager: public QObject -{ - Q_OBJECT -public: - explicit DownloadManager(QObject *parent = nullptr); - - void append(const QUrl &url); - void append(const QStringList &urls); - static QString saveFileName(const QUrl &url); - -signals: - void finished(); - -private slots: - void startNextDownload(); - void downloadProgress(qint64 bytesReceived, qint64 bytesTotal); - void downloadFinished(); - void downloadReadyRead(); - -private: - bool isHttpRedirect() const; - void reportRedirect(); - - QNetworkAccessManager manager; - QQueue<QUrl> downloadQueue; - QNetworkReply *currentDownload = nullptr; - QFile output; - QElapsedTimer downloadTimer; - TextProgressBar progressBar; - - int downloadedCount = 0; - int totalCount = 0; -}; - -#endif diff --git a/examples/network/downloadmanager/downloadmanager.pro b/examples/network/downloadmanager/downloadmanager.pro deleted file mode 100644 index cd1a977e5d..0000000000 --- a/examples/network/downloadmanager/downloadmanager.pro +++ /dev/null @@ -1,17 +0,0 @@ -QT = core network -CONFIG += cmdline - -HEADERS += downloadmanager.h textprogressbar.h -SOURCES += downloadmanager.cpp main.cpp textprogressbar.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/network/downloadmanager -INSTALLS += target - -OTHER_FILES += \ - debian/changelog \ - debian/compat \ - debian/control \ - debian/copyright \ - debian/README \ - debian/rules diff --git a/examples/network/downloadmanager/main.cpp b/examples/network/downloadmanager/main.cpp deleted file mode 100644 index eb1bd1ce9a..0000000000 --- a/examples/network/downloadmanager/main.cpp +++ /dev/null @@ -1,82 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, 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 <QCoreApplication> -#include <QStringList> - -#include "downloadmanager.h" - -#include <cstdio> - -int main(int argc, char **argv) -{ - using namespace std; - - QCoreApplication app(argc, argv); - QStringList arguments = app.arguments(); - arguments.takeFirst(); // remove the first argument, which is the program's name - - if (arguments.isEmpty()) { - printf("Qt Download example\n" - "Usage: downloadmanager url1 [url2... urlN]\n" - "\n" - "Downloads the URLs passed in the command-line to the local directory\n" - "If the target file already exists, a .0, .1, .2, etc. is appended to\n" - "differentiate.\n"); - return 0; - } - - DownloadManager manager; - manager.append(arguments); - - QObject::connect(&manager, &DownloadManager::finished, - &app, &QCoreApplication::quit); - app.exec(); -} diff --git a/examples/network/downloadmanager/textprogressbar.cpp b/examples/network/downloadmanager/textprogressbar.cpp deleted file mode 100644 index 3449e6bad5..0000000000 --- a/examples/network/downloadmanager/textprogressbar.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, 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 "textprogressbar.h" - -#include <QByteArray> - -#include <cstdio> - -using namespace std; - -void TextProgressBar::clear() -{ - printf("\n"); - fflush(stdout); - - value = 0; - maximum = -1; - iteration = 0; -} - -void TextProgressBar::update() -{ - ++iteration; - - if (maximum > 0) { - // we know the maximum - // draw a progress bar - int percent = value * 100 / maximum; - int hashes = percent / 2; - - QByteArray progressbar(hashes, '#'); - if (percent % 2) - progressbar += '>'; - - printf("\r[%-50s] %3d%% %s ", - progressbar.constData(), - percent, - qPrintable(message)); - } else { - // we don't know the maximum, so we can't draw a progress bar - int center = (iteration % 48) + 1; // 50 spaces, minus 2 - QByteArray before(qMax(center - 2, 0), ' '); - QByteArray after(qMin(center + 2, 50), ' '); - - printf("\r[%s###%s] %s ", - before.constData(), after.constData(), qPrintable(message)); - } -} - -void TextProgressBar::setMessage(const QString &m) -{ - message = m; -} - -void TextProgressBar::setStatus(qint64 val, qint64 max) -{ - value = val; - maximum = max; -} diff --git a/examples/network/downloadmanager/textprogressbar.h b/examples/network/downloadmanager/textprogressbar.h deleted file mode 100644 index 30affeb55c..0000000000 --- a/examples/network/downloadmanager/textprogressbar.h +++ /dev/null @@ -1,71 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, 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 TEXTPROGRESSBAR_H -#define TEXTPROGRESSBAR_H - -#include <QString> - -class TextProgressBar -{ -public: - void clear(); - void update(); - void setMessage(const QString &message); - void setStatus(qint64 value, qint64 maximum); - -private: - QString message; - qint64 value = 0; - qint64 maximum = -1; - int iteration = 0; -}; - -#endif |