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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. from __future__ import with_statement
  5. __license__ = 'GPL v3'
  6. __copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
  7. __docformat__ = 'restructuredtext en'
  8. from PyQt4.Qt import QDialog, SIGNAL
  9. from calibre.gui2.convert.font_key_ui import Ui_Dialog
  10.  
  11. class FontKeyChooser(QDialog, Ui_Dialog):
  12.     
  13.     def __init__(self, parent = None, base_font_size = 0, font_key = None):
  14.         QDialog.__init__(self, parent)
  15.         self.setupUi(self)
  16.         self.default_font_key = font_key
  17.         self.default_base_font_size = base_font_size
  18.         self.connect(self.buttonBox, SIGNAL('clicked(QAbstractButton*)'), self.button_clicked)
  19.         self.connect(self.button_use_default, SIGNAL('clicked()'), self.use_default)
  20.         for x in ('input_base_font_size', 'input_font_size', 'output_base_font_size'):
  21.             self.connect(getattr(self, x), SIGNAL('valueChanged(double)'), self.calculate)
  22.         
  23.         self.connect(self.font_size_key, SIGNAL('textChanged(QString)'), self.calculate)
  24.         self.initialize()
  25.  
  26.     
  27.     def initialize(self):
  28.         self.input_base_font_size.setValue(12)
  29.         self.input_font_size.setValue(12)
  30.         self.input_mapped_font_size.setText('0.0 pt')
  31.         self.output_base_font_size.setValue(self.default_base_font_size)
  32.         if self.default_font_key:
  33.             self.font_size_key.setText(self.default_font_key)
  34.         else:
  35.             self.font_size_key.setText('')
  36.         self.calculate()
  37.  
  38.     
  39.     def button_clicked(self, button):
  40.         if button is self.buttonBox.button(self.buttonBox.RestoreDefaults):
  41.             self.output_base_font_size.setValue(0)
  42.             self.font_size_key.setText('')
  43.         
  44.         self.calculate()
  45.  
  46.     
  47.     def get_profile_values(self):
  48.         load_defaults = load_defaults
  49.         import calibre.ebooks.conversion.config
  50.         recs = load_defaults('page_setup')
  51.         pfname = recs.get('output_profile', 'default')
  52.         output_profiles = output_profiles
  53.         import calibre.customize.ui
  54.         for profile in output_profiles():
  55.             if profile.short_name == pfname:
  56.                 break
  57.                 continue
  58.         
  59.         dbase = profile.fbase
  60.         fsizes = profile.fkey
  61.         return (dbase, fsizes)
  62.  
  63.     
  64.     def fsizes(self):
  65.         key = unicode(self.font_size_key.text()).strip()
  66.         return _[1]
  67.  
  68.     fsizes = property(fsizes)
  69.     
  70.     def dbase(self):
  71.         return self.output_base_font_size.value()
  72.  
  73.     dbase = property(dbase)
  74.     
  75.     def calculate(self, *args):
  76.         sbase = self.input_base_font_size.value()
  77.         dbase = self.dbase
  78.         fsize = self.input_font_size.value()
  79.         
  80.         try:
  81.             fsizes = self.fsizes
  82.         except:
  83.             return None
  84.  
  85.         if dbase == 0 or not fsizes:
  86.             (pd, pfs) = self.get_profile_values()
  87.             if dbase == 0:
  88.                 dbase = pd
  89.             
  90.             if not fsizes:
  91.                 fsizes = pfs
  92.             
  93.         
  94.         KeyMapper = KeyMapper
  95.         import calibre.ebooks.oeb.transforms.flatcss
  96.         mapper = KeyMapper(sbase, dbase, fsizes)
  97.         msize = mapper[fsize]
  98.         self.input_mapped_font_size.setText('%.1f pt' % msize)
  99.  
  100.     
  101.     def use_default(self):
  102.         (dbase, fsizes) = self.get_profile_values()
  103.         self.output_base_font_size.setValue(dbase)
  104.         []([]([ '%.1f' % x for x in fsizes ]))
  105.  
  106.  
  107. if __name__ == '__main__':
  108.     from calibre.gui2 import is_ok_to_use_qt
  109.     is_ok_to_use_qt()
  110.     d = FontKeyChooser()
  111.     d.exec_()
  112.  
  113.