From 4cea6007792bae0bb77e009d8bd036d53038ea44 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Oliver=20Gro=C3=9F?= Date: Tue, 9 Jun 2009 23:25:07 +0200 Subject: [PATCH] update battery data when AC was (un)plugged --- powermanager.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/powermanager.cpp b/powermanager.cpp index 79a7831..9a72a7b 100644 --- a/powermanager.cpp +++ b/powermanager.cpp @@ -109,6 +109,7 @@ namespace qbat { void CPowerManager::updateSupplies() { if (CBatteryIcon::sysfsDir.exists()) { + bool oldAC = m_ACPlug; m_ACPlug = false; QStringList powerSupplies = CBatteryIcon::sysfsDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot); @@ -132,7 +133,6 @@ namespace qbat { currentBatteryIcon = new CBatteryIcon(i, &m_Settings, &m_ContextMenu, this); currentBatteryIcon->updateData(); currentBatteryIcon->updateIcon(); - updateMergedData(); m_CriticalHandled = false; } newBatteryIcons << currentBatteryIcon; @@ -142,12 +142,12 @@ namespace qbat { foreach(CBatteryIcon * i, m_BatteryIcons) delete i; - //TODO check if this doesn't imply mem leaks m_BatteryIcons.clear(); foreach(CBatteryIcon * i, newBatteryIcons) m_BatteryIcons.insert(i->batteryName(), i); + m_DefaultTrayIcon.setVisible(m_BatteryIcons.isEmpty()); if (m_ACPlug) @@ -155,6 +155,11 @@ namespace qbat { else m_DefaultTrayIcon.setToolTip("QBat - " + tr("AC adapter unplugged")); + if (oldAC != m_ACPlug) + updateBatteryData(); + else + updateMergedData(); + checkCritical(); } else { -- 2.11.4.GIT