Пример #1
0
 def __init__(self, name, layout):
     QDoubleSpinBox.__init__(self)
     self.setRange(0, 20000)
     self.setDecimals(1)
     opt = options[name]
     self.valueChanged.connect(self.changed_signal.emit)
     init_opt(self, opt, layout)
Пример #2
0
    def setup_ui(self):
        self.vl = vl = QVBoxLayout(self)
        self.l = l = QFormLayout()
        vl.addLayout(l)
        l.setContentsMargins(0, 0, 0, 0)
        l.addRow(QLabel(_('Print %s to a PDF file') % elided_text(self.book_title)))
        self.h = h = QHBoxLayout()
        self.file_name = f = QLineEdit(self)
        val = dynamic.get(self.OUTPUT_NAME, None)
        if not val:
            val = expanduser('~')
        else:
            val = os.path.dirname(val)
        f.setText(os.path.abspath(os.path.join(val, self.default_file_name)))
        self.browse_button = b = QToolButton(self)
        b.setIcon(QIcon(I('document_open.png'))), b.setToolTip(_('Choose location for PDF file'))
        b.clicked.connect(self.choose_file)
        h.addWidget(f), h.addWidget(b)
        f.setMinimumWidth(350)
        w = QLabel(_('&File:'))
        l.addRow(w, h), w.setBuddy(f)

        self.paper_size = ps = PaperSizes(self)
        ps.initialize()
        ps.set_value_for_config = vprefs.get('print-to-pdf-page-size', None)
        l.addRow(_('Paper &size:'), ps)
        tmap = {
                'left':_('&Left margin:'),
                'top':_('&Top margin:'),
                'right':_('&Right margin:'),
                'bottom':_('&Bottom margin:'),
        }
        for edge in 'left top right bottom'.split():
            m = QDoubleSpinBox(self)
            m.setSuffix(' ' + _('inches'))
            m.setMinimum(0), m.setMaximum(3), m.setSingleStep(0.1)
            val = vprefs.get('print-to-pdf-%s-margin' % edge, 1)
            m.setValue(val)
            setattr(self, '%s_margin' % edge, m)
            l.addRow(tmap[edge], m)
        self.pnum = pnum = QCheckBox(_('Add page &number to printed pages'), self)
        pnum.setChecked(vprefs.get('print-to-pdf-page-numbers', True))
        l.addRow(pnum)

        self.show_file = sf = QCheckBox(_('&Open PDF file after printing'), self)
        sf.setChecked(vprefs.get('print-to-pdf-show-file', True))
        l.addRow(sf)

        vl.addStretch(10)
        vl.addWidget(self.bb)
Пример #3
0
    def __init__(self, parent=None):
        Base.__init__(self, parent)
        self.l1 = QLabel(_('&Download every:'))
        self.interval = QDoubleSpinBox(self)
        self.interval.setMinimum(0.04)
        self.interval.setSpecialValueText(_('every hour'))
        self.interval.setMaximum(1000.0)
        self.interval.setValue(31.0)
        self.interval.setSuffix(' ' + _('days'))
        self.interval.setSingleStep(1.0)
        self.interval.setDecimals(2)
        self.l1.setBuddy(self.interval)
        self.l2 = QLabel(
            _('Note: You can set intervals of less than a day,'
              ' by typing the value manually.'))
        self.l2.setWordWrap(True)

        self.l.addWidget(self.l1, 0, 0, 1, 1)
        self.l.addWidget(self.interval, 0, 1, 1, 1)
        self.l.addWidget(self.l2, 1, 0, 1, -1)
Пример #4
0
 def setupUi(self, *a):
     self.l = l = QFormLayout(self)
     self.opt_docx_page_size = QComboBox(self)
     l.addRow(_('Paper si&ze:'), self.opt_docx_page_size)
     self.opt_docx_custom_page_size = w = QLineEdit(self)
     w.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
     l.addRow(_('&Custom size:'), w)
     for i, text in enumerate(
         (_('Page &left margin'), _('Page &top margin'),
          _('Page &right margin'), _('Page &bottom margin'))):
         m = 'left top right bottom'.split()[i]
         w = QDoubleSpinBox(self)
         w.setRange(-100, 500), w.setSuffix(' pt'), w.setDecimals(1)
         setattr(self, 'opt_docx_page_margin_' + m, w)
         l.addRow(text + ':', w)
     self.opt_docx_no_toc = QCheckBox(
         _('Do not insert the &Table of Contents as a page at the start of the document'
           ))
     l.addRow(self.opt_docx_no_toc)
     self.opt_docx_no_cover = QCheckBox(
         _('Do not insert &cover as image at start of document'))
     l.addRow(self.opt_docx_no_cover)
     self.opt_preserve_cover_aspect_ratio = QCheckBox(
         _('Preserve the aspect ratio of the image inserted as cover'))
     l.addRow(self.opt_preserve_cover_aspect_ratio)
Пример #5
0
class EveryXDays(Base):

    HELP = _('''\
                Download this periodical every x days. For example, if you
                choose 30 days, the periodical will be downloaded every 30
                days. Note that you can set periods of less than a day, like
                0.1 days to download a periodical more than once a day.
            ''')

    def __init__(self, parent=None):
        Base.__init__(self, parent)
        self.l1 = QLabel(_('&Download every:'))
        self.interval = QDoubleSpinBox(self)
        self.interval.setMinimum(0.04)
        self.interval.setSpecialValueText(_('every hour'))
        self.interval.setMaximum(1000.0)
        self.interval.setValue(31.0)
        self.interval.setSuffix(' ' + _('days'))
        self.interval.setSingleStep(1.0)
        self.interval.setDecimals(2)
        self.l1.setBuddy(self.interval)
        self.l2 = QLabel(
            _('Note: You can set intervals of less than a day,'
              ' by typing the value manually.'))
        self.l2.setWordWrap(True)

        self.l.addWidget(self.l1, 0, 0, 1, 1)
        self.l.addWidget(self.interval, 0, 1, 1, 1)
        self.l.addWidget(self.l2, 1, 0, 1, -1)

    def initialize(self, typ=None, val=None):
        if val is None:
            val = 31.0
        self.interval.setValue(val)

    @property
    def schedule(self):
        schedule = self.interval.value()
        return 'interval', schedule
Пример #6
0
 def margin(which):
     w = QDoubleSpinBox(self)
     w.setRange(-100, 500), w.setSuffix(' pt'), w.setDecimals(1)
     setattr(self, 'opt_pdf_page_margin_' + which, w)
     return w