diff --git a/src/declarative/pkupdates.h b/src/declarative/pkupdates.h --- a/src/declarative/pkupdates.h +++ b/src/declarative/pkupdates.h @@ -144,6 +144,11 @@ */ void done(); + /** + * Emitted after updates were installed successfully + */ + void updatesInstalled(); + /** * Emitted with update details * @see getUpdateDetails() diff --git a/src/declarative/pkupdates.cpp b/src/declarative/pkupdates.cpp --- a/src/declarative/pkupdates.cpp +++ b/src/declarative/pkupdates.cpp @@ -395,6 +395,7 @@ KNotification::event(KNotification::Notification, i18n("Updates Installed"), i18np("Successfully updated %1 package", "Successfully updated %1 packages", packages.count()), KIconLoader::global()->loadIcon("system-software-update", KIconLoader::Desktop), 0, KNotification::Persistent); + emit updatesInstalled(); } else { qCDebug(PLASMA_PK_UPDATES) << "Update packages transaction didn't finish successfully"; // just try to refresh cache in case of error, the user might have installed the updates manually meanwhile diff --git a/src/plasma/contents/ui/Full.qml b/src/plasma/contents/ui/Full.qml --- a/src/plasma/contents/ui/Full.qml +++ b/src/plasma/contents/ui/Full.qml @@ -45,6 +45,7 @@ target: PkUpdates onUpdatesChanged: populateModel() onUpdateDetail: updateDetails(packageID, updateText, urls) + onUpdatesInstalled: plasmoid.expanded = false } Component.onCompleted: populateModel()