Bug 415438 - Palettes have UI/Usability issues with new palettes and adding colours
Summary: Palettes have UI/Usability issues with new palettes and adding colours
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Resource Management (show other bugs)
Version: nightly build (please specify the git hash!)
Platform: Debian stable Linux
: NOR minor
Target Milestone: ---
Assignee: Halla Rempt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-21 22:18 UTC by Ahab Greybeard
Modified: 2021-04-09 13:29 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ahab Greybeard 2019-12-21 22:18:47 UTC
SUMMARY
These problems are in all versions but the testing was done with the Dec 20th 4.3.0 prealpha (git d0ced0f) appimage.

They are minor but may be annoying/disruptive for new users.

STEPS TO REPRODUCE
1. Make a new palette called New-1.
Note that it appears at the bottom of the palette docker alphabetical list even though it should be at or near the top. (This will be 'fixed' after a restart.)

2. Make a few different coloured paint stokes on the canvas then select the Color Selector (picker) Tool.
Note that in the Tool Options docker, in the list of palettes, New-1 is at the end of the alphabetical list even though it should be at or near the top. (This will be 'fixed' after a restart.)

3. Select New-1 in the tool options and set 'Add to palette'.

4. This is the main problem:
Use the colour picker to pick the colours on the canvas, one after the other.
Note that the colour does not appear in the New-1 palette until the next colour is picked. Sometimes picked colours do not appear at all even after many more have been picked.
Note that the palette will show all the picked colours if you click anywhere in the palette docker.
Note that in the palette docker, in the list of palettes, the thumbnail for New-1 does not show any of the colours that have been picked even if they have been made to show in the main palette by clicking on the palette docker. (This will be fixed after a restart.)
Note that this happens for any existing personal/writable palette.


OBSERVED RESULT
See Steps To Reproduce

EXPECTED RESULT
The noted problems should not happen (but steps 1-3 are quite minor).

SOFTWARE/OS VERSIONS
Krita

 Version: 4.3.0-prealpha (git d0ced0f)
 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

ADDITIONAL INFORMATION
Comment 1 Ahab Greybeard 2019-12-22 11:37:34 UTC
ERROR CORRECTION:
In testing, the new palette was called 'A-New-1', hence the notes about being near the top of an alphabetic list.
In the bug report, this was mistakenly written as 'New-1'.
Comment 2 Tiar 2019-12-27 16:28:15 UTC
I changed it to Resource Management because there is a chance it will be fixed or different after resource rewrite, so it doesn't seem  to be worth checking now.

I'm confirming the issue though.
Comment 3 Halla Rempt 2021-04-09 13:16:13 UTC
1. The list in the docker palette chooser popup now is reordered correctly.
2. The list in the combobox is still sorted by insertion in the database (probably because it uses the wrong model)
3. Colors are now added on click, not when the next color is picked
4. The thumbnail now gets updated correctly

(tested with c152d1f49015e5799b1b1529457eda10bf3efb5e
Comment 4 Halla Rempt 2021-04-09 13:29:27 UTC
Git commit daee4d9c0480b98e2449b6098073460dc33ed1d2 by Halla Rempt.
Committed on 09/04/2021 at 13:29.
Pushed by rempt into branch 'master'.

Keep the palette list in the color picker sorted

M  +7    -11   plugins/tools/basictools/kis_tool_colorsampler.cc
M  +2    -2    plugins/tools/basictools/kis_tool_colorsampler.h

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