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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __license__ = 'GPL 3'
  5. __copyright__ = '2009, John Schember <john@nachtimwald.com>'
  6. __docformat__ = 'restructuredtext en'
  7. from PyQt4.Qt import QWidget, QListWidgetItem, Qt, QVariant, SIGNAL
  8. from calibre.gui2 import error_dialog
  9. from calibre.gui2.device_drivers.configwidget_ui import Ui_ConfigWidget
  10. from calibre.utils.formatter import validation_formatter
  11.  
  12. class ConfigWidget(QWidget, Ui_ConfigWidget):
  13.     
  14.     def __init__(self, settings, all_formats, supports_subdirs, must_read_metadata, supports_use_author_sort, extra_customization_message):
  15.         QWidget.__init__(self)
  16.         Ui_ConfigWidget.__init__(self)
  17.         self.setupUi(self)
  18.         self.settings = settings
  19.         format_map = settings.format_map
  20.         disabled_formats = list(set(all_formats).difference(format_map))
  21.         for format in format_map + disabled_formats:
  22.             item = QListWidgetItem(format, self.columns)
  23.             item.setData(Qt.UserRole, QVariant(format))
  24.             item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable | Qt.ItemIsSelectable)
  25.             None(item.setCheckState if format in format_map else Qt.Unchecked)
  26.         
  27.         self.connect(self.column_up, SIGNAL('clicked()'), self.up_column)
  28.         self.connect(self.column_down, SIGNAL('clicked()'), self.down_column)
  29.         if supports_subdirs:
  30.             self.opt_use_subdirs.setChecked(self.settings.use_subdirs)
  31.         else:
  32.             self.opt_use_subdirs.hide()
  33.         if not must_read_metadata:
  34.             self.opt_read_metadata.setChecked(self.settings.read_metadata)
  35.         else:
  36.             self.opt_read_metadata.hide()
  37.         if supports_use_author_sort:
  38.             self.opt_use_author_sort.setChecked(self.settings.use_author_sort)
  39.         else:
  40.             self.opt_use_author_sort.hide()
  41.         if extra_customization_message:
  42.             self.extra_customization_label.setText(extra_customization_message)
  43.             if settings.extra_customization:
  44.                 self.opt_extra_customization.setText(settings.extra_customization)
  45.             
  46.         else:
  47.             self.extra_customization_label.setVisible(False)
  48.             self.opt_extra_customization.setVisible(False)
  49.         self.opt_save_template.setText(settings.save_template)
  50.  
  51.     
  52.     def up_column(self):
  53.         idx = self.columns.currentRow()
  54.         if idx > 0:
  55.             self.columns.insertItem(idx - 1, self.columns.takeItem(idx))
  56.             self.columns.setCurrentRow(idx - 1)
  57.         
  58.  
  59.     
  60.     def down_column(self):
  61.         idx = self.columns.currentRow()
  62.         if idx < self.columns.count() - 1:
  63.             self.columns.insertItem(idx + 1, self.columns.takeItem(idx))
  64.             self.columns.setCurrentRow(idx + 1)
  65.         
  66.  
  67.     
  68.     def format_map(self):
  69.         formats = _[1]
  70.         return formats
  71.  
  72.     
  73.     def use_subdirs(self):
  74.         return self.opt_use_subdirs.isChecked()
  75.  
  76.     
  77.     def read_metadata(self):
  78.         return self.opt_read_metadata.isChecked()
  79.  
  80.     
  81.     def use_author_sort(self):
  82.         return self.opt_use_author_sort.isChecked()
  83.  
  84.     
  85.     def validate(self):
  86.         tmpl = unicode(self.opt_save_template.text())
  87.         
  88.         try:
  89.             validation_formatter.validate(tmpl)
  90.             return True
  91.         except Exception:
  92.             err = None
  93.             error_dialog(self, _('Invalid template'), '<p>' + _('The template %s is invalid:') % tmpl + '<br>' + unicode(err), show = True)
  94.             return False
  95.  
  96.  
  97.  
  98.