~ubuntu-branches/ubuntu/natty/muon/natty

« back to all changes in this revision

Viewing changes to installer/ApplicationModel/ApplicationViewWidget.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Thomas
  • Date: 2010-12-20 21:25:02 UTC
  • mfrom: (1.1.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20101220212502-jah7iubxtsmzh3t8
Tags: 1.0.90-0ubuntu1
* New upstream release:
  - Remove linker fix patch, applied upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
#include "../ApplicationDetailsView/ApplicationDetailsView.h"
40
40
#include "../BreadcrumbWidget/BreadcrumbItem.h"
41
41
#include "../CategoryView/Category.h"
 
42
#include "../Transaction.h"
42
43
 
43
44
ApplicationViewWidget::ApplicationViewWidget(QWidget *parent, ApplicationBackend *appBackend)
44
45
        : AbstractViewBase(parent)
47
48
        , m_detailsView(0)
48
49
{
49
50
    m_searchable = true;
50
 
    m_appModel = new ApplicationModel(this);
 
51
    m_appModel = new ApplicationModel(this, m_appBackend);
51
52
    m_proxyModel = new ApplicationProxyModel(this);
52
53
    m_proxyModel->setSourceModel(m_appModel);
53
54
 
149
150
    m_detailsView->setApplication(app);
150
151
    m_currentPair.first = m_detailsView;
151
152
 
152
 
    connect(m_detailsView, SIGNAL(installButtonClicked(Application *)),
153
 
            this, SLOT(installButtonClicked(Application *)));
 
153
    connect(m_detailsView, SIGNAL(installButtonClicked(Application *, const QHash<QApt::Package *, QApt::Package::State> &)),
 
154
            this, SLOT(installButtonClicked(Application *, const QHash<QApt::Package *, QApt::Package::State> &)));
154
155
    connect(m_detailsView, SIGNAL(removeButtonClicked(Application *)),
155
156
            this, SLOT(removeButtonClicked(Application *)));
156
157
    connect(m_detailsView, SIGNAL(cancelButtonClicked(Application *)),
162
163
    emit registerNewSubView(m_detailsView);
163
164
}
164
165
 
 
166
void ApplicationViewWidget::installButtonClicked(Application *app, const QHash<QApt::Package *, QApt::Package::State> &addons)
 
167
{
 
168
    TransactionAction action = InvalidAction;
 
169
 
 
170
    if (app->package()->isInstalled()) {
 
171
        action = ChangeAddons;
 
172
    } else {
 
173
        action = InstallApp;
 
174
    }
 
175
 
 
176
    Transaction *transaction = new Transaction(app, action, addons);
 
177
    m_appBackend->addTransaction(transaction);
 
178
}
 
179
 
165
180
void ApplicationViewWidget::installButtonClicked(Application *app)
166
181
{
167
 
    Transaction transaction = { app, QApt::Package::ToInstall, (TransactionState)0 };
 
182
    Transaction *transaction = new Transaction(app, InstallApp);
168
183
    m_appBackend->addTransaction(transaction);
169
184
}
170
185
 
171
186
void ApplicationViewWidget::removeButtonClicked(Application *app)
172
187
{
173
 
    Transaction transaction = { app, QApt::Package::ToRemove, (TransactionState)0 };
 
188
    Transaction *transaction = new Transaction(app, RemoveApp);
174
189
 
175
190
    m_appBackend->addTransaction(transaction);
176
191
}