rkflx added inline comments.

INLINE COMMENTS

> generator_pdf.cpp:80-89
> +           bool isVisible = (printBackend() == QPrinterBackend || 
> m_forceRaster->isChecked());
> +           m_scaleMode->setVisible ( isVisible );
> +           m_scaleTo->setVisible ( isVisible );
> +           if ( isVisible ) {
> +               m_printBackendLayout->labelForField(m_scaleMode)->show();
> +               m_printBackendLayout->labelForField(m_scaleTo)->show();
> +           } else {

In general it's preferred to only "disable" options which are unavailable or do 
not apply in a given context instead of hiding them, e.g. with `setEnabled(…)`. 
This should result in less confusion for users.

Apart from that, nothing to complain about your approach ;)

> michaelweghorn wrote in generator_pdf.cpp:151
> Should this be `m_scaleMode->insertItem(FitToPage, i18n("Fit to page"), 
> FitToPage);` (and likewise for all other calls to `insertItem` below? 
> Otherwise a `QVariant()` is inserted.

Indeed, compared to a similar change in D7949 
<https://phabricator.kde.org/D7949> the third parameter (i.e. where the magic 
happens) is missing.

I'm not sure using `enum class` would gain us much, because then for the first 
parameter we'd have to provide `int index` ourselves (e.g. `0, 1, 2`) and keep 
track of duplicate numbers. However, this would not yet fix the issue of 
decoupling the implementation of `scaleMode()` from the actual position in the 
combobox. For that, setting `userData` in the third parameter is still required.

> generator_pdf.cpp:154
> +           m_scaleMode->insertItem(None, i18n("None"));
> +           m_printBackendLayout->addRow(i18n("Scale mode"), m_scaleMode);
> +

I'd suggest to append a colon after each label (if it belongs to another item 
like a combobox), just like you did for Print backend:.

> generator_pdf.cpp:159
> +           m_scaleTo->insertItem(FullPage, i18n("Full page"));
> +           m_printBackendLayout->addRow(i18n("Scale to"), m_scaleTo);
> +

Another missing colon…

> generator_pdf.cpp:165-170
> +           // Show scaleMode and scaleTo only if experimental QPrinter 
> backend is selected
> +           // or if the file is to be rasterized before printing
> +           m_scaleMode->hide();
> +           m_scaleTo->hide();
> +           m_printBackendLayout->labelForField(m_scaleMode)->hide();
> +           m_printBackendLayout->labelForField(m_scaleTo)->hide();

I'd use `setEnabled(false)`, see other comment.

> rkflx wrote in generator_pdf.cpp:1217
> Missing space: `g,v`.

Not really important, but this is marked as "done" even though  the space after 
the comma is still missing:

  horizontalScaling,verticalScaling

REPOSITORY
  R223 Okular

REVISION DETAIL
  https://phabricator.kde.org/D7962

To: sander, #okular, aacid
Cc: okular-devel, cfeck, rkflx, michaelweghorn, ngraham, aacid

Reply via email to