home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / lib / hplip / ui / waitform.py < prev    next >
Encoding:
Python Source  |  2006-08-30  |  1.3 KB  |  48 lines

  1. # -*- coding: utf-8 -*-
  2.  
  3. import sys
  4. from qt import *
  5. from waitform_base import WaitForm_base
  6.  
  7. class WaitForm(WaitForm_base):
  8.     def __init__(self, seconds, message=None, cancel_func=None, parent=None, name=None, modal=0, fl=0):
  9.         WaitForm_base.__init__(self,parent,name,modal,fl)
  10.  
  11.         self.wait_timer = QTimer(self, "WaitTimer")
  12.         self.connect(self.wait_timer, SIGNAL('timeout()'), self.wait_timer_timeout)
  13.         self.seconds = seconds
  14.         self.progress = 0
  15.         self.ProgressBar.setTotalSteps(seconds)
  16.  
  17.         if seconds == 0:
  18.             self.wait_timer.start(10)
  19.         else:
  20.             self.wait_timer.start(1000)
  21.  
  22.         if message is not None:
  23.             self.setMessage(message)
  24.             
  25.         self.cancelPushButton.setEnabled(cancel_func is not None)
  26.         self.cancel_func = cancel_func
  27.         self.canceled = False
  28.  
  29.     def wait_timer_timeout(self):
  30.         self.progress += 1
  31.         self.ProgressBar.setProgress(self.progress)
  32.  
  33.         if self.progress == self.seconds:
  34.             self.wait_timer.stop()
  35.             self.close()
  36.  
  37.             
  38.     def setMessage(self, message):
  39.         self.textLabel3.setText(message)
  40.  
  41.         
  42.     def cancelPushButton_clicked(self):
  43.         self.canceled = True
  44.         if self.cancel_func is not None:
  45.             self.cancel_func()
  46.         self.cancelPushButton.setEnabled(False)
  47.         
  48.