Pre-release 1.1.2

widget:
  + added function to update network device (100*time_interval)
  + added cpu clock label ($cpucl)
configuration window:
  + added cpu clock configuration
  + changed update sliders
This commit is contained in:
arcan1s 2013-02-25 18:59:54 +04:00
parent 6fe6bb2c92
commit 44baadcccc
5 changed files with 403 additions and 158 deletions

View File

@ -10,13 +10,14 @@ from PyKDE4 import plasmascript
class ConfigWindow(QWidget):
def __init__(self, parent, settings):
"""Settings window definition"""
"""settings window definition"""
QWidget.__init__(self)
self.ui = uic.loadUi(parent.package().filePath('ui', 'configwindow.ui'), self)
self.parent = parent
QObject.connect(self.ui.checkBox_bat, SIGNAL("stateChanged(int)"), self.batStatus)
QObject.connect(self.ui.checkBox_cpu, SIGNAL("stateChanged(int)"), self.cpuStatus)
QObject.connect(self.ui.checkBox_cpuclock, SIGNAL("stateChanged(int)"), self.cpuclockStatus)
QObject.connect(self.ui.checkBox_mem, SIGNAL("stateChanged(int)"), self.memStatus)
QObject.connect(self.ui.checkBox_net, SIGNAL("stateChanged(int)"), self.netStatus)
QObject.connect(self.ui.checkBox_swap, SIGNAL("stateChanged(int)"), self.swapStatus)
@ -24,6 +25,7 @@ class ConfigWindow(QWidget):
QObject.connect(self.ui.slider_bat, SIGNAL("valueChanged(int)"), self.setBat)
QObject.connect(self.ui.slider_cpu, SIGNAL("valueChanged(int)"), self.setCpu)
QObject.connect(self.ui.slider_cpuclock, SIGNAL("valueChanged(int)"), self.setCpuclock)
QObject.connect(self.ui.slider_mem, SIGNAL("valueChanged(int)"), self.setMem)
QObject.connect(self.ui.slider_net, SIGNAL("valueChanged(int)"), self.setNet)
QObject.connect(self.ui.slider_swap, SIGNAL("valueChanged(int)"), self.setSwap)
@ -51,6 +53,17 @@ class ConfigWindow(QWidget):
self.ui.slider_cpu.setDisabled(True)
self.setSlider()
def cpuclockStatus(self):
"""function to enable cpuclock label"""
if (self.ui.checkBox_cpuclock.checkState() == 2):
self.ui.lineEdit_cpuclock.setEnabled(True)
self.ui.slider_cpuclock.setEnabled(True)
self.setSlider()
else:
self.ui.lineEdit_cpuclock.setDisabled(True)
self.ui.slider_cpuclock.setDisabled(True)
self.setSlider()
def memStatus(self):
"""function to enable memory label"""
if (self.ui.checkBox_mem.checkState() == 2):
@ -102,117 +115,156 @@ class ConfigWindow(QWidget):
if (self.ui.checkBox_cpu.checkState() == 2):
if (self.ui.slider_cpu.value() == self.ui.slider_bat.value()):
self.ui.slider_cpu.setValue(self.oldValue())
if (self.ui.checkBox_mem.checkState() == 2):
if (self.ui.slider_mem.value() == self.ui.slider_bat.value()):
self.ui.slider_mem.setValue(self.oldValue())
if (self.ui.checkBox_net.checkState() == 2):
if (self.ui.slider_net.value() == self.ui.slider_bat.value()):
self.ui.slider_net.setValue(self.oldValue())
if (self.ui.checkBox_swap.checkState() == 2):
if (self.ui.slider_swap.value() == self.ui.slider_bat.value()):
self.ui.slider_swap.setValue(self.oldValue())
if (self.ui.checkBox_cpuclock.checkState() == 2):
if (self.ui.slider_cpuclock.value() == self.ui.slider_bat.value()):
self.ui.slider_cpuclock.setValue(self.oldValue())
if (self.ui.checkBox_temp.checkState() == 2):
if (self.ui.slider_temp.value() == self.ui.slider_bat.value()):
self.ui.slider_temp.setValue(self.oldValue())
if (self.ui.checkBox_mem.checkState() == 2):
if (self.ui.slider_mem.value() == self.ui.slider_bat.value()):
self.ui.slider_mem.setValue(self.oldValue())
if (self.ui.checkBox_swap.checkState() == 2):
if (self.ui.slider_swap.value() == self.ui.slider_bat.value()):
self.ui.slider_swap.setValue(self.oldValue())
if (self.ui.checkBox_net.checkState() == 2):
if (self.ui.slider_net.value() == self.ui.slider_bat.value()):
self.ui.slider_net.setValue(self.oldValue())
def setCpu(self):
"""function to set sliders"""
if (self.ui.checkBox_bat.checkState() == 2):
if (self.ui.slider_bat.value() == self.ui.slider_cpu.value()):
self.ui.slider_bat.setValue(self.oldValue())
if (self.ui.checkBox_mem.checkState() == 2):
if (self.ui.slider_mem.value() == self.ui.slider_cpu.value()):
self.ui.slider_mem.setValue(self.oldValue())
if (self.ui.checkBox_net.checkState() == 2):
if (self.ui.slider_net.value() == self.ui.slider_cpu.value()):
self.ui.slider_net.setValue(self.oldValue())
if (self.ui.checkBox_swap.checkState() == 2):
if (self.ui.slider_swap.value() == self.ui.slider_cpu.value()):
self.ui.slider_swap.setValue(self.oldValue())
if (self.ui.checkBox_cpuclock.checkState() == 2):
if (self.ui.slider_cpuclock.value() == self.ui.slider_cpu.value()):
self.ui.slider_cpuclock.setValue(self.oldValue())
if (self.ui.checkBox_temp.checkState() == 2):
if (self.ui.slider_temp.value() == self.ui.slider_cpu.value()):
self.ui.slider_temp.setValue(self.oldValue())
if (self.ui.checkBox_mem.checkState() == 2):
if (self.ui.slider_mem.value() == self.ui.slider_cpu.value()):
self.ui.slider_mem.setValue(self.oldValue())
if (self.ui.checkBox_swap.checkState() == 2):
if (self.ui.slider_swap.value() == self.ui.slider_cpu.value()):
self.ui.slider_swap.setValue(self.oldValue())
if (self.ui.checkBox_net.checkState() == 2):
if (self.ui.slider_net.value() == self.ui.slider_cpu.value()):
self.ui.slider_net.setValue(self.oldValue())
if (self.ui.checkBox_bat.checkState() == 2):
if (self.ui.slider_bat.value() == self.ui.slider_cpu.value()):
self.ui.slider_bat.setValue(self.oldValue())
def setCpuclock(self):
"""function to set sliders"""
if (self.ui.checkBox_cpu.checkState() == 2):
if (self.ui.slider_cpu.value() == self.ui.slider_cpuclock.value()):
self.ui.slider_cpu.setValue(self.oldValue())
if (self.ui.checkBox_temp.checkState() == 2):
if (self.ui.slider_temp.value() == self.ui.slider_cpuclock.value()):
self.ui.slider_temp.setValue(self.oldValue())
if (self.ui.checkBox_mem.checkState() == 2):
if (self.ui.slider_mem.value() == self.ui.slider_cpuclock.value()):
self.ui.slider_mem.setValue(self.oldValue())
if (self.ui.checkBox_swap.checkState() == 2):
if (self.ui.slider_swap.value() == self.ui.slider_cpuclock.value()):
self.ui.slider_swap.setValue(self.oldValue())
if (self.ui.checkBox_net.checkState() == 2):
if (self.ui.slider_net.value() == self.ui.slider_cpuclock.value()):
self.ui.slider_net.setValue(self.oldValue())
if (self.ui.checkBox_bat.checkState() == 2):
if (self.ui.slider_bat.value() == self.ui.slider_cpuclock.value()):
self.ui.slider_bat.setValue(self.oldValue())
def setMem(self):
"""function to set sliders"""
if (self.ui.checkBox_bat.checkState() == 2):
if (self.ui.slider_bat.value() == self.ui.slider_mem.value()):
self.ui.slider_bat.setValue(self.oldValue())
if (self.ui.checkBox_cpu.checkState() == 2):
if (self.ui.slider_cpu.value() == self.ui.slider_mem.value()):
self.ui.slider_cpu.setValue(self.oldValue())
if (self.ui.checkBox_net.checkState() == 2):
if (self.ui.slider_net.value() == self.ui.slider_mem.value()):
self.ui.slider_net.setValue(self.oldValue())
if (self.ui.checkBox_swap.checkState() == 2):
if (self.ui.slider_swap.value() == self.ui.slider_mem.value()):
self.ui.slider_swap.setValue(self.oldValue())
if (self.ui.checkBox_cpuclock.checkState() == 2):
if (self.ui.slider_cpuclock.value() == self.ui.slider_mem.value()):
self.ui.slider_cpuclock.setValue(self.oldValue())
if (self.ui.checkBox_temp.checkState() == 2):
if (self.ui.slider_temp.value() == self.ui.slider_mem.value()):
self.ui.slider_temp.setValue(self.oldValue())
if (self.ui.checkBox_swap.checkState() == 2):
if (self.ui.slider_swap.value() == self.ui.slider_mem.value()):
self.ui.slider_swap.setValue(self.oldValue())
if (self.ui.checkBox_net.checkState() == 2):
if (self.ui.slider_net.value() == self.ui.slider_mem.value()):
self.ui.slider_net.setValue(self.oldValue())
if (self.ui.checkBox_bat.checkState() == 2):
if (self.ui.slider_bat.value() == self.ui.slider_mem.value()):
self.ui.slider_bat.setValue(self.oldValue())
def setNet(self):
"""function to set sliders"""
if (self.ui.checkBox_bat.checkState() == 2):
if (self.ui.slider_bat.value() == self.ui.slider_net.value()):
self.ui.slider_bat.setValue(self.oldValue())
if (self.ui.checkBox_cpu.checkState() == 2):
if (self.ui.slider_cpu.value() == self.ui.slider_net.value()):
self.ui.slider_cpu.setValue(self.oldValue())
if (self.ui.checkBox_cpuclock.checkState() == 2):
if (self.ui.slider_cpuclock.value() == self.ui.slider_net.value()):
self.ui.slider_cpuclock.setValue(self.oldValue())
if (self.ui.checkBox_temp.checkState() == 2):
if (self.ui.slider_temp.value() == self.ui.slider_net.value()):
self.ui.slider_temp.setValue(self.oldValue())
if (self.ui.checkBox_mem.checkState() == 2):
if (self.ui.slider_mem.value() == self.ui.slider_net.value()):
self.ui.slider_mem.setValue(self.oldValue())
if (self.ui.checkBox_swap.checkState() == 2):
if (self.ui.slider_swap.value() == self.ui.slider_net.value()):
self.ui.slider_swap.setValue(self.oldValue())
if (self.ui.checkBox_temp.checkState() == 2):
if (self.ui.slider_temp.value() == self.ui.slider_net.value()):
self.ui.slider_temp.setValue(self.oldValue())
if (self.ui.checkBox_bat.checkState() == 2):
if (self.ui.slider_bat.value() == self.ui.slider_net.value()):
self.ui.slider_bat.setValue(self.oldValue())
def setSwap(self):
"""function to set sliders"""
if (self.ui.checkBox_bat.checkState() == 2):
if (self.ui.slider_bat.value() == self.ui.slider_swap.value()):
self.ui.slider_bat.setValue(self.oldValue())
if (self.ui.checkBox_cpu.checkState() == 2):
if (self.ui.slider_cpu.value() == self.ui.slider_swap.value()):
self.ui.slider_cpu.setValue(self.oldValue())
if (self.ui.checkBox_cpuclock.checkState() == 2):
if (self.ui.slider_cpuclock.value() == self.ui.slider_swap.value()):
self.ui.slider_cpuclock.setValue(self.oldValue())
if (self.ui.checkBox_temp.checkState() == 2):
if (self.ui.slider_temp.value() == self.ui.slider_swap.value()):
self.ui.slider_temp.setValue(self.oldValue())
if (self.ui.checkBox_mem.checkState() == 2):
if (self.ui.slider_mem.value() == self.ui.slider_swap.value()):
self.ui.slider_mem.setValue(self.oldValue())
if (self.ui.checkBox_net.checkState() == 2):
if (self.ui.slider_net.value() == self.ui.slider_swap.value()):
self.ui.slider_net.setValue(self.oldValue())
if (self.ui.checkBox_net.checkState() == 2):
if (self.ui.slider_temp.value() == self.ui.slider_swap.value()):
self.ui.slider_temp.setValue(self.oldValue())
if (self.ui.checkBox_bat.checkState() == 2):
if (self.ui.slider_bat.value() == self.ui.slider_swap.value()):
self.ui.slider_bat.setValue(self.oldValue())
def setTemp(self):
"""function to set sliders"""
if (self.ui.checkBox_bat.checkState() == 2):
if (self.ui.slider_bat.value() == self.ui.slider_temp.value()):
self.ui.slider_bat.setValue(self.oldValue())
if (self.ui.checkBox_cpu.checkState() == 2):
if (self.ui.slider_cpu.value() == self.ui.slider_temp.value()):
self.ui.slider_cpu.setValue(self.oldValue())
if (self.ui.checkBox_cpuclock.checkState() == 2):
if (self.ui.slider_cpuclock.value() == self.ui.slider_swap.value()):
self.ui.slider_cpuclock.setValue(self.oldValue())
if (self.ui.checkBox_mem.checkState() == 2):
if (self.ui.slider_mem.value() == self.ui.slider_temp.value()):
self.ui.slider_mem.setValue(self.oldValue())
if (self.ui.checkBox_net.checkState() == 2):
if (self.ui.slider_net.value() == self.ui.slider_temp.value()):
self.ui.slider_net.setValue(self.oldValue())
if (self.ui.checkBox_swap.checkState() == 2):
if (self.ui.slider_swap.value() == self.ui.slider_temp.value()):
self.ui.slider_swap.setValue(self.oldValue())
if (self.ui.checkBox_net.checkState() == 2):
if (self.ui.slider_net.value() == self.ui.slider_temp.value()):
self.ui.slider_net.setValue(self.oldValue())
if (self.ui.checkBox_bat.checkState() == 2):
if (self.ui.slider_bat.value() == self.ui.slider_temp.value()):
self.ui.slider_bat.setValue(self.oldValue())
def setSlider(self):
"""function to reset sliders"""
self.ui.slider_bat.setMaximum(6)
self.ui.slider_cpu.setMaximum(6)
self.ui.slider_mem.setMaximum(6)
self.ui.slider_net.setMaximum(6)
self.ui.slider_swap.setMaximum(6)
self.ui.slider_temp.setMaximum(6)
self.ui.slider_bat.setMaximum(7)
self.ui.slider_cpu.setMaximum(7)
self.ui.slider_cpuclock.setMaximum(7)
self.ui.slider_net.setMaximum(7)
self.ui.slider_swap.setMaximum(7)
self.ui.slider_temp.setMaximum(7)
count = 0
if (self.ui.checkBox_bat.checkState() == 2):
count += 1
@ -220,6 +272,9 @@ class ConfigWindow(QWidget):
if (self.ui.checkBox_cpu.checkState() == 2):
count += 1
self.ui.slider_cpu.setValue(count)
if (self.ui.checkBox_cpuclock.checkState() == 2):
count += 1
self.ui.slider_cpuclock.setValue(count)
if (self.ui.checkBox_mem.checkState() == 2):
count += 1
self.ui.slider_mem.setValue(count)
@ -234,6 +289,7 @@ class ConfigWindow(QWidget):
self.ui.slider_temp.setValue(count)
self.ui.slider_bat.setMaximum(count)
self.ui.slider_cpu.setMaximum(count)
self.ui.slider_cpuclock.setMaximum(count)
self.ui.slider_mem.setMaximum(count)
self.ui.slider_net.setMaximum(count)
self.ui.slider_swap.setMaximum(count)
@ -241,27 +297,30 @@ class ConfigWindow(QWidget):
def oldValue(self):
"""function for set* functions"""
oldOrder = "------"
oldOrder = "-------"
count = 0
if (self.ui.checkBox_bat.checkState() == 2):
oldOrder = oldOrder[:5] + str(self.ui.slider_bat.value())
oldOrder = oldOrder[:6] + str(self.ui.slider_bat.value())
count += 1
if (self.ui.checkBox_cpu.checkState() == 2):
oldOrder = str(self.ui.slider_cpu.value()) + oldOrder[0:]
count += 1
if (self.ui.checkBox_cpuclock.checkState() == 2):
oldOrder = oldOrder[:1] + str(self.ui.slider_cpuclock.value()) + oldOrder[2:]
count += 1
if (self.ui.checkBox_mem.checkState() == 2):
oldOrder = oldOrder[:2] + str(self.ui.slider_mem.value()) + oldOrder[3:]
oldOrder = oldOrder[:3] + str(self.ui.slider_mem.value()) + oldOrder[4:]
count += 1
if (self.ui.checkBox_net.checkState() == 2):
oldOrder = oldOrder[:4] + str(self.ui.slider_net.value()) + oldOrder[5:]
oldOrder = oldOrder[:5] + str(self.ui.slider_net.value()) + oldOrder[6:]
count += 1
if (self.ui.checkBox_swap.checkState() == 2):
oldOrder = oldOrder[:3] + str(self.ui.slider_swap.value()) + oldOrder[4:]
oldOrder = oldOrder[:4] + str(self.ui.slider_swap.value()) + oldOrder[5:]
count += 1
if (self.ui.checkBox_temp.checkState() == 2):
oldOrder = oldOrder[:1] + str(self.ui.slider_temp.value()) + oldOrder[2:]
oldOrder = oldOrder[:2] + str(self.ui.slider_temp.value()) + oldOrder[3:]
count += 1
for value in range(count+1):
if ((oldOrder.find(str(value)) == -1) and (int(value) != 0)):
for value in range(count+1)[1:]:
if (oldOrder.find(str(value)) == -1):
return int(value)

View File

@ -24,9 +24,8 @@ class pyTextWidget(plasmascript.Applet):
"""function to initializate widget"""
self._name = str(self.package().metadata().pluginName())
self.layout = QGraphicsLinearLayout(Qt.Horizontal, self.applet)
self.setHasConfigurationInterface(True)
self.reinit()
self.setHasConfigurationInterface(True)
def configAccepted(self):
"""function to accept settings"""
@ -43,90 +42,99 @@ class pyTextWidget(plasmascript.Applet):
self.settings.set('font_style', self.font_style)
# disconnecting from source and clear layout
if (self.cpuBool):
if (self.cpuBool == 1):
self.systemmonitor.disconnectSource("cpu/system/TotalLoad", self)
self.label_cpu.setText('')
self.layout.removeItem(self.label_cpu)
if (self.tempBool):
if (self.cpuclockBool == 1):
self.systemmonitor.disconnectSource("cpu/system/AverageClock", self)
self.label_cpuclock.setText('')
self.layout.removeItem(self.label_cpuclock)
if (self.tempBool == 1):
self.systemmonitor.disconnectSource(self.tempdev, self)
self.label_temp.setText('')
self.layout.removeItem(self.label_temp)
if (self.memBool):
if (self.memInMb):
self.systemmonitor.disconnectSource("mem/physical/application", self)
else:
if (self.memBool == 1):
self.systemmonitor.disconnectSource("mem/physical/application", self)
if (self.memInMb == False):
self.systemmonitor.disconnectSource("mem/physical/free", self)
self.systemmonitor.disconnectSource("mem/physical/used", self)
self.systemmonitor.disconnectSource("mem/physical/application", self)
self.label_mem.setText('')
self.layout.removeItem(self.label_mem)
if (self.swapBool):
if (self.swapInMb):
self.systemmonitor.disconnectSource("mem/swap/used", self)
else:
if (self.swapBool == 1):
self.systemmonitor.disconnectSource("mem/swap/used", self)
if (self.swapInMb == False):
self.systemmonitor.disconnectSource("mem/swap/free", self)
self.systemmonitor.disconnectSource("mem/swap/used", self)
self.label_swap.setText('')
self.layout.removeItem(self.label_swap)
if (self.netBool):
self.systemmonitor.disconnectSource("network/interfaces/", self)
self.systemmonitor.disconnectSource("network/interfaces/", self)
if (self.netBool == 1):
self.systemmonitor.disconnectSource("network/interfaces/"+self.netdev+"/transmitter/data", self)
self.systemmonitor.disconnectSource("network/interfaces/"+self.netdev+"/receiver/data", self)
self.label_netDown.setText('')
self.label_netUp.setText('')
self.layout.removeItem(self.label_netUp)
self.layout.removeItem(self.label_netDown)
if (self.batBool):
if (self.batBool == 1):
self.label_bat.setText('')
self.layout. removeItem(self.label_bat)
self.layout.removeItem(self.label_bat)
self.label_order = "------"
self.label_order = "-------"
if (self.configpage.ui.checkBox_cpu.checkState() == 2):
self.cpuBool = True
self.cpuBool = 1
pos = self.configpage.ui.slider_cpu.value() - 1
self.label_order = self.label_order[:pos] + "1" + self.label_order[pos+1:]
else:
self.cpuBool = False
self.cpuBool = 0
self.cpuFormat = str(self.configpage.ui.lineEdit_cpu.text())
self.settings.set('cpuBool', self.cpuBool)
self.settings.set('cpuFormat', self.cpuFormat)
if (self.configpage.ui.checkBox_cpuclock.checkState() == 2):
self.cpuclockBool = 1
pos = self.configpage.ui.slider_cpuclock.value() - 1
self.label_order = self.label_order[:pos] + "7" + self.label_order[pos+1:]
else:
self.cpuclockBool = 0
self.cpuclockFormat = str(self.configpage.ui.lineEdit_cpuclock.text())
self.settings.set('cpuclockBool', self.cpuclockBool)
self.settings.set('cpuclockFormat', self.cpuclockFormat)
if (self.configpage.ui.checkBox_temp.checkState() == 2):
self.tempBool = True
self.tempBool = 1
pos = self.configpage.ui.slider_temp.value() - 1
self.label_order = self.label_order[:pos] + "2" + self.label_order[pos+1:]
else:
self.tempBool = False
self.tempBool = 0
self.tempFormat = str(self.configpage.ui.lineEdit_temp.text())
self.settings.set('tempBool', self.tempBool)
self.settings.set('tempFormat', self.tempFormat)
if (self.configpage.ui.checkBox_mem.checkState() == 2):
self.memBool = True
self.memBool = 1
pos = self.configpage.ui.slider_mem.value() - 1
self.label_order = self.label_order[:pos] + "3" + self.label_order[pos+1:]
else:
self.memBool = False
self.memBool = 0
self.memFormat = str(self.configpage.ui.lineEdit_mem.text())
self.settings.set('memBool', self.memBool)
self.settings.set('memFormat', self.memFormat)
if (self.configpage.ui.checkBox_swap.checkState() == 2):
self.swapBool = True
self.swapBool = 1
pos = self.configpage.ui.slider_swap.value() - 1
self.label_order = self.label_order[:pos] + "4" + self.label_order[pos+1:]
else:
self.swapBool = False
self.swapBool = 0
self.swapFormat = str(self.configpage.ui.lineEdit_swap.text())
self.settings.set('swapBool', self.swapBool)
self.settings.set('swapFormat', self.swapFormat)
if (self.configpage.ui.checkBox_net.checkState() == 2):
self.netBool = True
self.netBool = 1
pos = self.configpage.ui.slider_net.value() - 1
self.label_order = self.label_order[:pos] + "5" + self.label_order[pos+1:]
self.label_order = self.label_order[:pos] + "5" + self.label_order[pos+1:]
else:
self.netBool = False
self.netBool = 0
self.netNonFormat = str(self.configpage.ui.lineEdit_net.text())
self.num_dev = int(self.configpage.ui.comboBox_numNet.currentIndex())
self.settings.set('netBool', self.netBool)
@ -134,21 +142,21 @@ class pyTextWidget(plasmascript.Applet):
self.settings.set('num_dev', self.num_dev)
if (self.configpage.ui.checkBox_bat.checkState() == 2):
self.batBool = True
self.batBool = 1
pos = self.configpage.ui.slider_bat.value() - 1
self.label_order = self.label_order[:pos] + "6" + self.label_order[pos+1:]
else:
self.batBool = False
self.batBool = 0
self.batFormat = str(self.configpage.ui.lineEdit_bat.text())
self.settings.set('batBool', self.batBool)
self.label_order = self.label_order.split('-')[0]
self.settings.set('label_order', self.label_order)
self.settings.set('batFormat', self.batFormat)
self.label_order = ''.join(self.label_order.split('-'))
self.settings.set('label_order', self.label_order)
# reinitializate
self.reinit()
def createConfigurationInterface(self, parent):
"""function to setup configuration window"""
self.configpage = ConfigWindow(self, self.settings)
@ -160,80 +168,92 @@ class pyTextWidget(plasmascript.Applet):
self.configpage.ui.kcolorcombo.setColor(QColor(str(self.settings.get('font_color', '#000000'))))
self.configpage.ui.lineEdit_style.setText(str(self.settings.get('font_style', 'normal')))
if (self.cpuBool):
if (self.cpuBool == 1):
self.configpage.ui.checkBox_cpu.setCheckState(2)
self.configpage.ui.slider_cpu.setMaximum(len(self.label_order))
self.configpage.ui.slider_cpu.setValue(self.label_order.find("1")+1)
self.configpage.ui.slider_cpu.setEnabled(True)
self.configpage.ui.lineEdit_cpu.setEnabled(True)
self.configpage.ui.lineEdit_cpu.setText(str(self.settings.get('cpuFormat', '[cpu: $cpu%]')))
else:
self.configpage.ui.checkBox_cpu.setCheckState(0)
self.configpage.ui.slider_cpu.setDisabled(True)
self.configpage.ui.lineEdit_cpu.setDisabled(True)
self.configpage.ui.lineEdit_cpu.setText(str(self.settings.get('cpuFormat', '[cpu: $cpu%]')))
if (self.tempBool):
if (self.cpuclockBool == 1):
self.configpage.ui.checkBox_cpuclock.setCheckState(2)
self.configpage.ui.slider_cpuclock.setMaximum(len(self.label_order))
self.configpage.ui.slider_cpuclock.setValue(self.label_order.find("7")+1)
self.configpage.ui.slider_cpuclock.setEnabled(True)
self.configpage.ui.lineEdit_cpuclock.setEnabled(True)
else:
self.configpage.ui.checkBox_cpuclock.setCheckState(0)
self.configpage.ui.slider_cpuclock.setDisabled(True)
self.configpage.ui.lineEdit_cpuclock.setDisabled(True)
self.configpage.ui.lineEdit_cpuclock.setText(str(self.settings.get('cpuclockFormat', '[MHz: $cpucl]')))
if (self.tempBool == 1):
self.configpage.ui.checkBox_temp.setCheckState(2)
self.configpage.ui.slider_temp.setMaximum(len(self.label_order))
self.configpage.ui.slider_temp.setValue(self.label_order.find("2")+1)
self.configpage.ui.slider_temp.setEnabled(True)
self.configpage.ui.lineEdit_temp.setEnabled(True)
self.configpage.ui.lineEdit_temp.setText(str(self.settings.get('tempFormat', '[temp: $temp°C]')))
else:
self.configpage.ui.checkBox_temp.setCheckState(0)
self.configpage.ui.slider_temp.setDisabled(True)
self.configpage.ui.lineEdit_temp.setDisabled(True)
self.configpage.ui.lineEdit_temp.setText(str(self.settings.get('tempFormat', '[temp: $temp°C]')))
if (self.memBool):
if (self.memBool == 1):
self.configpage.ui.checkBox_mem.setCheckState(2)
self.configpage.ui.slider_mem.setMaximum(len(self.label_order))
self.configpage.ui.slider_mem.setValue(self.label_order.find("3")+1)
self.configpage.ui.slider_mem.setEnabled(True)
self.configpage.ui.lineEdit_mem.setEnabled(True)
self.configpage.ui.lineEdit_mem.setText(str(self.settings.get('memFormat', '[mem: $mem%]')))
else:
self.configpage.ui.checkBox_mem.setCheckState(0)
self.configpage.ui.slider_mem.setDisabled(True)
self.configpage.ui.lineEdit_mem.setDisabled(True)
self.configpage.ui.lineEdit_mem.setText(str(self.settings.get('memFormat', '[mem: $mem%]')))
if (self.swapBool):
if (self.swapBool == 1):
self.configpage.ui.checkBox_swap.setCheckState(2)
self.configpage.ui.slider_swap.setMaximum(len(self.label_order))
self.configpage.ui.slider_swap.setValue(self.label_order.find("4")+1)
self.configpage.ui.slider_swap.setEnabled(True)
self.configpage.ui.lineEdit_swap.setEnabled(True)
self.configpage.ui.lineEdit_swap.setText(str(self.settings.get('swapFormat', '[swap: $swap%]')))
else:
self.configpage.ui.checkBox_swap.setCheckState(0)
self.configpage.ui.slider_swap.setDisabled(True)
self.configpage.ui.lineEdit_swap.setDisabled(True)
self.configpage.ui.lineEdit_swap.setText(str(self.settings.get('swapFormat', '[swap: $swap%]')))
if (self.netBool):
if (self.netBool == 1):
self.configpage.ui.checkBox_net.setCheckState(2)
self.configpage.ui.slider_net.setMaximum(len(self.label_order))
self.configpage.ui.slider_net.setValue(self.label_order.find("5")+1)
self.configpage.ui.slider_net.setEnabled(True)
self.configpage.ui.lineEdit_net.setEnabled(True)
self.configpage.ui.comboBox_numNet.setEnabled(True)
self.configpage.ui.comboBox_numNet.setCurrentIndex(int(self.settings.get('num_dev', 0)))
self.configpage.ui.lineEdit_net.setText(str(self.settings.get('netNonFormat', '[net: $net%]')))
else:
self.configpage.ui.checkBox_swap.setCheckState(0)
self.configpage.ui.slider_net.setDisabled(True)
self.configpage.ui.comboBox_numNet.setDisabled(True)
self.configpage.ui.lineEdit_swap.setDisabled(True)
self.configpage.ui.comboBox_numNet.setCurrentIndex(int(self.settings.get('num_dev', 0)))
self.configpage.ui.lineEdit_net.setText(str(self.settings.get('netNonFormat', '[net: $netKB/s]')))
if (self.batBool):
if (self.batBool == 1):
self.configpage.ui.checkBox_bat.setCheckState(2)
self.configpage.ui.slider_bat.setMaximum(len(self.label_order))
self.configpage.ui.slider_bat.setValue(self.label_order.find("6")+1)
self.configpage.ui.slider_bat.setEnabled(True)
self.configpage.ui.lineEdit_bat.setEnabled(True)
self.configpage.ui.lineEdit_bat.setText(str(self.settings.get('batFormat', '[bat: $bat%]')))
else:
self.configpage.ui.checkBox_bat.setCheckState(0)
self.configpage.ui.slider_bat.setDisabled(True)
self.configpage.ui.lineEdit_bat.setDisabled(True)
self.configpage.ui.lineEdit_bat.setText(str(self.settings.get('batFormat', '[bat: $bat%]')))
# add config page
page = parent.addPage(self.configpage, i18n(self.name()))
@ -253,20 +273,43 @@ class pyTextWidget(plasmascript.Applet):
self.formatLine = self.formatLine +"pt; font-style:" + self.font_style +";\">"
self.formatLine = self.formatLine + "<p align=\"center\"><span style=\" color:" + self.font_color + ";\"><pre>$LINE"
self.formatLine = self.formatLine + "</pre></span></p></body></html>"
self.label_order = str(self.settings.get('label_order', '123456'))
self.label_order = str(self.settings.get('label_order', '1723456'))
self.cpuBool = int(self.settings.get('cpuBool', 1))
self.cpuclockBool = int(self.settings.get('cpuclockBool', 1))
self.tempBool = int(self.settings.get('tempBool', 1))
self.memBool = int(self.settings.get('memBool', 1))
self.swapBool = int(self.settings.get('swapBool', 1))
self.netBool = int(self.settings.get('netBool', 1))
self.batBool = int(self.settings.get('batBool', 1))
# small function for update if errors exists
if (len(self.label_order) != sum([self.cpuBool, self.cpuclockBool, self.tempBool, self.memBool, self.swapBool, self.netBool, self.batBool])):
self.cpuBool = 1
self.settings.set('cpuBool', self.cpuBool)
self.cpuclockBool = 1
self.settings.set('cpuclockBool', self.cpuclockBool)
self.tempBool = 1
self.settings.set('tempBool', self.tempBool)
self.memBool = 1
self.settings.set('memBool', self.memBool)
self.swapBool = 1
self.settings.set('swapBool', self.swapBool)
self.netBool = 1
self.settings.set('netBool', self.netBool)
self.batBool = 1
self.settings.set('batBool', self.batBool)
self.label_order = '1723456'
self.settings.set('label_order', self.label_order)
for order in self.label_order:
if (order == "1"):
self.cpuBool = self.settings.get('cpuBool', True)
if (self.cpuBool):
if (self.cpuBool == 1):
self.cpuFormat = str(self.settings.get('cpuFormat', '[cpu: $cpu%]'))
self.label_cpu = Plasma.Label(self.applet)
text = self.formatLine.split('$LINE')[0] + self.cpuFormat.split('$cpu')[0] + '-----' + self.cpuFormat.split('$cpu')[1] + self.formatLine.split('$LINE')[1]
self.label_cpu.setText(text)
self.layout.addItem(self.label_cpu)
elif (order == "2"):
self.tempBool = self.settings.get('tempBool', True)
if (self.tempBool):
if (self.tempBool == 1):
self.tempFormat = str(self.settings.get('tempFormat', '[temp: $temp&deg;C]'))
self.setupTemp()
self.label_temp = Plasma.Label(self.applet)
@ -274,8 +317,7 @@ class pyTextWidget(plasmascript.Applet):
self.label_temp.setText(text)
self.layout.addItem(self.label_temp)
elif (order == "3"):
self.memBool = self.settings.get('memBool', True)
if (self.memBool):
if (self.memBool == 1):
self.memFormat = str(self.settings.get('memFormat', '[mem: $mem%]'))
if (self.memFormat.split('$memmb')[0] != self.memFormat):
self.memInMb = True
@ -290,8 +332,7 @@ class pyTextWidget(plasmascript.Applet):
self.label_mem.setText(text)
self.layout.addItem(self.label_mem)
elif (order == "4"):
self.swapBool = self.settings.get('swapBool', True)
if (self.swapBool):
if (self.swapBool == 1):
self.swapFormat = str(self.settings.get('swapFormat', '[swap: $swap%]'))
if (self.swapFormat.split('$swapmb')[0] != self.swapFormat):
self.swapInMb = True
@ -305,36 +346,40 @@ class pyTextWidget(plasmascript.Applet):
self.label_swap.setText(text)
self.layout.addItem(self.label_swap)
elif (order == "5"):
self.netBool = self.settings.get('netBool', True)
if (self.netBool):
if (self.netBool == 1):
self.netNonFormat = str(self.settings.get('netNonFormat', '[net: $netKB/s]'))
if (self.netNonFormat.split('@@netdev=')[0] != self.netNonFormat):
self.netdev = self.netNonFormat.split('@@')[1].split('netdev=')[1]
self.netNonFormat = self.netNonFormat.split('@@')[0] + self.netNonFormat.split('@@')[2]
else:
self.num_dev = int(self.settings.get('num_dev', 0))
self.setupNetdev()
if (self.netNonFormat.split('$netdev')[0] != self.netNonFormat):
self.netFormat = self.netNonFormat.split('$netdev')[0] + self.netdev + self.netNonFormat.split('$netdev')[1]
else:
self.netFormat = self.netNonFormat
self.label_netDown = Plasma.Label(self.applet)
text = self.formatLine.split('$LINE')[0] + self.netFormat.split('$net')[0] + '----' + self.formatLine.split('$LINE')[1]
self.label_netDown.setText(text)
self.layout.addItem(self.label_netDown)
self.label_netUp = Plasma.Label(self.applet)
text = self.formatLine.split('$LINE')[0] + '/----' + self.netFormat.split('$net')[1] + self.formatLine.split('$LINE')[1]
self.label_netUp.setText(text)
self.layout.addItem(self.label_netUp)
if (self.netNonFormat.split('@@netdev=')[0] != self.netNonFormat):
self.netdev = self.netNonFormat.split('@@')[1].split('netdev=')[1]
self.netNonFormat = self.netNonFormat.split('@@')[0] + self.netNonFormat.split('@@')[2]
else:
self.num_dev = int(self.settings.get('num_dev', 0))
self.setupNetdev()
if (self.netNonFormat.split('$netdev')[0] != self.netNonFormat):
self.netFormat = self.netNonFormat.split('$netdev')[0] + self.netdev + self.netNonFormat.split('$netdev')[1]
else:
self.netFormat = self.netNonFormat
self.label_netDown = Plasma.Label(self.applet)
text = self.formatLine.split('$LINE')[0] + self.netFormat.split('$net')[0] + '----' + self.formatLine.split('$LINE')[1]
self.label_netDown.setText(text)
self.layout.addItem(self.label_netDown)
self.label_netUp = Plasma.Label(self.applet)
text = self.formatLine.split('$LINE')[0] + '/----' + self.netFormat.split('$net')[1] + self.formatLine.split('$LINE')[1]
self.label_netUp.setText(text)
self.layout.addItem(self.label_netUp)
elif (order == "6"):
self.batBool = self.settings.get('batBool', True)
if (self.batBool):
if (self.batBool == 1):
self.batFormat = str(self.settings.get('batFormat', '[bat: $bat%]'))
self.label_bat = Plasma.Label(self.applet)
text = self.formatLine.split('$LINE')[0] + self.batFormat.split('$bat')[0] + '---' + self.batFormat.split('$bat')[1] + self.formatLine.split('$LINE')[1]
self.label_bat.setText(text)
self.layout.addItem(self.label_bat)
elif (order == "7"):
if (self.cpuclockBool == 1):
self.cpuclockFormat = str(self.settings.get('cpuclockFormat', '[MHz: $cpucl]'))
self.label_cpuclock = Plasma.Label(self.applet)
text = self.formatLine.split('$LINE')[0] + self.cpuclockFormat.split('$cpucl')[0] + '----' + self.cpuclockFormat.split('$cpucl')[1] + self.formatLine.split('$LINE')[1]
self.label_cpuclock.setText(text)
self.layout.addItem(self.label_cpuclock)
self.applet.setLayout(self.layout)
self.theme = Plasma.Svg(self)
self.theme.setImagePath("widgets/background")
@ -393,16 +438,18 @@ class pyTextWidget(plasmascript.Applet):
self.showTooltip('')
except Exception as (strerror):
self.showTooltip(str(strerror))
self.label.setText('<font color="red">ERROR</font>')
self.label_error = Plasma.Label(self.applet)
self.label_error.setText('<font color="red">ERROR</font>')
self.layout.addItem(self.label_error)
return
def updateLabel(self):
"""function to update label"""
if ((self.memBool) and (self.memInMb == False)):
if ((self.memBool == 1) and (self.memInMb == False)):
self.memText()
if ((self.swapBool) and (self.swapInMb == False)):
if ((self.swapBool == 1) and (self.swapInMb == False)):
self.swapText()
if (self.batBool):
if (self.batBool == 1):
self.batText()
def batText(self):
@ -434,21 +481,24 @@ class pyTextWidget(plasmascript.Applet):
def connectToEngine(self):
"""function to initializate engine"""
self.systemmonitor = self.dataEngine("systemmonitor")
if (self.cpuBool):
if (self.cpuBool == 1):
self.systemmonitor.connectSource("cpu/system/TotalLoad", self, self.interval)
if (self.netBool):
if (self.cpuclockBool == 1):
self.systemmonitor.connectSource("cpu/system/AverageClock", self, self.interval)
if (self.netBool == 1):
self.updateNetdev = 0
self.systemmonitor.connectSource("network/interfaces/"+self.netdev+"/transmitter/data", self, self.interval)
self.systemmonitor.connectSource("network/interfaces/"+self.netdev+"/receiver/data", self, self.interval)
if (self.tempBool):
if (self.tempBool == 1):
self.systemmonitor.connectSource(self.tempdev, self, self.interval)
if (self.memBool):
if (self.memBool == 1):
if (self.memInMb):
self.systemmonitor.connectSource("mem/physical/application", self, self.interval)
else:
self.systemmonitor.connectSource("mem/physical/free", self, 200)
self.systemmonitor.connectSource("mem/physical/used", self, 200)
self.systemmonitor.connectSource("mem/physical/application", self, 200)
if (self.swapBool):
if (self.swapBool == 1):
if (self.swapInMb):
self.systemmonitor.connectSource("mem/swap/used", self, self.interval)
else:
@ -464,6 +514,12 @@ class pyTextWidget(plasmascript.Applet):
line = self.cpuFormat.split('$cpu')[0] + cpuText + self.cpuFormat.split('$cpu')[1]
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_cpu.setText(text)
elif (sourceName == "cpu/system/AverageClock"):
value = str(data[QString(u'value')]).split('.')[0]
cpuclockText = "%4s" % (value)
line = self.cpuclockFormat.split('$cpucl')[0] + cpuclockText + self.cpuclockFormat.split('$cpucl')[1]
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_cpuclock.setText(text)
elif (sourceName == "network/interfaces/"+self.netdev+"/transmitter/data"):
value = str(data[QString(u'value')]).split('.')[0]
up_speed = "%4s" % (value)
@ -476,6 +532,20 @@ class pyTextWidget(plasmascript.Applet):
line = self.netFormat.split('$net')[0] + down_speed
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_netDown.setText(text)
# update network device
self.updateNetdev = self.updateNetdev + 1
if (self.updateNetdev == 100):
self.updateNetdev = 0
if (self.netNonFormat.split('@@netdev=')[0] == self.netNonFormat):
self.systemmonitor.disconnectSource("network/interfaces/"+self.netdev+"/transmitter/data", self)
self.systemmonitor.disconnectSource("network/interfaces/"+self.netdev+"/receiver/data", self)
self.setupNetdev()
self.systemmonitor.connectSource("network/interfaces/"+self.netdev+"/transmitter/data", self, self.interval)
self.systemmonitor.connectSource("network/interfaces/"+self.netdev+"/receiver/data", self, self.interval)
if (self.netNonFormat.split('$netdev')[0] != self.netNonFormat):
self.netFormat = self.netNonFormat.split('$netdev')[0] + self.netdev + self.netNonFormat.split('$netdev')[1]
else:
self.netFormat = self.netNonFormat
elif (sourceName == self.tempdev):
value = str(round(float(data[QString(u'value')]), 1))
tempText = "%4s" % (value)

View File

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>519</width>
<height>382</height>
<height>383</height>
</rect>
</property>
<property name="sizePolicy">
@ -19,7 +19,7 @@
<property name="minimumSize">
<size>
<width>519</width>
<height>382</height>
<height>383</height>
</size>
</property>
<property name="maximumSize">
@ -161,6 +161,117 @@
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_cpuclock" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_12">
<item>
<widget class="QCheckBox" name="checkBox_cpuclock">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>111</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>111</width>
<height>25</height>
</size>
</property>
<property name="text">
<string notr="true">CPU Clock</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_cpuclock">
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QSlider" name="slider_cpuclock">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>111</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>111</width>
<height>25</height>
</size>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>7</number>
</property>
<property name="singleStep">
<number>6</number>
</property>
<property name="pageStep">
<number>1</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition">
<enum>QSlider::TicksAbove</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_temp" native="true">
<property name="sizePolicy">
@ -1202,6 +1313,7 @@
<zorder>widget_swap</zorder>
<zorder>widget_net</zorder>
<zorder>widget_bat</zorder>
<zorder>widget_cpuclock</zorder>
</widget>
</item>
<item row="1" column="0">
@ -1232,6 +1344,9 @@
<tabstop>checkBox_cpu</tabstop>
<tabstop>lineEdit_cpu</tabstop>
<tabstop>slider_cpu</tabstop>
<tabstop>checkBox_cpuclock</tabstop>
<tabstop>lineEdit_cpuclock</tabstop>
<tabstop>slider_cpuclock</tabstop>
<tabstop>checkBox_temp</tabstop>
<tabstop>lineEdit_temp</tabstop>
<tabstop>slider_temp</tabstop>

View File

@ -9,7 +9,7 @@ X-Plasma-MainScript=code/main.py
X-KDE-PluginInfo-Author=Evgeniy Alexeev aka arcanis
X-KDE-PluginInfo-Email=esalexeev@gmail.com
X-KDE-PluginInfo-Name=py-text-monitor
X-KDE-PluginInfo-Version=1.1.1
X-KDE-PluginInfo-Version=1.1.2
X-KDE-PluginInfo-Website=http://kde-look.org/
X-KDE-PluginInfo-Category=System Information
X-KDE-PluginInfo-Depends=

1
tasks Normal file
View File

@ -0,0 +1 @@
1. Поиграться с dataengine (память)