Добавлено принудительное закрытие процесса диалога,

если он не выдает строку DBus


git-svn-id: http://svn.calculate.ru/calculate2/calculate-client/trunk@1093 c91db197-33c1-4113-bf15-f8a5c547ca64
develop
mhiretskiy 15 years ago
parent 9a99e7828c
commit f5605ac564

@ -57,8 +57,9 @@ org.kde.kdialog.ProgressDialog'
def openDialog(self,title):
self.title = title
pipe = popen2.Popen4(self.execenv+" LANG=ru_RU.UTF-8 "+
'/usr/bin/kdialog --progressbar "%s" %d' % (\
self.label ="LOGINKDIALOG=%d" % os.getpid()
pipe = popen2.Popen4(self.execenv + " %s " % self.label +\
'/usr/bin/kdialog --progressbar "%s" %d' % (\
" "*len(title),self.max))
if pipe.poll() != 0:
time.sleep(0.5)
@ -67,9 +68,21 @@ org.kde.kdialog.ProgressDialog'
while not "org.kde.kdialog" in self.kdialog:
s = fout.fromchild.readline()
if s == "":
self.kdialog = None
self.shutdownDialog()
self.kdialog = s.strip()
self.setTitle(self.title)
else:
self.shutdownDialog()
def shutdownDialog(self):
'''Принудительно уничтожить процесс kdialog'''
self.kdialog = None
for s in os.popen('/bin/ps axeo pid,cmd'):
if self.label in s:
try:
os.kill( int(s.split()[0]), 9 )
except (OSError,ValueError):
pass
def setValue(self,value):
'''Установить текущее значения для прогресса'''

Loading…
Cancel
Save