The list of colours are read by the colour manager from the palettes and written to a m_Doc property.

The list of used colors can be read throug void m_Doc->getUsedColor(& ColorList &colorsToUse, bool spot)

Hide unused colours

Adding a preference field

Add a property in prefsmanager.h

Add a method for reading and one for writing it in prefsmanager.cpp

Setting the preference from the Colour Management Dialog

Set the prefsManager as a local variable

Add a checkbox to the dialog

Read and set the preference

"Notify" the strings that are to be translated

Correctly filter the list according to the preference

Filter out the hidden colours in every colour list

Find all the colour lists

Check if the unused are to be shown, and if not, don't show them (probably, through asking m_Doc->getUsedColor()

Non alphabetical order of the colours

Some general ideas:

Put b/w on top

Put grayscales at the end

An implementation proposal by kirun0:

First, all greyscale colours were moved to the end of the list.

Then, I converted all colours to HSL colourspace.

The colours were grouped by hue, into chunks of about 30 degrees.

They were then sorted by sat+lum, so the darker colours came first, followed by the bold colours, and the light *and washed out ones last (within the group)

This was, of course for a single fixed set, the parameters will probablary need tweaking for any other given set

Translating colour names

Filter by color type

All

Used

RGB

CMYK

Spot

Grayscales

Accessibility

Faramond asked to extend the drop-down boxes in order to allow jumps to a desired named color by typing the first few letters of its name (like in a file manager.) The drop-downs could also be modified such that typing in a number jumps to color with the same number.