<table><tr><td style="">rkflx added inline comments.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D7962">View Revision</a></tr></table><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7962#inline-75218">View Inline</a><span style="color: #4b4d51; font-weight: bold;">generator_pdf.cpp:80-89</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span style="color: #aa4000">bool</span> <span class="n">isVisible</span> <span style="color: #aa2211">=</span> <span class="p">(</span><span class="n">printBackend</span><span class="p">()</span> <span style="color: #aa2211">==</span> <span class="n">QPrinterBackend</span> <span style="color: #aa2211">||</span> <span class="n">m_forceRaster</span><span style="color: #aa2211">-></span><span class="n">isChecked</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span class="n">m_scaleMode</span><span style="color: #aa2211">-></span><span class="n">setVisible</span> <span class="p">(</span> <span class="n">isVisible</span> <span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span class="n">m_scaleTo</span><span style="color: #aa2211">-></span><span class="n">setVisible</span> <span class="p">(</span> <span class="n">isVisible</span> <span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span style="color: #aa4000">if</span> <span class="p">(</span> <span class="n">isVisible</span> <span class="p">)</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">               <span class="n">m_printBackendLayout</span><span style="color: #aa2211">-></span><span class="n">labelForField</span><span class="p">(</span><span class="n">m_scaleMode</span><span class="p">)</span><span style="color: #aa2211">-></span><span class="n">show</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">               <span class="n">m_printBackendLayout</span><span style="color: #aa2211">-></span><span class="n">labelForField</span><span class="p">(</span><span class="n">m_scaleTo</span><span class="p">)</span><span style="color: #aa2211">-></span><span class="n">show</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span class="p">}</span> <span style="color: #aa4000">else</span> <span class="p">{</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">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 <tt style="background: #ebebeb; font-size: 13px;">setEnabled(…)</tt>. This should result in less confusion for users.</p>

<p style="padding: 0; margin: 8px;">Apart from that, nothing to complain about your approach ;)</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7962#inline-75063">View Inline</a><span style="color: #4b4d51; font-weight: bold;">michaelweghorn</span> wrote in <span style="color: #4b4d51; font-weight: bold;">generator_pdf.cpp:151</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">Should this be <tt style="background: #ebebeb; font-size: 13px;">m_scaleMode->insertItem(FitToPage, i18n("Fit to page"), FitToPage);</tt> (and likewise for all other calls to <tt style="background: #ebebeb; font-size: 13px;">insertItem</tt> below? Otherwise a <tt style="background: #ebebeb; font-size: 13px;">QVariant()</tt> is inserted.</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Indeed, compared to a similar change in <a href="https://phabricator.kde.org/D7949" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D7949</a> the third parameter (i.e. where the magic happens) is missing.</p>

<p style="padding: 0; margin: 8px;">I'm not sure using <tt style="background: #ebebeb; font-size: 13px;">enum class</tt> would gain us much, because then for the first parameter we'd have to provide <tt style="background: #ebebeb; font-size: 13px;">int index</tt> ourselves (e.g. <tt style="background: #ebebeb; font-size: 13px;">0, 1, 2</tt>) and keep track of duplicate numbers. However, this would not yet fix the issue of decoupling the implementation of <tt style="background: #ebebeb; font-size: 13px;">scaleMode()</tt> from the actual position in the combobox. For that, setting <tt style="background: #ebebeb; font-size: 13px;">userData</tt> in the third parameter is still required.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7962#inline-75216">View Inline</a><span style="color: #4b4d51; font-weight: bold;">generator_pdf.cpp:154</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span class="n">m_scaleMode</span><span style="color: #aa2211">-></span><span class="n">insertItem</span><span class="p">(</span><span class="n">None</span><span class="p">,</span> <span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"None"</span><span class="p">));</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span class="n">m_printBackendLayout</span><span style="color: #aa2211">-></span><span class="n">addRow</span><span class="p">(</span><span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"Scale mode"</span><span class="p">),</span> <span class="n">m_scaleMode</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">I'd suggest to append a colon after each label (if it belongs to another item like a combobox), just like you did for <span><span class="phui-tag-view phui-tag-type-shade phui-tag-grey phui-tag-shade "><span class="phui-tag-core ">Print backend:</span></span></span>.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7962#inline-75217">View Inline</a><span style="color: #4b4d51; font-weight: bold;">generator_pdf.cpp:159</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span class="n">m_scaleTo</span><span style="color: #aa2211">-></span><span class="n">insertItem</span><span class="p">(</span><span class="n">FullPage</span><span class="p">,</span> <span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"Full page"</span><span class="p">));</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span class="n">m_printBackendLayout</span><span style="color: #aa2211">-></span><span class="n">addRow</span><span class="p">(</span><span class="n">i18n</span><span class="p">(</span><span style="color: #766510">"Scale to"</span><span class="p">),</span> <span class="n">m_scaleTo</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Another missing colon…</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7962#inline-75219">View Inline</a><span style="color: #4b4d51; font-weight: bold;">generator_pdf.cpp:165-170</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span style="color: #74777d">// Show scaleMode and scaleTo only if experimental QPrinter backend is selected</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span style="color: #74777d">// or if the file is to be rasterized before printing</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span class="n">m_scaleMode</span><span style="color: #aa2211">-></span><span class="n">hide</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span class="n">m_scaleTo</span><span style="color: #aa2211">-></span><span class="n">hide</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span class="n">m_printBackendLayout</span><span style="color: #aa2211">-></span><span class="n">labelForField</span><span class="p">(</span><span class="n">m_scaleMode</span><span class="p">)</span><span style="color: #aa2211">-></span><span class="n">hide</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">           <span class="n">m_printBackendLayout</span><span style="color: #aa2211">-></span><span class="n">labelForField</span><span class="p">(</span><span class="n">m_scaleTo</span><span class="p">)</span><span style="color: #aa2211">-></span><span class="n">hide</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">I'd use <tt style="background: #ebebeb; font-size: 13px;">setEnabled(false)</tt>, see other comment.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7962#inline-33457">View Inline</a><span style="color: #4b4d51; font-weight: bold;">rkflx</span> wrote in <span style="color: #4b4d51; font-weight: bold;">generator_pdf.cpp:1217</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">Missing space: <tt style="background: #ebebeb; font-size: 13px;">g,v</tt>.</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Not really important, but this is marked as "done" even though  the space after the comma is still missing:</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">horizontalScaling,verticalScaling</pre></div></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R223 Okular</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7962">https://phabricator.kde.org/D7962</a></div></div><br /><div><strong>To: </strong>sander, Okular, aacid<br /><strong>Cc: </strong>okular-devel, cfeck, rkflx, michaelweghorn, ngraham, aacid<br /></div>