From 1f70d8fa2f268d26374a8c138648fc75edbd73dd Mon Sep 17 00:00:00 2001 From: Mavridis Philippe Date: Tue, 24 Sep 2024 23:51:43 +0300 Subject: Superkaramba: minor code refactoring/restyling in memsensor Signed-off-by: Mavridis Philippe --- superkaramba/src/memsensor.cpp | 68 ++++++++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 25 deletions(-) diff --git a/superkaramba/src/memsensor.cpp b/superkaramba/src/memsensor.cpp index 8da5d58..3223b0b 100644 --- a/superkaramba/src/memsensor.cpp +++ b/superkaramba/src/memsensor.cpp @@ -210,9 +210,9 @@ int MemSensor::getSwapTotal() mib[1] = VM_UVMEXP; ssize = sizeof(uvmexp); - if (sysctl(mib,2,&uvmexp,&ssize,NULL,0) != -1) { - pagesize = uvmexp.pagesize; - STotal = (pagesize*uvmexp.swpages) >> 10; + if (sysctl(mib, 2, &uvmexp, &ssize, NULL, 0) != -1) { + pagesize = uvmexp.pagesize; + STotal = (pagesize*uvmexp.swpages) >> 10; } return STotal; #else @@ -254,10 +254,10 @@ int MemSensor::getSwapFree() ssize = sizeof(uvmexp); if (sysctl(mib,2,&uvmexp,&ssize,NULL,0) != -1) { - pagesize = uvmexp.pagesize; - STotal = (pagesize*uvmexp.swpages) >> 10; - SUsed = (pagesize*uvmexp.swpginuse) >> 10; - SFree = STotal - SUsed; + pagesize = uvmexp.pagesize; + STotal = (pagesize*uvmexp.swpages) >> 10; + SUsed = (pagesize*uvmexp.swpginuse) >> 10; + SFree = STotal - SUsed; } return SFree; #else @@ -287,6 +287,9 @@ void MemSensor::readValues() #endif } +#define SUB_FORMAT_STR(fstring, value) \ + format.replace(TQRegExp(#fstring, false), TQString::number((int)(value))); + void MemSensor::update() { readValues(); @@ -319,34 +322,38 @@ void MemSensor::update() format = "%um"; } - format.replace( TQRegExp("%fmbp", false), TQString::number( (int)((totalMem - usedMemNoBuffers) * 100.0 / totalMem) )); - format.replace( TQRegExp("%fmb", false), TQString::number( (int)((totalMem - usedMemNoBuffers) / 1024.0 + 0.5) )); - format.replace( TQRegExp("%fmp", false), TQString::number( (int)((totalMem - usedMem) * 100.0 / totalMem) )); - format.replace( TQRegExp("%fm", false), TQString::number( (int)((totalMem - usedMem) / 1024.0 + 0.5) )); + SUB_FORMAT_STR(%fmbp, (totalMem - usedMemNoBuffers) * 100.0 / totalMem) + SUB_FORMAT_STR(%fmb, (totalMem - usedMemNoBuffers) / 1024.0 + 0.5) + SUB_FORMAT_STR(%fmp, (totalMem - usedMem) * 100.0 / totalMem) + SUB_FORMAT_STR(%fm, (totalMem - usedMem) / 1024.0 + 0.5) - format.replace( TQRegExp("%umbp", false), TQString::number( (int)(usedMemNoBuffers * 100.0 / totalMem) )); - format.replace( TQRegExp("%umb", false), TQString::number( (int)(usedMemNoBuffers / 1024.0 + 0.5) )); - format.replace( TQRegExp("%ump", false), TQString::number( (int)(usedMem * 100.0 / totalMem) )); - format.replace( TQRegExp("%um", false), TQString::number( (int)(usedMem / 1024.0 + 0.5) )); + SUB_FORMAT_STR(%umbp, usedMemNoBuffers * 100.0 / totalMem) + SUB_FORMAT_STR(%umb, usedMemNoBuffers / 1024.0 + 0.5) + SUB_FORMAT_STR(%ump, usedMem * 100.0 / totalMem) + SUB_FORMAT_STR(%um, usedMem / 1024.0 + 0.5) - format.replace( TQRegExp("%tm", false), TQString::number( (int)(totalMem / 1024.0 + 0.5) )); + SUB_FORMAT_STR(%tm, totalMem / 1024.0 + 0.5) - format.replace( TQRegExp("%fsp", false), TQString::number( (int)((totalSwap - usedSwap) * 100.0 / totalSwap) )); - format.replace( TQRegExp("%fs", false), TQString::number( (int)((totalSwap - usedSwap) / 1024.0 + 0.5) )); - format.replace( TQRegExp("%usp", false), TQString::number( (int)(usedSwap * 100.0 / totalSwap) )); - format.replace( TQRegExp("%us", false), TQString::number( (int)(usedSwap / 1024.0 + 0.5) )); + SUB_FORMAT_STR(%fsp, (totalSwap - usedSwap) * 100.0 / totalSwap) + SUB_FORMAT_STR(%fs, (totalSwap - usedSwap) / 1024.0 + 0.5) + SUB_FORMAT_STR(%usp, usedSwap * 100.0 / totalSwap) + SUB_FORMAT_STR(%us, usedSwap / 1024.0 + 0.5) - format.replace( TQRegExp("%ts", false), TQString::number( (int)(totalSwap / 1024.0 + 0.5) )); + SUB_FORMAT_STR(%ts, totalSwap / 1024.0 + 0.5) meter->setValue(format); ++it; } #if defined(Q_OS_FREEBSD) && !(defined(__FreeBSD_version) && __FreeBSD_version >= 500018) if (set) + { MaxSet = true; + } #endif } +#undef SUB_FORMAT_STR + void MemSensor::setMaxValue( SensorParams *sp ) { Meter *meter; @@ -358,10 +365,21 @@ void MemSensor::setMaxValue( SensorParams *sp ) { f = "%um"; } - if( f=="%fm" || f== "%um" || f=="%fmb" || f=="%umb" ) - meter->setMax( getMemTotal() / 1024 ); - if( f=="%fs" || f== "%us" ) - meter->setMax( getSwapTotal() / 1024 ); + + else if (f.endsWith("p")) + { + meter->setMax(100); + } + + else if (f == "%fm" || f == "%um" || f == "%fmb" || f == "%umb") + { + meter->setMax(getMemTotal() / 1024); + } + + else if (f == "%fs" || f == "%us") + { + meter->setMax(getSwapTotal() / 1024); + } } #include "memsensor.moc" -- cgit v1.2.1