1
/***************************************************************************
2
* Copyright © 2012 Jonathan Thomas <echidnaman@kubuntu.org> *
4
* This program is free software; you can redistribute it and/or *
5
* modify it under the terms of the GNU General Public License as *
6
* published by the Free Software Foundation; either version 2 of *
7
* the License or (at your option) version 3 or any later version *
8
* accepted by the membership of KDE e.V. (or its successor approved *
9
* by the membership of KDE e.V.), which shall act as a proxy *
10
* defined in Section 14 of version 3 of the license. *
12
* This program is distributed in the hope that it will be useful, *
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15
* GNU General Public License for more details. *
17
* You should have received a copy of the GNU General Public License *
18
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
19
***************************************************************************/
21
#include "ProgressView.h"
23
#include <QtGui/QLabel>
24
#include <QtGui/QListView>
26
#include <KLocalizedString>
29
#include <ApplicationBackend.h>
30
#include <Transaction/TransactionModel.h>
32
#include "ApplicationView/ApplicationDelegate.h"
34
ProgressView::ProgressView(QWidget *parent, ApplicationBackend *backend)
36
, m_appBackend(backend)
38
QLabel *headerLabel = new QLabel(this);
39
headerLabel->setText(i18nc("@info", "<title>In Progress</title>"));
40
headerLabel->setAlignment(Qt::AlignLeft);
42
m_progressModel = new TransactionModel(this);
43
m_progressModel->setBackend(m_appBackend);
44
m_progressModel->addTransactions(m_appBackend->transactions());
46
QListView *listView = new QListView(this);
47
listView->setAlternatingRowColors(true);
48
ApplicationDelegate *delegate = new ApplicationDelegate(listView, m_appBackend);
49
delegate->setShowInfoButton(false);
50
listView->setItemDelegate(delegate);
51
listView->setModel(m_progressModel);
53
connect(delegate, SIGNAL(cancelButtonClicked(Application*)),
54
m_appBackend, SLOT(cancelTransaction(Application*)));
55
connect(m_progressModel, SIGNAL(lastTransactionCancelled()),
56
this, SIGNAL(lastTransactionCancelled()));