Changeset View
Changeset View
Standalone View
Standalone View
src/declarative/pkupdates.cpp
Show First 20 Lines • Show All 48 Lines • ▼ Show 20 Line(s) | 46 | { | |||
---|---|---|---|---|---|
49 | connect(PackageKit::Daemon::global(), &PackageKit::Daemon::changed, this, &PkUpdates::onChanged); | 49 | connect(PackageKit::Daemon::global(), &PackageKit::Daemon::changed, this, &PkUpdates::onChanged); | ||
50 | connect(PackageKit::Daemon::global(), &PackageKit::Daemon::updatesChanged, this, &PkUpdates::onUpdatesChanged); | 50 | connect(PackageKit::Daemon::global(), &PackageKit::Daemon::updatesChanged, this, &PkUpdates::onUpdatesChanged); | ||
51 | connect(PackageKit::Daemon::global(), &PackageKit::Daemon::networkStateChanged, this, &PkUpdates::networkStateChanged); | 51 | connect(PackageKit::Daemon::global(), &PackageKit::Daemon::networkStateChanged, this, &PkUpdates::networkStateChanged); | ||
52 | connect(Solid::PowerManagement::notifier(), &Solid::PowerManagement::Notifier::resumingFromSuspend, this, | 52 | connect(Solid::PowerManagement::notifier(), &Solid::PowerManagement::Notifier::resumingFromSuspend, this, | ||
53 | [this] {PackageKit::Daemon::stateHasChanged(QStringLiteral("resume"));}); | 53 | [this] {PackageKit::Daemon::stateHasChanged(QStringLiteral("resume"));}); | ||
54 | 54 | | |||
55 | connect(Solid::PowerManagement::notifier(), &Solid::PowerManagement::Notifier::appShouldConserveResourcesChanged, | 55 | connect(Solid::PowerManagement::notifier(), &Solid::PowerManagement::Notifier::appShouldConserveResourcesChanged, | ||
56 | this, &PkUpdates::isOnBatteryChanged); | 56 | this, &PkUpdates::isOnBatteryChanged); | ||
57 | | ||||
58 | connect(PackageKit::Daemon::global(), &PackageKit::Daemon::networkStateChanged, this, &PkUpdates::doDelayedCheckUpdates); | ||||
59 | connect(this, &PkUpdates::isActiveChanged, this, &PkUpdates::messageChanged); | ||||
60 | connect(this, &PkUpdates::networkStateChanged, this, &PkUpdates::messageChanged); | ||||
57 | } | 61 | } | ||
58 | 62 | | |||
59 | PkUpdates::~PkUpdates() | 63 | PkUpdates::~PkUpdates() | ||
60 | { | 64 | { | ||
61 | if (m_cacheTrans) { | 65 | if (m_cacheTrans) { | ||
62 | if (m_cacheTrans->allowCancel()) | 66 | if (m_cacheTrans->allowCancel()) | ||
63 | m_cacheTrans->cancel(); | 67 | m_cacheTrans->cancel(); | ||
64 | m_cacheTrans->deleteLater(); | 68 | m_cacheTrans->deleteLater(); | ||
▲ Show 20 Lines • Show All 97 Lines • ▼ Show 20 Line(s) | |||||
162 | } | 166 | } | ||
163 | 167 | | |||
164 | bool PkUpdates::isNetworkOnline() const | 168 | bool PkUpdates::isNetworkOnline() const | ||
165 | { | 169 | { | ||
166 | qCDebug(PLASMA_PK_UPDATES) << "Is net online:" << (PackageKit::Daemon::networkState() > PackageKit::Daemon::Network::NetworkOffline); | 170 | qCDebug(PLASMA_PK_UPDATES) << "Is net online:" << (PackageKit::Daemon::networkState() > PackageKit::Daemon::Network::NetworkOffline); | ||
167 | return (PackageKit::Daemon::networkState() > PackageKit::Daemon::Network::NetworkOffline); | 171 | return (PackageKit::Daemon::networkState() > PackageKit::Daemon::Network::NetworkOffline); | ||
168 | } | 172 | } | ||
169 | 173 | | |||
174 | void PkUpdates::doDelayedCheckUpdates() | ||||
175 | { | ||||
176 | if (m_checkUpdatesWhenNetworkOnline && isNetworkOnline()) | ||||
177 | { | ||||
178 | qCDebug(PLASMA_PK_UPDATES) << "CheckUpdates was delayed. Doing it now"; | ||||
179 | m_checkUpdatesWhenNetworkOnline = false; | ||||
180 | checkUpdates(); | ||||
181 | } | ||||
182 | } | ||||
183 | | ||||
170 | bool PkUpdates::isNetworkMobile() const | 184 | bool PkUpdates::isNetworkMobile() const | ||
171 | { | 185 | { | ||
172 | qCDebug(PLASMA_PK_UPDATES) << "Is net mobile:" << (PackageKit::Daemon::networkState() == PackageKit::Daemon::Network::NetworkMobile); | 186 | qCDebug(PLASMA_PK_UPDATES) << "Is net mobile:" << (PackageKit::Daemon::networkState() == PackageKit::Daemon::Network::NetworkMobile); | ||
173 | return (PackageKit::Daemon::networkState() == PackageKit::Daemon::Network::NetworkMobile); | 187 | return (PackageKit::Daemon::networkState() == PackageKit::Daemon::Network::NetworkMobile); | ||
174 | } | 188 | } | ||
175 | 189 | | |||
176 | bool PkUpdates::isOnBattery() const | 190 | bool PkUpdates::isOnBattery() const | ||
177 | { | 191 | { | ||
Show All 15 Lines | 204 | { | |||
193 | if (lastCheck != -1) | 207 | if (lastCheck != -1) | ||
194 | return i18n("Last check: %1 ago", KFormat().formatSpelloutDuration(lastCheck)); | 208 | return i18n("Last check: %1 ago", KFormat().formatSpelloutDuration(lastCheck)); | ||
195 | 209 | | |||
196 | return i18n("Last check: never"); | 210 | return i18n("Last check: never"); | ||
197 | } | 211 | } | ||
198 | 212 | | |||
199 | void PkUpdates::checkUpdates(bool force) | 213 | void PkUpdates::checkUpdates(bool force) | ||
200 | { | 214 | { | ||
215 | if (!isNetworkOnline()) | ||||
216 | { | ||||
217 | qCDebug(PLASMA_PK_UPDATES) << "Checking updates delayed. Network is offline"; | ||||
218 | m_checkUpdatesWhenNetworkOnline = true; | ||||
219 | return; | ||||
220 | } | ||||
201 | qCDebug(PLASMA_PK_UPDATES) << "Checking updates, forced"; | 221 | qCDebug(PLASMA_PK_UPDATES) << "Checking updates, forced"; | ||
202 | 222 | | |||
203 | // ask the Packagekit daemon to refresh the cache | 223 | // ask the Packagekit daemon to refresh the cache | ||
204 | m_cacheTrans = PackageKit::Daemon::refreshCache(force); | 224 | m_cacheTrans = PackageKit::Daemon::refreshCache(force); | ||
205 | setActivity(CheckingUpdates); | 225 | setActivity(CheckingUpdates); | ||
206 | 226 | | |||
207 | // evaluate the result | 227 | // evaluate the result | ||
208 | connect(m_cacheTrans.data(), &PackageKit::Transaction::statusChanged, this, &PkUpdates::onStatusChanged); | 228 | connect(m_cacheTrans.data(), &PackageKit::Transaction::statusChanged, this, &PkUpdates::onStatusChanged); | ||
▲ Show 20 Lines • Show All 306 Lines • Show Last 20 Lines |