[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [apper] libapper: Make better use of TransactionProgressModel
From: Daniel Nicoletti <dantti12 () gmail ! com>
Date: 2012-10-31 20:50:14
Message-ID: 20121031205014.1F399A6078 () git ! kde ! org
[Download RAW message or body]
Git commit 4d8d7878cc63271314121317fcc0adbd60abcf03 by Daniel Nicoletti.
Committed on 31/10/2012 at 21:49.
Pushed by dantti into branch 'master'.
Make better use of TransactionProgressModel
M +19 -0 libapper/PkTransaction.cpp
M +3 -0 libapper/PkTransaction.h
M +19 -0 libapper/PkTransactionProgressModel.cpp
M +8 -12 libapper/PkTransactionWidget.cpp
http://commits.kde.org/apper/4d8d7878cc63271314121317fcc0adbd60abcf03
diff --git a/libapper/PkTransaction.cpp b/libapper/PkTransaction.cpp
index 05fe7b5..62f4c52 100644
--- a/libapper/PkTransaction.cpp
+++ b/libapper/PkTransaction.cpp
@@ -48,6 +48,7 @@
#include "ApplicationLauncher.h"
#include "PackageModel.h"
#include "Requirements.h"
+#include "PkTransactionProgressModel.h"
class PkTransactionPrivate
{
@@ -63,6 +64,7 @@ public:
ApplicationLauncher *launcher;
QStringList files;
PackageModel *simulateModel;
+ PkTransactionProgressModel *progressModel;
};
PkTransaction::PkTransaction(QWidget *parent) :
@@ -83,6 +85,13 @@ PkTransaction::PkTransaction(QWidget *parent) :
d->role = Transaction::RoleUnknown;
// for sanity we are trusted till an error is given and the user accepts
d->flags = Transaction::TransactionFlagOnlyTrusted;
+ d->progressModel = new PkTransactionProgressModel(this);
+ connect(this, SIGNAL(repoDetail(QString,QString,bool)),
+ d->progressModel, SLOT(currentRepo(QString,QString,bool)));
+ connect(this, SIGNAL(package(PackageKit::Transaction::Info,QString,QString)),
+ d->progressModel, SLOT(currentPackage(PackageKit::Transaction::Info,QString)));
+ connect(this, SIGNAL(itemProgress(QString,PackageKit::Transaction::Status,uint)),
+ d->progressModel, SLOT(itemProgress(QString,PackageKit::Transaction::Status,uint)));
connect(this, SIGNAL(changed()), SLOT(updateUi()));
}
@@ -816,4 +825,14 @@ Transaction::Role PkTransaction::role() const
return d->role;
}
+Transaction::TransactionFlags PkTransaction::flags() const
+{
+ return d->flags;
+}
+
+PkTransactionProgressModel *PkTransaction::progressModel() const
+{
+ return d->progressModel;
+}
+
#include "PkTransaction.moc"
diff --git a/libapper/PkTransaction.h b/libapper/PkTransaction.h
index 0ec8ad5..101d9f4 100644
--- a/libapper/PkTransaction.h
+++ b/libapper/PkTransaction.h
@@ -29,6 +29,7 @@
using namespace PackageKit;
class PkTransactionPrivate;
+class PkTransactionProgressModel;
class KDE_EXPORT PkTransaction : public Transaction
{
Q_OBJECT
@@ -52,6 +53,8 @@ public:
QString title() const;
Transaction::Role role() const;
+ Transaction::TransactionFlags flags() const;
+ PkTransactionProgressModel* progressModel() const;
PkTransaction::ExitStatus exitStatus() const;
bool isFinished() const;
diff --git a/libapper/PkTransactionProgressModel.cpp b/libapper/PkTransactionProgressModel.cpp
index d8d0e43..ef48ccf 100644
--- a/libapper/PkTransactionProgressModel.cpp
+++ b/libapper/PkTransactionProgressModel.cpp
@@ -25,6 +25,8 @@
#include <PkStrings.h>
+#include "PkTransaction.h"
+
using namespace PackageKit;
PkTransactionProgressModel::PkTransactionProgressModel(QObject *parent) :
@@ -40,6 +42,12 @@ void PkTransactionProgressModel::currentRepo(const QString &repoId, const QStrin
{
Q_UNUSED(enabled)
kDebug() << repoId;
+
+ PkTransaction *transaction = qobject_cast<PkTransaction *>(sender());
+ if (transaction && transaction->flags() & Transaction::TransactionFlagSimulate) {
+ return;
+ }
+
QStandardItem *stdItem = new QStandardItem(description);
stdItem->setData(repoId, RoleId);
stdItem->setData(true, RoleRepo);
@@ -49,6 +57,12 @@ void PkTransactionProgressModel::currentRepo(const QString &repoId, const QStrin
void PkTransactionProgressModel::itemProgress(const QString &id, Transaction::Status status, uint \
percentage) {
Q_UNUSED(status)
+
+ PkTransaction *transaction = qobject_cast<PkTransaction *>(sender());
+ if (transaction && transaction->flags() & Transaction::TransactionFlagSimulate) {
+ return;
+ }
+
QStandardItem *stdItem = findLastItem(id);
if (stdItem && !stdItem->data(RoleFinished).toBool()) {
// if the progress is unknown (101), make it empty
@@ -69,6 +83,11 @@ void PkTransactionProgressModel::clear()
void PkTransactionProgressModel::currentPackage(PackageKit::Transaction::Info info, const QString \
&packageID, const QString &summary) {
kDebug() << info << packageID << summary;
+ PkTransaction *transaction = qobject_cast<PkTransaction *>(sender());
+ if (transaction && transaction->flags() & Transaction::TransactionFlagSimulate) {
+ return;
+ }
+
if (!packageID.isEmpty()) {
QStandardItem *stdItem = findLastItem(packageID);
// If there is alread some packages check to see if it has
diff --git a/libapper/PkTransactionWidget.cpp b/libapper/PkTransactionWidget.cpp
index 3ab8c04..ebea9db 100644
--- a/libapper/PkTransactionWidget.cpp
+++ b/libapper/PkTransactionWidget.cpp
@@ -45,12 +45,11 @@
#include "RepoSig.h"
#include "LicenseAgreement.h"
#include "PkIcons.h"
-#include "PkTransactionProgressModel.h"
#include "ApplicationLauncher.h"
-#include "PackageModel.h"
#include "Requirements.h"
#include "PkTransaction.h"
#include "TransactionDelegate.h"
+#include "PkTransactionProgressModel.h"
class PkTransactionWidgetPrivate
{
@@ -58,7 +57,6 @@ public:
ApplicationLauncher *launcher;
Transaction::Role role;
KPixmapSequenceOverlayPainter *busySeq;
- PkTransactionProgressModel *progressModel;
};
PkTransactionWidget::PkTransactionWidget(QWidget *parent) :
@@ -92,8 +90,6 @@ PkTransactionWidget::PkTransactionWidget(QWidget *parent) :
ui->progressView->header()->setResizeMode(1, QHeaderView::ResizeToContents);
ui->progressView->setItemDelegate(new TransactionDelegate(this));
- d->progressModel = new PkTransactionProgressModel(this);
- ui->progressView->setModel(d->progressModel);
connect(ui->cancelButton, SIGNAL(rejected()), this, SLOT(cancel()));
}
@@ -124,8 +120,8 @@ void PkTransactionWidget::setTransaction(PkTransaction *trans, Transaction::Role
Q_ASSERT(trans);
m_trans = trans;
+ ui->progressView->setModel(trans->progressModel());
connect(trans, SIGNAL(changed()), this, SLOT(updateUi()));
- d->progressModel->clear();
// sets ui
updateUi();
@@ -143,12 +139,12 @@ void PkTransactionWidget::setTransaction(PkTransaction *trans, Transaction::Role
role == Transaction::RoleRemovePackages ||
role == Transaction::RoleUpdatePackages ||
role == Transaction::RoleRefreshCache) {
- connect(m_trans, SIGNAL(repoDetail(QString,QString,bool)),
- d->progressModel, SLOT(currentRepo(QString,QString,bool)));
- connect(m_trans, SIGNAL(package(PackageKit::Transaction::Info,QString,QString)),
- d->progressModel, SLOT(currentPackage(PackageKit::Transaction::Info,QString,QString)));
- connect(m_trans, SIGNAL(itemProgress(QString,PackageKit::Transaction::Status,uint)),
- d->progressModel, SLOT(itemProgress(QString,PackageKit::Transaction::Status,uint)));
+// connect(m_trans, SIGNAL(repoDetail(QString,QString,bool)),
+// d->progressModel, SLOT(currentRepo(QString,QString,bool)));
+// connect(m_trans, SIGNAL(package(PackageKit::Transaction::Info,QString,QString)),
+// d->progressModel, \
SLOT(currentPackage(PackageKit::Transaction::Info,QString,QString))); +// connect(m_trans, \
SIGNAL(itemProgress(QString,PackageKit::Transaction::Status,uint)), +// d->progressModel, \
SLOT(itemProgress(QString,PackageKit::Transaction::Status,uint))); if (role == \
Transaction::RoleRefreshCache) {
// ui->progressView->handleRepo(true);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic