home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_1238 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  4.0 KB  |  98 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. import textwrap
  9. from PyQt4.Qt import QTabWidget
  10. from calibre.gui2.dialogs.config.add_save_ui import Ui_TabWidget
  11. from calibre.library.save_to_disk import config
  12. from calibre.utils.config import prefs
  13. from calibre.gui2.widgets import FilenamePattern
  14.  
  15. class AddSave(QTabWidget, Ui_TabWidget):
  16.     
  17.     def __init__(self, parent = None):
  18.         QTabWidget.__init__(self, parent)
  19.         self.setupUi(self)
  20.         while self.count() > 3:
  21.             self.removeTab(3)
  22.         c = config()
  23.         opts = c.parse()
  24.         for x in ('asciiize', 'update_metadata', 'save_cover', 'write_opf', 'replace_whitespace', 'to_lowercase'):
  25.             g = getattr(self, 'opt_' + x)
  26.             g.setChecked(getattr(opts, x))
  27.             help = '\n'.join(textwrap.wrap(c.get_option(x).help, 75))
  28.             g.setToolTip(help)
  29.             g.setWhatsThis(help)
  30.         
  31.         for x in ('formats', 'timefmt'):
  32.             g = getattr(self, 'opt_' + x)
  33.             g.setText(getattr(opts, x))
  34.             help = '\n'.join(textwrap.wrap(c.get_option(x).help, 75))
  35.             g.setToolTip(help)
  36.             g.setWhatsThis(help)
  37.         
  38.         self.opt_read_metadata_from_filename.setChecked(not prefs['read_file_metadata'])
  39.         self.filename_pattern = FilenamePattern(self)
  40.         self.metadata_box.layout().insertWidget(0, self.filename_pattern)
  41.         self.opt_swap_author_names.setChecked(prefs['swap_author_names'])
  42.         self.opt_add_formats_to_existing.setChecked(prefs['add_formats_to_existing'])
  43.         if prefs['manage_device_metadata'] == 'manual':
  44.             self.manage_device_metadata.setCurrentIndex(0)
  45.         elif prefs['manage_device_metadata'] == 'on_send':
  46.             self.manage_device_metadata.setCurrentIndex(1)
  47.         else:
  48.             self.manage_device_metadata.setCurrentIndex(2)
  49.         help = '\n'.join(textwrap.wrap(c.get_option('template').help, 75))
  50.         self.save_template.initialize('save_to_disk', opts.template, help)
  51.         self.send_template.initialize('send_to_device', opts.send_template, help)
  52.  
  53.     
  54.     def validate(self):
  55.         if self.save_template.validate():
  56.             pass
  57.         return self.send_template.validate()
  58.  
  59.     
  60.     def save_settings(self):
  61.         if not self.validate():
  62.             return False
  63.         c = config()
  64.         for x in ('asciiize', 'update_metadata', 'save_cover', 'write_opf', 'replace_whitespace', 'to_lowercase'):
  65.             c.set(x, getattr(self, 'opt_' + x).isChecked())
  66.         
  67.         for x in ('formats', 'timefmt'):
  68.             val = unicode(getattr(self, 'opt_' + x).text()).strip()
  69.             if x == 'formats' and not val:
  70.                 val = 'all'
  71.             
  72.             c.set(x, val)
  73.         
  74.         self.save_template.save_settings(c, 'template')
  75.         self.send_template.save_settings(c, 'send_template')
  76.         prefs['read_file_metadata'] = not bool(self.opt_read_metadata_from_filename.isChecked())
  77.         pattern = self.filename_pattern.commit()
  78.         prefs['filename_pattern'] = pattern
  79.         prefs['swap_author_names'] = bool(self.opt_swap_author_names.isChecked())
  80.         prefs['add_formats_to_existing'] = bool(self.opt_add_formats_to_existing.isChecked())
  81.         if self.manage_device_metadata.currentIndex() == 0:
  82.             prefs['manage_device_metadata'] = 'manual'
  83.         elif self.manage_device_metadata.currentIndex() == 1:
  84.             prefs['manage_device_metadata'] = 'on_send'
  85.         else:
  86.             prefs['manage_device_metadata'] = 'on_connect'
  87.         return True
  88.  
  89.  
  90. if __name__ == '__main__':
  91.     from PyQt4.Qt import QApplication
  92.     app = QApplication([])
  93.     a = AddSave()
  94.     a.show()
  95.     app.exec_()
  96.     a.save_settings()
  97.  
  98.