[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [apper] /: PackageKit Session interface fixed
From: Daniel Nicoletti <null () kde ! org>
Date: 2018-01-18 21:02:04
Message-ID: E1ecHK0-0001hI-Ks () code ! kde ! org
[Download RAW message or body]
Git commit a873e6600567d6e77d64814baee2ff2c048acd8a by Daniel Nicoletti.
Committed on 18/01/2018 at 21:01.
Pushed by dantti into branch 'master'.
PackageKit Session interface fixed
M +6 -4 PkSession/AbstractIsRunning.cpp
M +1 -2 PkSession/CMakeLists.txt
M +7 -7 PkSession/FilesModel.cpp
M +12 -12 PkSession/PkInstallCatalogs.cpp
M +7 -7 PkSession/PkInstallPackageFiles.cpp
M +22 -33 PkSession/PkInterface.cpp
M +2 -2 PkSession/PkInterface.h
M +2 -6 PkSession/PkSession.cpp
M +2 -2 PkSession/PkSession.h
M +62 -53 PkSession/SessionTask.cpp
M +11 -5 PkSession/SessionTask.h
M +27 -5 PkSession/SessionTask.ui
M +5 -9 libapper/Requirements.cpp
M +5 -5 libapper/Requirements.h
https://commits.kde.org/apper/a873e6600567d6e77d64814baee2ff2c048acd8a
diff --git a/PkSession/AbstractIsRunning.cpp b/PkSession/AbstractIsRunning.cpp
index be1f3cc..2dc5c15 100644
--- a/PkSession/AbstractIsRunning.cpp
+++ b/PkSession/AbstractIsRunning.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2011 by Daniel Nicoletti *
+ * Copyright (C) 2009-2018 by Daniel Nicoletti *
* dantti12@gmail.com *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -24,6 +24,8 @@
#include <QLoggingCategory>
+Q_DECLARE_LOGGING_CATEGORY(APPER_SESSION)
+
using namespace PackageKit;
AbstractIsRunning::AbstractIsRunning(QObject *parent) :
@@ -38,15 +40,15 @@ AbstractIsRunning::~AbstractIsRunning()
void AbstractIsRunning::increaseRunning()
{
m_running++;
-// kDebug();
+ qCDebug(APPER_SESSION) << "Increase running" << m_running;
}
void AbstractIsRunning::decreaseRunning()
{
m_running--;
-// kDebug();
+ qCDebug(APPER_SESSION) << "Decrease running" << m_running;
if (!isRunning()) {
-// kDebug() << "Is not Running anymore";
+ qCDebug(APPER_SESSION) << "All tasks completed";
emit close();
}
}
diff --git a/PkSession/CMakeLists.txt b/PkSession/CMakeLists.txt
index 5c9cb3a..b5b9c23 100644
--- a/PkSession/CMakeLists.txt
+++ b/PkSession/CMakeLists.txt
@@ -40,6 +40,7 @@ add_executable(apper-pk-session
)
target_link_libraries(apper-pk-session
+ Qt5::XmlPatterns
KF5::WidgetsAddons
KF5::KIOFileWidgets
KF5::IconThemes
@@ -48,8 +49,6 @@ target_link_libraries(apper-pk-session
apper_private
)
-qt5_use_modules(apper-pk-session Core XmlPatterns)
-
set_target_properties(apper-pk-session PROPERTIES INSTALL_RPATH \
${CMAKE_INSTALL_FULL_LIBDIR}/apper)
install(TARGETS apper-pk-session DESTINATION ${CMAKE_INSTALL_LIBEXECDIR})
diff --git a/PkSession/FilesModel.cpp b/PkSession/FilesModel.cpp
index b63e78a..9cbb9e6 100644
--- a/PkSession/FilesModel.cpp
+++ b/PkSession/FilesModel.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2010 by Daniel Nicoletti *
+ * Copyright (C) 2009-2018 by Daniel Nicoletti *
* dantti12@gmail.com *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -35,8 +35,8 @@
Q_DECLARE_LOGGING_CATEGORY(APPER_SESSION)
FilesModel::FilesModel(const QStringList &files, const QStringList &mimes, QObject \
*parent)
-: QStandardItemModel(parent),
- m_mimes(mimes)
+ : QStandardItemModel(parent)
+ , m_mimes(mimes)
{
if (!files.isEmpty()) {
QList<QUrl> urls;
@@ -77,7 +77,7 @@ bool FilesModel::insertFiles(const QList<QUrl> &urls)
{
bool ret = false;
for (const QUrl &url : urls) {
- QString path = QUrl::fromPercentEncoding(url.path().toUtf8());
+ const QString path = QUrl::fromPercentEncoding(url.path().toLatin1());
if (files().contains(path)) {
continue;
}
@@ -91,7 +91,7 @@ bool FilesModel::insertFiles(const QList<QUrl> &urls)
for (const QString &mimeType : qAsConst(m_mimes)) {
if (mime.name() == mimeType) {
ret = true;
-/* kDebug() << "Found Supported Mime" << mimeType << \
mime->iconName();*/ + qCDebug(APPER_SESSION) << "Found Supported \
Mime" << mimeType << mime.iconName(); item = new QStandardItem(fileInfo.fileName());
item->setData(path);
item->setToolTip(path);
@@ -102,7 +102,7 @@ bool FilesModel::insertFiles(const QList<QUrl> &urls)
}
if (ret == false && m_mimes.isEmpty()) {
- if (mime.name() == "application/x-desktop") {
+ if (mime.name() == QLatin1String("application/x-desktop")) {
auto service = new KService(path);
item = new QStandardItem(service->name());
item->setData(true, Qt::UserRole);
@@ -176,4 +176,4 @@ bool FilesModel::onlyApplications() const
return true;
}
-#include "FilesModel.moc"
+#include "moc_FilesModel.cpp"
diff --git a/PkSession/PkInstallCatalogs.cpp b/PkSession/PkInstallCatalogs.cpp
index 4ceeef1..74a3abb 100644
--- a/PkSession/PkInstallCatalogs.cpp
+++ b/PkSession/PkInstallCatalogs.cpp
@@ -59,9 +59,9 @@ PkInstallCatalogs::PkInstallCatalogs(uint xid,
}
}
- QStringList mimes;
- mimes << "application/x-catalog";
- mimes << "text/plain";
+ const QStringList mimes{
+ QLatin1String("application/x-catalog"), QLatin1String("text/plain")
+ };
m_introDialog = new IntroDialog(this);
m_introDialog->acceptDrops(i18n("You can drop more catalogs in here"));
m_model = new FilesModel(files, mimes, this);
@@ -78,7 +78,7 @@ PkInstallCatalogs::~PkInstallCatalogs()
void PkInstallCatalogs::modelChanged()
{
- QStringList files = m_model->files();
+ const QStringList files = m_model->files();
enableButtonOk(!files.isEmpty());
QString description;
if (files.isEmpty()) {
@@ -107,28 +107,28 @@ void PkInstallCatalogs::modelChanged()
void PkInstallCatalogs::search()
{
- QString distroId = Daemon::global()->distroID();
- QStringList parts = distroId.split(';');
+ const QString distroId = Daemon::global()->distroID();
+ const QStringList parts = distroId.split(QLatin1Char(';'));
if (parts.size() != 3) {
sendErrorFinished(Failed, "invalid distribution id, please fill a bug \
against you distribution backend"); return;
}
- QString distro = parts.at(0);
- QString version = parts.at(1);
- QString arch = parts.at(2);
+ const QString distro = parts.at(0);
+ const QString version = parts.at(1);
+ const QString arch = parts.at(2);
QStringList rxActions;
Transaction::Roles roles = Daemon::global()->roles();
if (roles & Transaction::RoleResolve) {
- rxActions << "InstallPackages";
+ rxActions << QLatin1String("InstallPackages");
}
if (roles & Transaction::RoleWhatProvides) {
- rxActions << "InstallProvides";
+ rxActions << QLatin1String("InstallProvides");
}
if (roles & Transaction::RoleSearchFile) {
- rxActions << "InstallFiles";
+ rxActions << QLatin1String("InstallFiles");
}
if (rxActions.isEmpty()) {
diff --git a/PkSession/PkInstallPackageFiles.cpp \
b/PkSession/PkInstallPackageFiles.cpp index 5022e9a..93e4581 100644
--- a/PkSession/PkInstallPackageFiles.cpp
+++ b/PkSession/PkInstallPackageFiles.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2011 by Daniel Nicoletti *
+ * Copyright (C) 2008-2018 by Daniel Nicoletti *
* dantti12@gmail.com *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -39,7 +39,7 @@ PkInstallPackageFiles::PkInstallPackageFiles(uint xid,
{
setWindowTitle(i18n("Install Packages Files"));
-// if (Daemon::global()->roles() & Transaction::RoleInstallFiles) {
+ if (Daemon::global()->roles() & Transaction::RoleInstallFiles) {
m_introDialog = new IntroDialog(this);
m_introDialog->acceptDrops(i18n("You can drop more files in here"));
@@ -49,10 +49,10 @@ PkInstallPackageFiles::PkInstallPackageFiles(uint xid,
setMainWidget(m_introDialog);
modelChanged();
-// } else {
-// setError(i18n("Not Supported"),
-// i18n("Your current backend does not support installing files"));
-// }
+ } else {
+ setError(i18n("Not Supported"),
+ i18n("Your current backend does not support installing files"));
+ }
}
PkInstallPackageFiles::~PkInstallPackageFiles()
@@ -61,7 +61,7 @@ PkInstallPackageFiles::~PkInstallPackageFiles()
void PkInstallPackageFiles::modelChanged()
{
- QStringList files = m_model->files();
+ const QStringList files = m_model->files();
enableButtonOk(!files.isEmpty());
QString description;
diff --git a/PkSession/PkInterface.cpp b/PkSession/PkInterface.cpp
index 1e60143..57de96b 100644
--- a/PkSession/PkInterface.cpp
+++ b/PkSession/PkInterface.cpp
@@ -67,12 +67,12 @@ PkInterface::PkInterface(QObject *parent) :
qCDebug(APPER_SESSION) << "Creating Helper";
(void) new ModifyAdaptor(this);
(void) new QueryAdaptor(this);
- if (!QDBusConnection::sessionBus().registerService("org.freedesktop.PackageKit")) \
{ + if (!QDBusConnection::sessionBus().registerService(QLatin1String("org.freedesktop.PackageKit"))) \
{ qCDebug(APPER_SESSION) << "unable to register service to dbus";
return;
}
- if (!QDBusConnection::sessionBus().registerObject("/org/freedesktop/PackageKit", \
this)) { + if (!QDBusConnection::sessionBus().registerObject(QLatin1String("/org/freedesktop/PackageKit"), \
this)) { qCDebug(APPER_SESSION) << "unable to register object to dbus";
return;
}
@@ -85,94 +85,84 @@ PkInterface::~PkInterface()
void PkInterface::InstallCatalogs(uint xid, const QStringList &files, const QString \
&interaction) {
qCDebug(APPER_SESSION) << xid << files << interaction;
- auto task = new PkInstallCatalogs(xid, files, interaction, message());
- show(task);
+ show(new PkInstallCatalogs(xid, files, interaction, message()));
}
void PkInterface::InstallFontconfigResources(uint xid, const QStringList &resources, \
const QString &interaction) {
qCDebug(APPER_SESSION) << xid << resources << interaction;
- auto task = new PkInstallFontconfigResources(xid, resources, interaction, \
message());
- show(task);
+ show(new PkInstallFontconfigResources(xid, resources, interaction, message()));
}
void PkInterface::InstallGStreamerResources(uint xid, const QStringList &resources, \
const QString &interaction) {
qCDebug(APPER_SESSION) << xid << resources << interaction;
- auto task = new PkInstallGStreamerResources(xid, resources, interaction, \
message());
- show(task);
+ show(new PkInstallGStreamerResources(xid, resources, interaction, message()));
}
void PkInterface::InstallMimeTypes(uint xid, const QStringList &mime_types, const \
QString &interaction) {
qCDebug(APPER_SESSION) << xid << mime_types << interaction;
- auto task = new PkInstallMimeTypes(xid, mime_types, interaction, message());
- show(task);
+ show(new PkInstallMimeTypes(xid, mime_types, interaction, message()));
}
void PkInterface::InstallPackageFiles(uint xid, const QStringList &files, const \
QString &interaction) {
qCDebug(APPER_SESSION) << xid << files << interaction;
- auto task = new PkInstallPackageFiles(xid, files, interaction, message());
- show(task);
+ show(new PkInstallPackageFiles(xid, files, interaction, message()));
}
void PkInterface::InstallPackageNames(uint xid, const QStringList &packages, const \
QString &interaction) {
qCDebug(APPER_SESSION) << xid << packages << interaction;
- auto task = new PkInstallPackageNames(xid, packages, interaction, message());
- show(task);
+ show(new PkInstallPackageNames(xid, packages, interaction, message()));
}
void PkInterface::InstallProvideFiles(uint xid, const QStringList &files, const \
QString &interaction) {
qCDebug(APPER_SESSION) << xid << files << interaction;
- auto task = new PkInstallProvideFiles(xid, files, interaction, message());
- show(task);
+ show(new PkInstallProvideFiles(xid, files, interaction, message()));
}
void PkInterface::RemovePackageByFiles(uint xid, const QStringList &files, const \
QString &interaction) {
qCDebug(APPER_SESSION) << xid << files << interaction;
- auto task = new PkRemovePackageByFiles(xid, files, interaction, message());
- show(task);
+ show(new PkRemovePackageByFiles(xid, files, interaction, message()));
}
void PkInterface::InstallPrinterDrivers(uint xid, const QStringList &resources, \
const QString &interaction) {
qCDebug(APPER_SESSION) << xid << resources << interaction;
- auto task = new PkInstallPrinterDrivers(xid, resources, interaction, message());
- show(task);
+ show(new PkInstallPrinterDrivers(xid, resources, interaction, message()));
}
void PkInterface::InstallPlasmaResources(uint xid, const QStringList &resources, \
const QString &interaction) {
qCDebug(APPER_SESSION) << xid << resources << interaction;
- auto task = new PkInstallPlasmaResources(xid, resources, interaction, \
message());
- show(task);
+ show(new PkInstallPlasmaResources(xid, resources, interaction, message()));
}
void PkInterface::InstallResources(uint xid, const QString &type, const QStringList \
&resources, const QString &interaction) {
- if (type == "codec")
+ if (type == QLatin1String("codec")) {
InstallGStreamerResources(xid, resources, interaction);
- else if (type == "mimetype")
+ } else if (type == QLatin1String("mimetype")) {
InstallMimeTypes(xid, resources, interaction);
- else if (type == "font")
+ } else if (type == QLatin1String("font")) {
InstallFontconfigResources(xid, resources, interaction);
- else if (type == "postscript-driver")
+ } else if (type == QLatin1String("postscript-driver")) {
InstallPrinterDrivers(xid, resources, interaction);
- else if (type == "plasma-service")
+ } else if (type == QLatin1String("plasma-service")) {
InstallPlasmaResources(xid, resources, interaction);
- else
- sendErrorReply("org.freedesktop.PackageKit.Failed", "Unsupported resource \
type"); + } else {
+ sendErrorReply(QStringLiteral("org.freedesktop.PackageKit.Failed"), \
QStringLiteral("Unsupported resource type")); + }
}
//Query
bool PkInterface::IsInstalled(const QString &package_name, const QString \
&interaction) {
- auto task = new PkIsInstalled(package_name, interaction, message());
- show(task);
+ show(new PkIsInstalled(package_name, interaction, message()));
// This is discarted
return false;
}
@@ -180,8 +170,7 @@ bool PkInterface::IsInstalled(const QString &package_name, const \
QString &intera bool PkInterface::SearchFile(const QString &file_name, const QString \
&interaction, QString &package_name) {
Q_UNUSED(package_name)
- auto task = new PkSearchFile(file_name, interaction, message());
- show(task);
+ show(new PkSearchFile(file_name, interaction, message()));
// This is discarted
return false;
}
diff --git a/PkSession/PkInterface.h b/PkSession/PkInterface.h
index c496354..be1a352 100644
--- a/PkSession/PkInterface.h
+++ b/PkSession/PkInterface.h
@@ -41,10 +41,10 @@ public Q_SLOTS:
void InstallMimeTypes(uint xid, const QStringList &mime_types, const QString \
&interaction);
void InstallPackageFiles(uint xid, const QStringList &files, const QString \
&interaction);
void InstallPackageNames(uint xid, const QStringList &packages, const QString \
&interaction);
- void InstallProvideFiles(uint xid, const QStringList &files, const QString \
&interaction);
- void RemovePackageByFiles(uint xid, const QStringList &files, const QString \
&interaction);
void InstallPrinterDrivers(uint xid, const QStringList &resources, const QString \
&interaction); + void InstallProvideFiles(uint xid, const QStringList &files, \
const QString &interaction);
void InstallResources(uint xid, const QString &type, const QStringList \
&resources, const QString &interaction); + void RemovePackageByFiles(uint xid, \
const QStringList &files, const QString &interaction); //Query
bool IsInstalled(const QString &package_name, const QString &interaction);
bool SearchFile(const QString &file_name, const QString &interaction, QString \
&package_name);
diff --git a/PkSession/PkSession.cpp b/PkSession/PkSession.cpp
index 38f8681..742c80f 100644
--- a/PkSession/PkSession.cpp
+++ b/PkSession/PkSession.cpp
@@ -25,9 +25,6 @@
#include <QApplication>
#include <KLocalizedString>
-//#include <KCmdLineArgs>
-//#include <KDebug>
-//#include <KGlobal>
#include <QLoggingCategory>
@@ -39,10 +36,9 @@ Q_DECLARE_LOGGING_CATEGORY(APPER_SESSION)
using namespace PackageKit;
-PkSession::PkSession(QObject* parent)
- : QObject(parent)
+PkSession::PkSession(QObject* parent) : QObject(parent)
+ , m_pkInterface(new PkInterface(this))
{
- m_pkInterface = new PkInterface(this);
connect(m_pkInterface, &PkInterface::close, this, &PkSession::prepareToClose);
Daemon::global()->setHints(QLatin1String("locale=") + QLocale::system().name() + \
QLatin1String(".UTF-8"));
diff --git a/PkSession/PkSession.h b/PkSession/PkSession.h
index ed21cec..70c6ae5 100644
--- a/PkSession/PkSession.h
+++ b/PkSession/PkSession.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2011 by Daniel Nicoletti *
+ * Copyright (C) 2008-2018 by Daniel Nicoletti *
* dantti12@gmail.com *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -29,7 +29,7 @@ class PkSession : public QObject
{
Q_OBJECT
public:
- explicit PkSession(QObject* parent = 0);
+ explicit PkSession(QObject* parent = nullptr);
virtual ~PkSession();
int newInstance();
diff --git a/PkSession/SessionTask.cpp b/PkSession/SessionTask.cpp
index b5c4ace..d7e63e3 100644
--- a/PkSession/SessionTask.cpp
+++ b/PkSession/SessionTask.cpp
@@ -57,8 +57,6 @@ SessionTask::SessionTask(uint xid, const QString &interaction, \
const QDBusMessag QDialog(parent),
m_xid(xid),
m_message(message),
- m_reviewChanges(0),
- m_pkTransaction(0),
ui(new Ui::SessionTask)
{
ui->setupUi(this);
@@ -71,10 +69,16 @@ SessionTask::SessionTask(uint xid, const QString &interaction, \
const QDBusMessag updatePallete();
setWindowIcon(QIcon::fromTheme("system-software-install"));
-// setButtons(KDialog::Ok | KDialog::Cancel);
-// setButtonText(KDialog::Ok, i18n("Continue"));
-// setButtonIcon(KDialog::Ok, QIcon::fromTheme("go-next"));
+ QPushButton *okButton = ui->buttonBox->button(QDialogButtonBox::Ok);
+ okButton->setText(i18n("Continue"));
+ okButton->setIcon(QIcon::fromTheme("go-next"));
enableButtonOk(false);
+ connect(okButton, &QPushButton::clicked, this, \
&SessionTask::slotContinueClicked); +
+ QPushButton *cancelButton = ui->buttonBox->button(QDialogButtonBox::Cancel);
+ connect(cancelButton, &QPushButton::clicked, this, \
&SessionTask::slotCancelClicked); +
+
Daemon::global()->setHints(QLatin1String("locale=") + QLocale::system().name() + \
QLatin1String(".UTF-8"));
@@ -133,14 +137,15 @@ void SessionTask::searchFinished(PkTransaction::ExitStatus \
status) m_model->finished();
if (m_model->rowCount() == 0) {
notFound();
+ showCloseButton();
} else {
searchSuccess();
}
} else if (status == PkTransaction::Cancelled) {
- // TODO PORT
-// slotButtonClicked(KDialog::Cancel);
+ cancelClicked();
} else {
searchFailed();
+ showCloseButton();
}
}
@@ -156,12 +161,13 @@ void SessionTask::commitFinished(PkTransaction::ExitStatus \
status) removePackages();
} else {
commitSuccess();
+ showCloseButton();
}
} else if (status == PkTransaction::Cancelled) {
- // TODO PORT
-// slotButtonClicked(KDialog::Cancel);
+ cancelClicked();
} else {
commitFailed();
+ showCloseButton();
}
}
@@ -185,10 +191,10 @@ void SessionTask::setDialog(QDialog *dialog)
commitSuccess(dialog);
} else {
// Set the new ones
-// setMainWidget(dialog->mainWidget());
+ setMainWidget(dialog);
// setTitle(dialog->windowTitle()); // must come after
-// connect(this, SIGNAL(okClicked()),
-// dialog, SLOT(accept()));
+ connect(this, &SessionTask::continueClicked, dialog, &QDialog::accept);
+// connect(this, &SessionTask::continueClicked, dia, &QDialog::accept);
// connect(this, SIGNAL(okClicked()),
// dialog->mainWidget(), SLOT(deleteLater()));
// connect(this, SIGNAL(okClicked()),
@@ -197,10 +203,8 @@ void SessionTask::setDialog(QDialog *dialog)
// Make sure we see the last widget and title
auto mapper = new QSignalMapper(this);
mapper->setMapping(this, widget);
- connect(this, SIGNAL(okClicked()),
- mapper, SLOT(map()));
- connect(mapper, SIGNAL(mapped(QWidget*)),
- this, SLOT(setMainWidget(QWidget*)));
+ connect(this, &SessionTask::continueClicked, mapper, \
QOverload<>::of(&QSignalMapper::map)); + connect(mapper, \
QOverload<QWidget*>::of(&QSignalMapper::mapped), this, &SessionTask::setMainWidget); \
enableButtonOk(true); }
}
@@ -426,7 +430,7 @@ void SessionTask::commitFailed()
// This should not be used to display stuff as the transaction should
// emit error() or info()
// setInfo(i18n("Failed to commit transaction"),
-// PkStrings::errorMessage(m_pkTransaction->error()));
+// PkStrings::errsearchFailedorMessage(m_pkTransaction->error()));
sendErrorFinished(Failed, i18n("Transaction did not finish with success"));
}
@@ -437,23 +441,12 @@ void SessionTask::commitSuccess(QWidget *widget)
finishTaskOk();
}
-void SessionTask::slotButtonClicked(int button)
+void SessionTask::showCloseButton()
{
- if (button == QDialogButtonBox::Ok) {
-// qCDebug(APPER_SESSION) << mainWidget()->objectName();
- if (qobject_cast<IntroDialog*>(mainWidget())) {
- enableButtonOk(false);
- search();
- } else if (qobject_cast<ReviewChanges*>(mainWidget())) {
- enableButtonOk(false);
- commit();
- } else {
-// emit okClicked();
- }
- } else {
-// KDialog::slotButtonClicked(button);
- sendErrorFinished(Cancelled, "Aborted by the user");
- }
+ ui->buttonBox->setStandardButtons(QDialogButtonBox::Close);
+ QPushButton *closeBt = ui->buttonBox->button(QDialogButtonBox::Close);
+ closeBt->setDefault(true);
+ connect(closeBt, &QPushButton::clicked, this, &SessionTask::accept);
}
void SessionTask::sendErrorFinished(DBusError error, const QString &msg)
@@ -461,23 +454,22 @@ void SessionTask::sendErrorFinished(DBusError error, const \
QString &msg) QString dbusError;
switch (error) {
case Failed:
- dbusError = "org.freedesktop.PackageKit.Failed";
+ dbusError = QLatin1String("org.freedesktop.PackageKit.Failed");
break;
case InternalError:
- dbusError = "org.freedesktop.PackageKit.InternalError";
+ dbusError = QLatin1String("org.freedesktop.PackageKit.InternalError");
break;
case NoPackagesFound:
- dbusError = "org.freedesktop.PackageKit.NoPackagesFound";
+ dbusError = QLatin1String("org.freedesktop.PackageKit.NoPackagesFound");
break;
case Forbidden:
- dbusError = "org.freedesktop.PackageKit.Forbidden";
+ dbusError = QLatin1String("org.freedesktop.PackageKit.Forbidden");
break;
case Cancelled:
- dbusError = "org.freedesktop.PackageKit.Cancelled";
+ dbusError = QLatin1String("org.freedesktop.PackageKit.Cancelled");
break;
}
- QDBusMessage reply;
- reply = m_message.createErrorReply(dbusError, msg);
+ QDBusMessage reply = m_message.createErrorReply(dbusError, msg);
QDBusConnection::sessionBus().send(reply);
}
@@ -492,12 +484,34 @@ uint SessionTask::parentWId() const
return m_xid;
}
-void SessionTask::enableButtonOk(bool state)
+void SessionTask::slotContinueClicked()
+{
+ if (qobject_cast<IntroDialog*>(mainWidget())) {
+ enableButtonOk(false);
+ search();
+ } else if (qobject_cast<ReviewChanges*>(mainWidget())) {
+ enableButtonOk(false);
+ commit();
+ } else {
+// emit okClicked();
+ }
+}
+
+void SessionTask::slotCancelClicked()
{
-// KDialog::enableButtonOk(state);
- if (state) {
+ emit cancelClicked();
+ sendErrorFinished(Cancelled, "Aborted by the user");
+ reject();
+
+}
+
+void SessionTask::enableButtonOk(bool enable)
+{
+ QPushButton *okButton = ui->buttonBox->button(QDialogButtonBox::Ok);
+ okButton->setEnabled(enable);
+ if (enable) {
// When enabling the Continue button put focus on it
-// button(KDialog::Ok)->setFocus();
+ okButton->setFocus();
}
}
@@ -590,16 +604,11 @@ void SessionTask::setTransaction(Transaction::Role role, \
PkTransaction *t)
ui->stackedWidget->addWidget(m_pkTransaction);
connect(m_pkTransaction, &PkTransactionWidget::titleChanged, this, \
&SessionTask::setTitle);
- connect(this, SIGNAL(cancelClicked()),
- m_pkTransaction, SLOT(cancel()));
- connect(m_pkTransaction, SIGNAL(dialog(KDialog*)),
- this, SLOT(setDialog(KDialog*)));
- connect(m_pkTransaction, SIGNAL(sorry(QString,QString,QString)),
- this, SLOT(setInfo(QString,QString,QString)));
- connect(m_pkTransaction, SIGNAL(error(QString,QString,QString)),
- this, SLOT(setError(QString,QString,QString)));
+ connect(this, &SessionTask::cancelClicked, m_pkTransaction, \
&PkTransactionWidget::cancel); + connect(m_pkTransaction, \
&PkTransactionWidget::dialog, this, &SessionTask::setDialog); + \
connect(m_pkTransaction, &PkTransactionWidget::sorry, this, &SessionTask::setInfo); + \
connect(m_pkTransaction, &PkTransactionWidget::error, this, &SessionTask::setError); \
}
-
if (t) {
m_pkTransaction->setTransaction(t, role);
// setTitle(m_pkTransaction->title());
diff --git a/PkSession/SessionTask.h b/PkSession/SessionTask.h
index 9643271..d69f393 100644
--- a/PkSession/SessionTask.h
+++ b/PkSession/SessionTask.h
@@ -74,16 +74,21 @@ public:
bool showFinished() const;
bool showWarning() const;
- virtual void slotButtonClicked(int button);
-
Interactions interactions() const;
uint timeout() const;
QWidget* mainWidget();
uint parentWId() const;
+ void slotContinueClicked();
+ void slotCancelClicked();
+
+Q_SIGNALS:
+ void continueClicked();
+ void cancelClicked();
+
public Q_SLOTS:
- void enableButtonOk(bool state);
+ void enableButtonOk(bool enable);
void setMainWidget(QWidget *widget);
protected:
@@ -96,6 +101,7 @@ protected:
virtual void commitFailed();
virtual void commitSuccess(QWidget *widget = 0);
+ void showCloseButton();
bool foundPackages() const;
int foundPackagesSize() const;
PackageModel* model() const;
@@ -134,8 +140,8 @@ private:
uint m_timeout;
PackageModel *m_model;
QStringList m_removePackages;
- ReviewChanges *m_reviewChanges;
- PkTransactionWidget *m_pkTransaction;
+ ReviewChanges *m_reviewChanges = nullptr;
+ PkTransactionWidget *m_pkTransaction = nullptr;
Ui::SessionTask *ui;
};
diff --git a/PkSession/SessionTask.ui b/PkSession/SessionTask.ui
index afbee28..7ab0552 100644
--- a/PkSession/SessionTask.ui
+++ b/PkSession/SessionTask.ui
@@ -11,9 +11,6 @@
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
- <property name="margin">
- <number>0</number>
- </property>
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
@@ -26,7 +23,16 @@
<property name="spacing">
<number>0</number>
</property>
- <property name="margin">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
<number>0</number>
</property>
<item>
@@ -38,7 +44,16 @@
<property name="spacing">
<number>0</number>
</property>
- <property name="margin">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
<number>0</number>
</property>
<item>
@@ -63,6 +78,13 @@
<item>
<widget class="QStackedWidget" name="stackedWidget"/>
</item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
<resources/>
diff --git a/libapper/Requirements.cpp b/libapper/Requirements.cpp
index 37979e4..99c9689 100644
--- a/libapper/Requirements.cpp
+++ b/libapper/Requirements.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2011 by Daniel Nicoletti *
+ * Copyright (C) 2008-2018 by Daniel Nicoletti *
* dantti12@gmail.com *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -34,15 +34,13 @@
Requirements::Requirements(PackageModel *model, QWidget *parent) :
QDialog(parent),
- m_embed(false),
- m_shouldShow(true),
- m_untrustedButton(0),
ui(new Ui::Requirements)
{
+ ui->setupUi(this);
+
setAttribute(Qt::WA_DeleteOnClose);
- ui->setupUi(this);
- connect(ui->confirmCB, SIGNAL(toggled(bool)), this, \
SLOT(on_confirmCB_Toggled(bool))); + connect(ui->confirmCB, &QCheckBox::toggled, \
this, &Requirements::confirmCBChanged);
ApplicationSortFilterModel *proxy = new ApplicationSortFilterModel(this);
proxy->setSourceModel(model);
@@ -54,8 +52,6 @@ Requirements::Requirements(PackageModel *model, QWidget *parent) :
ui->packageView->header()->hideSection(PackageModel::OriginCol);
ui->packageView->header()->hideSection(PackageModel::SizeCol);
- m_hideAutoConfirm = false;
-
setWindowTitle(i18n("Additional changes"));
setWindowIcon(QIcon::fromTheme("dialog-warning"));
ui->buttonBox->button(QDialogButtonBox::Ok)->setText(i18n("Continue"));
@@ -234,7 +230,7 @@ void Requirements::slotButtonClicked(int)
// }
}
-void Requirements::on_confirmCB_Toggled(bool checked)
+void Requirements::confirmCBChanged(bool checked)
{
KConfig config("apper");
KConfigGroup requirementsDialog(&config, "requirementsDialog");
diff --git a/libapper/Requirements.h b/libapper/Requirements.h
index 9c7d86a..730644b 100644
--- a/libapper/Requirements.h
+++ b/libapper/Requirements.h
@@ -50,16 +50,16 @@ protected Q_SLOTS:
virtual void slotButtonClicked(int button);
private Q_SLOTS:
- void on_confirmCB_Toggled(bool checked);
void actionClicked(int type);
private:
+ void confirmCBChanged(bool checked);
void showUntrustedButton();
- bool m_embed;
- bool m_shouldShow;
- bool m_hideAutoConfirm;
- QToolButton *m_untrustedButton;
+ bool m_embed = false;
+ bool m_shouldShow = true;
+ bool m_hideAutoConfirm = false;
+ QToolButton *m_untrustedButton = nullptr;
QButtonGroup *m_buttonGroup;
Ui::Requirements *ui;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic