Mercurial > trustbridge
view ui/processwaitdialog.cpp @ 1227:a1e990947172
(issue38) Add long time error handling.
A Long Time Error is an error that will be shown to the
user if it happened at least seven times with an interval
of at least a day between occurances.
After one success a long time error will be reset.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 24 Sep 2014 15:12:40 +0200 |
parents | 320a64d58e62 |
children |
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=2) * and comes with ABSOLUTELY NO WARRANTY! * See LICENSE.txt for details. */ #include <QHBoxLayout> #include <QListWidget> #include <QTimer> #include <QList> #include <QLabel> #include <QApplication> #include "processwaitdialog.h" #include "processhelp.h" ProcessWaitDialog::ProcessWaitDialog(QWidget *parent, const QStringList& processNames) : QDialog(parent), mProcessNames(processNames) { QHBoxLayout *theLayout = new QHBoxLayout(this); setWindowTitle(tr("Applications need to be closed.")); setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint); QLabel *warnLabel = new QLabel(tr("Please close all running Firefox and Thunderbird instances to continue installation!")); QLabel *warnIcon = new QLabel(); warnIcon->setPixmap(QApplication::style()->standardPixmap(QStyle::SP_MessageBoxWarning)); theLayout->addWidget(warnIcon); theLayout->addWidget(warnLabel); theLayout->setSizeConstraint(QLayout::SetFixedSize); // mProcessList = new QListWidget(); // theLayout->addWidget(mProcessList); updateProcesses(); } void ProcessWaitDialog::updateProcesses() { QList<int> pids; foreach (const QString& pName, mProcessNames) { pids.append(ProcessHelp::getProcessesIdForName(pName)); } if (pids.isEmpty()) { accept(); return; } /* mProcessList->clear(); foreach (int pId, pids) { mProcessList->addItem(QString::fromLatin1("Pid ") + pId); } */ QTimer::singleShot(500, this, SLOT(updateProcesses())); }