Bug 431220 - The Palette docker tooltip has inadequate behaviour with particular swatch names
Summary: The Palette docker tooltip has inadequate behaviour with particular swatch names
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Dockers (show other bugs)
Version: unspecified
Platform: Mint (Debian based) Linux
: NOR normal
Target Milestone: ---
Assignee: Halla Rempt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-01-06 11:44 UTC by Ahab Greybeard
Modified: 2021-01-09 09:46 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Demo palette for this bug (9.78 KB, application/zip)
2021-01-06 11:44 UTC, Ahab Greybeard
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ahab Greybeard 2021-01-06 11:44:24 UTC
Created attachment 134611 [details]
Demo palette for this bug

SUMMARY
Tested with the Jan 05 4.4.3 (git 79dcac7) appimage but it goes back to 4.3.0.

If palette swatch names are identical, as is the case for the common "Untitled" swatch colours or if the internal names are blank, the tooltip that gives the name of a swatch is not updated in its positon or its displayed value.

This bug is closely associated with a Wishlist bug that is identified in Comment 1 below.
This bug will probably need to be resolved before that Wishlist bug is implemented.

A palette, NameBugDemo, is attached for ease of demonstration.

STEPS TO REPRODUCE
1. Import and select the NameBugDemo palette for use in the Palette docker.
2. Hover the cursor over and along the top row of swatches, which all have obviously named colours.
3. Move the cursor from one of the top row swatches to one of the second row swatches, which are all called "Untitled", then move the cursor along the second row swatches.
4. Move the cursor to the third row of swatches, which all have obvious names.
5. Move the cursor to the fourth row of swatches which have blank internal names.
5. Move the cursor along the fourth row of swatches.

OBSERVED RESULT
2. The tooltip name updates and follows the cursor as the cursor moves over the different swatches.
3. The name "Untitled" is displayed but its location does not follow the cursor movement along the row of swatches.
4. Same as 2.
5. The tooltip swatch name is not updated.
6. The tooltip does not follow the cursor.

EXPECTED RESULT
3. The displayed name should move to follow the cursor along the swatches.
5. The displayed name should update to indicate a blank name, in some way
6. The tooltip should follow the cursor.

SOFTWARE/OS VERSIONS
Krita

 Version: 4.4.3-alpha (git 79dcac7)
 Languages: en_GB, en, en, en_GB, en
 Hidpi: false

Qt

  Version (compiled): 5.12.9
  Version (loaded): 5.12.9

OS Information

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

OpenGL Info
 
  Vendor:  "NVIDIA Corporation" 
  Renderer:  "GeForce GTX 750 Ti/PCIe/SSE2" 
  Version:  "4.6.0 NVIDIA 450.80.02" 
  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
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 30
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Use AMD Vectorization Workaround: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 900
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Use Win8 Pointer Input: false
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false
Comment 1 Ahab Greybeard 2021-01-06 11:48:35 UTC
The Wishlist bug associated with this palette docker UI/UX bug is:
https://bugs.kde.org/show_bug.cgi?id=431221
Comment 2 Halla Rempt 2021-01-06 11:49:04 UTC
Since tooltips are handled by the toolkit, not by Krita, I suspect that there's a check somewhere in Qt for the string, and if the string is the same, the tooltip isn't moved.
Comment 3 Halla Rempt 2021-01-06 13:01:02 UTC
Git commit 2c90be8d2ad8dbb345c0ed5d6afb196d69182cbb by Halla Rempt.
Committed on 06/01/2021 at 12:59.
Pushed by rempt into branch 'master'.

Add channel values to the palette swatch tooltip

With this change, I cannot reproduce the tooltips not moving
their position.
Related: bug 431221

M  +1    -1    libs/widgets/KisPaletteModel.cpp

https://invent.kde.org/graphics/krita/commit/2c90be8d2ad8dbb345c0ed5d6afb196d69182cbb
Comment 4 Halla Rempt 2021-01-06 13:01:39 UTC
Git commit b017ca6dc02007e8ef50f9ea9782d5f90a28e13b by Halla Rempt.
Committed on 06/01/2021 at 13:01.
Pushed by rempt into branch 'krita/4.3'.

Add channel values to the palette swatch tooltip

With this change, I cannot reproduce the tooltips not moving
their position.
Related: bug 431221
(cherry picked from commit 2c90be8d2ad8dbb345c0ed5d6afb196d69182cbb)

M  +1    -1    libs/widgets/KisPaletteModel.cpp

https://invent.kde.org/graphics/krita/commit/b017ca6dc02007e8ef50f9ea9782d5f90a28e13b
Comment 5 Halla Rempt 2021-01-06 13:59:26 UTC
Hm, now that I am thinking of it, it might be that it works for me because I'm using Qt 5.15, not the 5.12 we use for appimages. Let's check tomorrow's nightly.
Comment 6 Ahab Greybeard 2021-01-06 21:40:45 UTC
Testing with the Jan 06 4.4.3 alpha (git b017ca6) appimage, Qt version 5.12.9:

The bug report is resolved.

The palette does store the Alpha value and displays with the correct appearance for a low alpha colour but when selected for use, the palette alpha does not overide the Opacity set on the Toolbar slider. I don't know if that's to be expected or is a separate issue.
Comment 7 Halla Rempt 2021-01-07 10:20:55 UTC
Ah, no, we have never used the alpha of the palette colors. Actually, I never realized that palettes had the alpha defined. Maybe we should...
Comment 8 Ahab Greybeard 2021-01-07 12:21:02 UTC
Wishlist bug reported:
https://bugs.kde.org/show_bug.cgi?id=431260
Comment 9 Halla Rempt 2021-01-09 09:46:17 UTC
Git commit 011cf6195b82d6e198742c2122578a79dbc57eea by Halla Rempt.
Committed on 06/01/2021 at 13:01.
Pushed by rempt into branch 'krita/4.4.2'.

Add channel values to the palette swatch tooltip

With this change, I cannot reproduce the tooltips not moving
their position.
Related: bug 431221
(cherry picked from commit 2c90be8d2ad8dbb345c0ed5d6afb196d69182cbb)

M  +1    -1    libs/widgets/KisPaletteModel.cpp

https://invent.kde.org/graphics/krita/commit/011cf6195b82d6e198742c2122578a79dbc57eea