home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 January / maximum-cd-2011-01.iso / DiscContents / calibre-0.7.26.msi / file_1286 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-10-31  |  5.1 KB  |  121 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __license__ = 'GPL v3'
  5. __copyright__ = '2009, Kovid Goyal kovid@kovidgoyal.net'
  6. __docformat__ = 'restructuredtext en'
  7. from PyQt4.Qt import QDialog, pyqtSignal, Qt, QVBoxLayout, QLabel, QFont
  8. from calibre.gui2.dialogs.progress_ui import Ui_Dialog
  9. from calibre.gui2.progress_indicator import ProgressIndicator
  10.  
  11. class ProgressDialog(QDialog, Ui_Dialog):
  12.     canceled_signal = pyqtSignal()
  13.     
  14.     def __init__(self, title, msg = '', min = 0, max = 99, parent = None, cancelable = True):
  15.         QDialog.__init__(self, parent)
  16.         self.setupUi(self)
  17.         self.setWindowTitle(title)
  18.         self.title.setText(title)
  19.         self.message.setText(msg)
  20.         self.setWindowModality(Qt.ApplicationModal)
  21.         self.set_min(min)
  22.         self.set_max(max)
  23.         self.bar.setValue(min)
  24.         self.canceled = False
  25.         self.button_box.rejected.connect(self._canceled)
  26.         if not cancelable:
  27.             self.button_box.setVisible(False)
  28.         
  29.         self.cancelable = cancelable
  30.  
  31.     
  32.     def set_msg(self, msg = ''):
  33.         self.message.setText(msg)
  34.  
  35.     
  36.     def set_value(self, val):
  37.         self.bar.setValue(val)
  38.  
  39.     
  40.     def value(self):
  41.         
  42.         def fset(self, val):
  43.             return self.bar.setValue(val)
  44.  
  45.         
  46.         def fget(self):
  47.             return self.bar.value()
  48.  
  49.         return property(fget = fget, fset = fset)
  50.  
  51.     value = dynamic_property(value)
  52.     
  53.     def set_min(self, min):
  54.         self.bar.setMinimum(min)
  55.  
  56.     
  57.     def set_max(self, max):
  58.         self.bar.setMaximum(max)
  59.  
  60.     
  61.     def _canceled(self, *args):
  62.         self.canceled = True
  63.         self.button_box.setDisabled(True)
  64.         self.title.setText(_('Aborting...'))
  65.         self.canceled_signal.emit()
  66.  
  67.     
  68.     def reject(self):
  69.         if not self.cancelable:
  70.             return None
  71.         QDialog.reject(self)
  72.  
  73.     
  74.     def keyPressEvent(self, ev):
  75.         if ev.key() == Qt.Key_Escape:
  76.             if self.cancelable:
  77.                 self._canceled()
  78.             
  79.         else:
  80.             QDialog.keyPressEvent(self, ev)
  81.  
  82.  
  83.  
  84. class BlockingBusy(QDialog):
  85.     
  86.     def __init__(self, msg, parent = None, window_title = _('Working')):
  87.         QDialog.__init__(self, parent)
  88.         self._layout = QVBoxLayout()
  89.         self.setLayout(self._layout)
  90.         self.msg = QLabel(msg)
  91.         self.font = QFont()
  92.         self.font.setPointSize(self.font.pointSize() + 8)
  93.         self.msg.setFont(self.font)
  94.         self.pi = ProgressIndicator(self)
  95.         self.pi.setDisplaySize(100)
  96.         self._layout.addWidget(self.pi, 0, Qt.AlignHCenter)
  97.         self._layout.addSpacing(15)
  98.         self._layout.addWidget(self.msg, 0, Qt.AlignHCenter)
  99.         self.start()
  100.         self.setWindowTitle(window_title)
  101.         self.resize(self.sizeHint())
  102.  
  103.     
  104.     def start(self):
  105.         self.pi.startAnimation()
  106.  
  107.     
  108.     def stop(self):
  109.         self.pi.stopAnimation()
  110.  
  111.     
  112.     def accept(self):
  113.         self.stop()
  114.         return QDialog.accept(self)
  115.  
  116.     
  117.     def reject(self):
  118.         pass
  119.  
  120.  
  121.