broulik added a comment.

  Thanks a lot for your patch! This makes the effect of those settings a lot 
easier to understand. I have a couple of nitpicks below.

INLINE COMMENTS

> main.qml:22
>  import QtQuick.Layouts 1.1
> -import QtQuick.Controls 2.0 as QtControls
> +import QtQuick.Controls 2.3 as QtControls
>  import QtQuick.Dialogs 1.2 as QtDialogs

Is `2.2` also sufficient (Qt 5.9)?

> main.qml:143
> +                id: subPixelDelegate
> +                width: subPixelComboImage.implicitWidth
> +                contentItem: ColumnLayout {

The popup width is too small, the text cut off. Either make it larger or at 
least elide the text on the right

> main.qml:147
> +                    width: subPixelComboImage.implicitWidth
> +                    Text {
> +                        id: subPixelComboText

Use QtQuick Controls `Label` instead of plain `Text` for proper rendering and 
text color

> main.qml:153
> +                        id: subPixelComboImage
> +                        fillMode: Image.Pad
> +                        sourceSize: undefined

This is the default, no need to explicitly specify

> main.qml:154
> +                        fillMode: Image.Pad
> +                        sourceSize: undefined
> +                        source: 
> "image://preview/"+model.index+"_"+kcm.fontAASettings.hintingCurrentIndex+".png"

Also not needed

> main.qml:155
> +                        sourceSize: undefined
> +                        source: 
> "image://preview/"+model.index+"_"+kcm.fontAASettings.hintingCurrentIndex+".png"
> +                    }

Coding style, add spaces between:

  source: "image://preview/" + model.index + "_" + 
kcm.fontAASettings.hintCurrentIndex + ".png"

> previewimageprovider.cpp:35
> +{
> +    int subPixelIndex = id.split('_')[0].toInt();
> +    int hintingIndex = id.split('_')[1].toInt();

avoid splitting twice, I suggest storing

  const auto sections = id.splitRef(QLatin1Char('_'));

Also do a bounds check

> previewimageprovider.cpp:66
> +    PreviewRenderEngine eng(true);
> +    QImage img = eng.drawAutoSize(m_font, text, bgnd, 
> eng.getDefaultPreviewString());
> +    

Your image does not take into account `devicePixelRatio` which makes it blurred 
on my high dpi screen.

I'm not sure how to exactly fix that, perhaps `@2x` works for the image 
provider, or you can manually implement this, to test run

  QT_SCREEN_SCALE_FACTORS=2 kcmshell5 kcm_fonts

> previewimageprovider.h:1
> +#ifndef __PREVIEW_IMAGE_PROVIDER_H__
> +#define __PREVIEW_IMAGE_PROVIDER_H__

Include guard typically goes below copyright, you can also use `#pragma once` 
in plasma-desktop

REPOSITORY
  R119 Plasma Desktop

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

To: progwolff, #plasma, harmathy, mart
Cc: broulik, plasma-devel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, 
abetts, sebas, apol, mart

Reply via email to