Fix progressbar for KDE

master
Mike Hiretsky 14 years ago
parent d3a0d058cd
commit 6e61ca6421

@ -112,7 +112,7 @@ class GProgressBar(NoneProgressBar):
def setValue(self,value):
'''Установить текущее значения для прогресса'''
if self.pipein and value <= self.max:
progress_value = int(value * self.kmax)
progress_value = int(value / self.kmax)
if progress_value > int(self.value * self.kmax) and progress_value < 100:
self._set(progress_value)
self.value = value
@ -208,21 +208,25 @@ org.kde.kdialog.ProgressDialog'
if self.execenv:
env = " ".join(map(lambda x: '%s="%s"'%(x[0],x[1]),\
self.execenv)) + " "
if value > self.value:
oldperc = int(self.value / self.kmax)
newperc = int(value / self.kmax)
if newperc > oldperc:
os.system(env + '/usr/bin/qdbus %s %s value %d >/dev/null'\
%(self.kdialog,self.suffixSet, value))
%(self.kdialog,self.suffixSet, newperc))
self.value = value
def setMaximum(self,max):
'''Установить максимальное значения для прогресса'''
self.max = max
if self.kdialog:
if self.kdialog and self.max == 0 and max != 0:
env = ""
if self.execenv:
env = " ".join(map(lambda x: '%s="%s"'%(x[0],x[1]),\
self.execenv)) + " "
os.system(env + '/usr/bin/qdbus %s %s maximum %d >/dev/null'\
%(self.kdialog,self.suffixSet, self.max))
%(self.kdialog,self.suffixSet, 100))
self.max = max
self.kmax = max / 100.0
def setTitle(self,title):
'''Установить описания прогресса'''
@ -321,13 +325,13 @@ class RsyncProgressBar:
maximum = int(q.groups()[0])
if self.maximum < maximum:
self.maximum = maximum
self.progress.setMaximum(self.maximum)
continue
q = self.receiverre.search(s)
if q:
if not self.copyStarting:
self.progress.shutdownDialog()
self.progress.openDialog(self.secondtitle)
self.progress.setMaximum(self.maximum)
self.copyStarting = True
value = int(q.groups()[0])
self.progress.setValue(value)

Loading…
Cancel
Save