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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __license__ = 'GPL v3'
  5. __copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
  6. __docformat__ = 'restructuredtext en'
  7. __version__ = '0.1.0'
  8. from functools import partial
  9. from PyQt4.Qt import QDialog, QToolBar, QStatusBar, QLabel, QFont, Qt, QApplication, QIcon, QVBoxLayout, QAction
  10. from calibre.utils.pyconsole import dynamic, __appname__, __version__
  11. from calibre.utils.pyconsole.console import Console
  12.  
  13. class MainWindow(QDialog):
  14.     
  15.     def __init__(self, default_status_msg = _('Welcome to') + ' ' + __appname__ + ' console', parent = None):
  16.         QDialog.__init__(self, parent)
  17.         self.restart_requested = False
  18.         self.l = QVBoxLayout()
  19.         self.setLayout(self.l)
  20.         self.resize(800, 600)
  21.         geom = dynamic.get('console_window_geometry', None)
  22.         if geom is not None:
  23.             self.restoreGeometry(geom)
  24.         
  25.         self.tool_bar = QToolBar(self)
  26.         self.tool_bar.setToolButtonStyle(Qt.ToolButtonTextOnly)
  27.         self.l.addWidget(self.tool_bar)
  28.         self.status_bar = QStatusBar(self)
  29.         self.status_bar.defmsg = QLabel(__appname__ + _(' console ') + __version__)
  30.         self.status_bar._font = QFont()
  31.         self.status_bar._font.setBold(True)
  32.         self.status_bar.defmsg.setFont(self.status_bar._font)
  33.         self.status_bar.addWidget(self.status_bar.defmsg)
  34.         self.console = Console(parent = self)
  35.         self.console.running.connect(partial(self.status_bar.showMessage, _('Code is running')))
  36.         self.console.running_done.connect(self.status_bar.clearMessage)
  37.         self.l.addWidget(self.console)
  38.         self.l.addWidget(self.status_bar)
  39.         self.setWindowTitle(__appname__ + ' console')
  40.         self.setWindowIcon(QIcon(I('console.png')))
  41.         self.restart_action = QAction(_('Restart console'), self)
  42.         self.restart_action.setShortcut(_('Ctrl+R'))
  43.         self.addAction(self.restart_action)
  44.         self.restart_action.triggered.connect(self.restart)
  45.         self.console.context_menu.addAction(self.restart_action)
  46.  
  47.     
  48.     def restart(self):
  49.         self.restart_requested = True
  50.         self.reject()
  51.  
  52.     
  53.     def closeEvent(self, *args):
  54.         dynamic.set('console_window_geometry', bytearray(self.saveGeometry()))
  55.         self.console.shutdown()
  56.         return QDialog.closeEvent(self, *args)
  57.  
  58.  
  59.  
  60. def show():
  61.     while True:
  62.         m = MainWindow()
  63.         m.exec_()
  64.         if not m.restart_requested:
  65.             break
  66.             continue
  67.  
  68.  
  69. def main():
  70.     QApplication.setApplicationName(__appname__ + ' console')
  71.     QApplication.setOrganizationName('Kovid Goyal')
  72.     app = QApplication([])
  73.     app
  74.     show()
  75.  
  76. if __name__ == '__main__':
  77.     main()
  78.  
  79.