Bug 415673

Summary: Warning icons for unavailable blending modes make the blending modes combobox popup entries bigger
Product: [Applications] krita Reporter: Ahab Greybeard <ahab.greybeard>
Component: UsabilityAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: minor CC: halla, tamtamy.tymona
Priority: NOR Keywords: triaged
Version: nightly build (please specify the git hash!)   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: 'normal' UI with RGB image
'expanded' UI with not-RGB image
Icons to warn of non-available blending modes

Description Ahab Greybeard 2019-12-29 11:45:45 UTC
Created attachment 124769 [details]
'normal' UI with RGB image

SUMMARY
This is seen on all versions for the Linux appimage and the Windows portable .zip packages from 4.2.6 up to the latest Dec 28 4.3.0 prealpha packages.

After starting/restarting krita, if the layers docker blending mode selector is opened, or the brush blending mode selector is opened then the vertical scaling of the blending mode selector is affected by the image being RGB colour space or not-RGB colour space (e.g Greyscale or CMYK).
(See attached screenshot images.)

For an RGB image being the first image on which a blending selector is opened, the scaling is normal and compact. For a not-RGB image being the first image on which it is opened, the vertical scaling is expanded.
This scaling is then maintained no matter what colour space image is opened or selected from multiple open images. (See attached screenshot images.)

The layers docker blending mode selector and the brush blending mode selector can be made to have different scaling (which is maintained throughout the session) depending on the colour space of the first image that they are used with.

Example screenshots are attached for the Layers docker blending mode selector. The Brush blending mode selector has identical (and independent) behaviour

STEPS TO REPRODUCE
See Summary description

OBSERVED RESULT
See Summary description and attached images

EXPECTED RESULT
The blending mode selector UI should always be 'compact'

SOFTWARE/OS VERSIONS
Krita

 Version: 4.3.0-prealpha (git 3f0ff1a)
 Languages: en_GB, en, en, en_GB, en
 Hidpi: true

Qt

  Version (compiled): 5.12.5
  Version (loaded): 5.12.5

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.19.0-6-amd64
  Pretty Productname: Debian GNU/Linux 10 (buster)
  Product Type: debian
  Product Version: 10

OpenGL Info
 
  Vendor:  "NVIDIA Corporation" 
  Renderer:  "GeForce GTX 750 Ti/PCIe/SSE2" 
  Version:  "4.6.0 NVIDIA 418.74" 
  Shading language:  "4.60 NVIDIA" 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
  Current format:    QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
     Version: 4.6
     Supports deprecated functions true 
     is OpenGL ES: false 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false 

Hardware Information

  GPU Acceleration: auto
  Memory: 16039 Mb
  Number of Cores: 8
  Swap Location: /tmp

Current Settings

  Current Swap Location: /tmp
  Undo Enabled: 1
  Undo Stack Limit: 18
  Use OpenGL: 1
  Use OpenGL Texture Buffer: 1
  Use AMD Vectorization Workaround: 0
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 360
  Use Backup Files: 1
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Use Win8 Pointer Input: 0
  Use RightMiddleTabletButton Workaround: 0
  Levels of Detail Enabled: 0
  Use Zip64: 0

Current Settings

  Current Swap Location: /tmp
  Undo Enabled: 1
  Undo Stack Limit: 18
  Use OpenGL: 1
  Use OpenGL Texture Buffer: 1
  Use AMD Vectorization Workaround: 0
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 360
  Use Backup Files: 1
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Use Win8 Pointer Input: 0
  Use RightMiddleTabletButton Workaround: 0
  Levels of Detail Enabled: 0
  Use Zip64: 0

ADDITIONAL INFORMATION
Comment 1 Ahab Greybeard 2019-12-29 11:47:20 UTC
Created attachment 124770 [details]
'expanded' UI with not-RGB image
Comment 2 Halla Rempt 2020-01-03 14:12:22 UTC
That's because for other colorspaces than RGB, not all blending modes are available, and that's marked with an icon which causes the entries to be bigger.
Comment 3 Ahab Greybeard 2020-01-03 14:40:33 UTC
Created attachment 124872 [details]
Icons to warn of non-available blending modes

For some reason, the presence of that icon, even if it's not displayed, may make the entries bigger but it doesn't have to.

I attach a screenshot of the Layers docker Blending Mode selector when using a Greyscale image. This was done after first selecting an RGB image for first time opening of the Blending Mode selector. The warning icons do not make the entries bigger in this case.

This is a minor matter and does not affect function
Comment 4 Tiar 2020-08-04 02:14:03 UTC
Confirmed. Because there is an instance where entries have the warnings but aren't enlarged, it seems like it doesn't need to be larger ever.
Comment 5 Dmitry Kazakov 2020-08-20 20:10:00 UTC
Git commit 4b1ae37d2dea67f6b09c0e50920cb4d352d48d5f by Dmitry Kazakov.
Committed on 20/08/2020 at 20:08.
Pushed by dkazakov into branch 'krita/4.3'.

Limit the size of the warning icon in the Blending Mode combobox

Its size should be equal to the size of a checkbox

M  +10   -1    libs/ui/kis_composite_ops_model.cc

https://invent.kde.org/graphics/krita/commit/4b1ae37d2dea67f6b09c0e50920cb4d352d48d5f
Comment 6 Dmitry Kazakov 2020-08-20 20:10:10 UTC
Git commit b9b81dcd59940e157ec46dd1b9f9b589b67b1197 by Dmitry Kazakov.
Committed on 20/08/2020 at 20:10.
Pushed by dkazakov into branch 'master'.

Limit the size of the warning icon in the Blending Mode combobox

Its size should be equal to the size of a checkbox

M  +10   -1    libs/ui/kis_composite_ops_model.cc

https://invent.kde.org/graphics/krita/commit/b9b81dcd59940e157ec46dd1b9f9b589b67b1197