diff options
| author | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
|---|---|---|
| committer | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
| commit | 7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch) | |
| tree | 4430b556abac0ad660a0aacf1887d77f85d8be02 /scribus/multiprogressdialog.cpp | |
| download | scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.gz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.xz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.zip | |
Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/multiprogressdialog.cpp')
| -rw-r--r-- | scribus/multiprogressdialog.cpp | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/scribus/multiprogressdialog.cpp b/scribus/multiprogressdialog.cpp new file mode 100644 index 0000000..a2901f6 --- /dev/null +++ b/scribus/multiprogressdialog.cpp @@ -0,0 +1,160 @@ +/* +For general Scribus (>=1.3.2) copyright and licensing information please refer +to the COPYING file provided with the program. Following this notice may exist +a copyright and/or license notice that predates the release of Scribus 1.3.2 +for which a new license (GPL+exception) is in place. +*/ +/*************************************************************************** +* Copyright (C) 2005 by Craig Bradney * +* cbradney@zip.com.au * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ + +#include "multiprogressdialog.h" + +MultiProgressDialog::MultiProgressDialog(QWidget* parent, Qt::WFlags f) +: QDialog(parent, f) +{ + setupUi(this); + connect(buttonCancel, SIGNAL(clicked()), this, SLOT(emitCancel())); +} + +MultiProgressDialog::MultiProgressDialog(const QString& titleText, const QString & cancelButtonText, QWidget* parent, Qt::WFlags f) +: QDialog(parent, f) +{ + setupUi(this); + setWindowTitle(titleText); + buttonCancel->setText(cancelButtonText); + connect(buttonCancel, SIGNAL(clicked()), this, SLOT(emitCancel())); +} + +MultiProgressDialog::~MultiProgressDialog() +{ +} + +void MultiProgressDialog::emitCancel() +{ + emit canceled(); +} + +void MultiProgressDialog::removeExtraProgressBars() +{ + progressBars.clear(); + progressLabels.clear(); +} + +bool MultiProgressDialog::addExtraProgressBars(const QStringList &barsList, const QStringList &barsTexts, const QList<bool>& barsNumerical) +{ + uint barCount=barsList.count(); + if (barCount==0) + return false; + int gridLayoutRow=gridLayout->rowCount(); + for (uint i=0; i<barCount; ++i) + { + QString barName(barsList[i]); + if(progressBarTitles.contains(barName)) + continue; + progressBarTitles.append(barName); + progressBars.insert(barName, new QProgressBar(this)); + if (barsNumerical[i]) + progressBars[barName]->setFormat(tr("%v of %m")); + progressBars[barName]->setMinimumWidth(150); + progressLabels.insert(barName, new QLabel(barsTexts[i], this)); + gridLayout->addWidget(progressLabels[barName], gridLayoutRow, 0); + gridLayout->addWidget(progressBars[barName], gridLayoutRow, 1); + ++gridLayoutRow; + } + return true; +} + +bool MultiProgressDialog::setLabel(const QString &barName, const QString & newLabel) +{ + if (progressLabels.contains(barName)) + { + progressLabels[barName]->setText(newLabel); + return true; + } + return false; +} + +bool MultiProgressDialog::setTotalSteps(const QString &barName, int totalSteps) +{ + if (progressBars.contains(barName)) + { + progressBars[barName]->setMaximum(totalSteps); + return true; + } + return false; +} + +bool MultiProgressDialog::setProgress(const QString &barName, int progress) +{ + if (progressBars.contains(barName)) + { + progressBars[barName]->setValue(progress); + return true; + } + return false; +} + +bool MultiProgressDialog::setProgress(const QString &barName, int progress, int totalSteps) +{ + if (progressBars.contains(barName)) + { + progressBars[barName]->setMaximum(totalSteps); + progressBars[barName]->setValue(progress); + return true; + } + return false; +} + +bool MultiProgressDialog::setupBar(const QString &barName, const QString & barText, int progress, int totalSteps) +{ + if (progressLabels.contains(barName)) + progressLabels[barName]->setText(barText); + else + return false; + if (progressBars.contains(barName)) + { + progressBars[barName]->setMaximum(totalSteps); + progressBars[barName]->setValue(progress); + return true; + } + return false; +} + + +void MultiProgressDialog::setCancelButtonText(const QString & cancelButtonText) +{ + buttonCancel->setText(cancelButtonText); +} + +void MultiProgressDialog::setOverallTotalSteps(int totalSteps) +{ + overallProgressBar->setMaximum(totalSteps); +} + +void MultiProgressDialog::setOverallProgress(int progress) +{ + overallProgressBar->setValue(progress); +} + +void MultiProgressDialog::setOverallProgress(int progress, int totalSteps) +{ + overallProgressBar->setMaximum(totalSteps); + overallProgressBar->setValue(progress); +} |
