Diffusion Krita 93ef7c8ef97e

Merge in new internal color picker dialog!

Authored by woltherav on Sep 6 2016, 2:17 PM.

Description

Merge in new internal color picker dialog!

Tremble, dear commit reader, for a new era of color picking has arrived!

This is the second part of my Google Summer of Code 206 project. It is a internal color selector, that can handle wide-gamut colors, pick colors from the screen (which is smart enough to identify Krita canvases and pick the correct color managed color that way). It also changes properly using the lut manager exposure controls, and it’s main element, the visual color selector can use the advanced color selector config.

This selector is also intergrated into a kis_color_button and used where ever I could port it reliably. It’ll also show up in the pop-up palette.

Furthermore, this merge contains little palette usability things, like being able to see the swatch name, search by swatch name and have the split->layer functionality use a palette to name the resultant layers. Also allows custom-pattern to be mindful of the active selection.

Anyway, needs a lot of testing!

CCMAIL:kimageshop@kde.org
Ref T2337
Ref T2438

Squashed commit of the following:

commit 1cf8527877d316b0c3149494535740b7ff3e5c6f
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Sep 6 16:16:24 2016 +0200

Fix build

commit d39cecc36ab9fa2f32de8fa3cefe7072c1824dcf
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Sep 6 15:32:08 2016 +0200

Rename the internal color selector dialog to reflect it being a dialog

commit afc8658b4114df00644061105b4ed56f08cc257b
Merge: 27d4034 91bdcfe
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Sep 6 15:22:33 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 27d4034efe5d37cde00bb3dd33cab985f6deacd2
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Sep 3 16:35:23 2016 +0200

Fix screencolor picker label.

Ref T2438

commit 29d34d885455f1e5fbfd3ba0e1c5c92974d4f2bf
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Sep 3 16:20:07 2016 +0200

Fix color conversion issues with the selector.

Now the selector will show grayscale on a mask, and will update upon changing the image color space.

Ref T2438

commit 3dc397583dbb93b4a362abce1ad6df50ee2c7485
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Sep 2 17:47:53 2016 +0200

Simplify Gradient Map filter and make it usable as a filter layer.

There's some awkwardness with the first two generic gradients as the color isn't stored, but this is good for now.

Fixes T1837

commit 4a4f704e1700a24f214a844879df09128df64b95
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 17:34:00 2016 +0200

Fix drawing the gradient

commit 13f83919be65000fc1682940afe6c81fdcc8c1ae
Author: Julian Thijssen <Nimthora@gmail.com>
Date: Fri Sep 2 17:30:51 2016 +0200

Nearest neighbour filtering applies on all zoom levels

commit 0a4a62bc9370878441d57f87ed50fbbc7d394ef7
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 16:36:02 2016 +0200

Refactor KisColorSource to use KoColor in a saner way

commit 58bf4b9ab601c6f5f0aa593c5e86c20ee994e545
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 16:21:40 2016 +0200

Make KoSegmentGradient::colorAt threadsafe

commit 54df09f834a5fa36db6b98742f7ac05ec9b90170
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 16:21:19 2016 +0200

Make this class safe

It means we don't cache the QImage, but there is no alternative

commit 362c78b89d997845e0fdd7764dd896d031ac632c
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 16:21:02 2016 +0200

Warn that this class is not threadsafe

commit cd02553f552f01cd73c2ec57874195f82d4110f3
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 16:06:51 2016 +0200

Make KoStopGradient::colorAt threadsave

Sneakily, the "buffer" variable was made a class variable. Marking
it mutable allows us to change it from a const function, which hides
the fact that this is global data (doubly hidden by there not being
an m_ prefix), which makes the const function thread unsafe.

commit 904cc82dbdc387e93a478a4a661b7122ce8b965e
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 15:56:24 2016 +0200

Also revert the patch

commit 349b5e776205e844268835f603f36bf89c8eb7b3
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 14:57:27 2016 +0200

Try harder to find the tag files on Windows and OSX

This is yet another KoResourcePaths problem...
BUG:366757

commit dbaa7bcdcdaf3ce139227988dca4ba2e6a85f191
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 13:56:14 2016 +0200

Fix logic error...

I shouldn't code during a sprint, only afterwards

commit 71692523af5cd589e3b5059b8960a00b446c8e20
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 12:09:42 2016 +0200

Fix typo

commit 88bf822c445752d10ea962e88b8e31c8ad8cf337
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 11:56:59 2016 +0200

Go back to ki18n 5.17 for now

To avoid the system-language bug until it's fixed.
CCBUG:368007

commit 6f057f4659283fb847f4a74f6781541e4cf91672
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 11:35:54 2016 +0200

Remove unused ui file

(Was forgotten in

commit 010c0f3066d872d0f91ec3a38057b4fcaedca4ad
Author: Boudewijn Rempt <boud@valdyas.org>
Date:   Sat Mar 30 12:22:40 2013 +0100

    Remove unimplemented custom palette dialog
)

commit 4e053745797b9a70ef98555465f6dadb40eed117
Author: Eugene Ingerman <geneing@gmail.com>
Date: Tue Aug 30 22:14:51 2016 -0700

Fixing https://bugs.kde.org/show_bug.cgi?id=367901. Removing wait which
causes possible race condition.

commit 99b11b2bfa6a5b3af93c83de5877e4b1edbe07ee
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Fri Sep 2 14:30:20 2016 +0200

Improve the view selection when color picking

We can easily grab a list of all existing views and check whether
they are under the cursor. Color picking from a krita image now
gets the color directly no matter the active window or view.

commit 16c8832c93424f208ad54735777bdf2756c92161
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Sep 2 12:18:36 2016 +0200

Port the last areas to use the KisColorButton as far as possible.

There's still the grid docker, which has a bit of a UI problem, and then rest is flake and friends.

Ref T2438

commit ef9aeb29492afed382ee8e153c6290867e42b6d3
Merge: ceaafb0 58364da
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Sep 1 22:04:37 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit ceaafb000d1ee9da7078bb589f418b59218f6948
Merge: f70701d 853e42f
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Sep 1 13:30:58 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit f70701dced469bdcd82aaadcc868d3bb06507465
Merge: ed64943 fe21cb5
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 31 22:37:24 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit ed649432567924e02ddb7c0ac45f259f0eab4b3a
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 31 22:32:02 2016 +0200

Add the kiscolorbutton in more places

commit d635b53e2586af1e811d00c2f4b7110694ec21a6
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Mon Aug 29 11:52:25 2016 +0200

Make the UI layout of the internal color selector a little nicer.

Ref T2438

commit cf7c567a9194d999fa1c2dd90a20d9353ba61ee3
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sun Aug 28 15:08:03 2016 +0200

Fix issue with gamut alarm default space

commit 364d1b3cc873cc3fa5662299405de10f390fb12e
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sun Aug 28 15:02:21 2016 +0200

Use sRGB for the UI

commit 23dcf5d9d0f3ff2b25b7e86d826d48be37b322e2
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sun Aug 28 14:54:46 2016 +0200

Replace kcolorbutton with new kiscolorbutton in several places.

The new dialog is accesible from all these places.

There's still several places where they still need to be replaced.

Ref T2438

commit c5621355279c211721a74e2d4affa0d322e3de9f
Author: Sven Langkamp <sven.langkamp@gmail.com>
Date: Sat Aug 27 10:50:40 2016 +0200

Pick color from canvas directly if the cursor is over the canvas

commit 1afa4384e84fa5af6f8681545787f81cdd4f183e
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Aug 26 18:29:19 2016 +0200

Use internal visual selector in the Pop-up palette.

This means you finally can have your shape of choice inside the pop-up palette!

Needs testing, obviously.

Ref T2438

commit 9a07179d79d8ed3333cd772c002a98e27df03138
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Aug 26 16:10:31 2016 +0200

Fix updating in modal dialog.

Also add an extra check for 8bit so we can be a bit more precise in 16bit and higher.

Ref T2438

commit cdd0cd6a54876dbba5c102160e4bf523fec64b39
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Aug 26 15:15:24 2016 +0200

Fix offset for circular shape.

commit 97372d6eef81bd2623e5575013045f73d5f95ed0
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Aug 25 11:43:14 2016 +0200

Make the custom pattern widget take the selection into account.

Now, if you have a selection, it'll use only that area to retreive the pattern from.

I was thinking of whether it needed an extra toggle, but both Scott and Boud thought it was implicit that having a selection means you want to use it.

This is my first time playing with selection code, so a glance would be nice.

Auditors: dkazakov

commit de26f01fcd4544bffc11947b64e08418666135f2
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 24 19:20:13 2016 +0200

Check for colorspaces with or not and, a cs can't be all at the same time.

This fixes floating point from the visual selector shape again. :)

Ref T2438

commit 80a8d54ed249a6c65a46db5181a17606a579b693
Merge: 389c2bd da04c19
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 24 16:22:56 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 389c2bd5123af74918bc26949823dcb75867bafb
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 24 16:21:23 2016 +0200

Fork KColorButton, make it use internal selector dialog.

For now only in the fill layers.

Ref T2438

commit c71c0b696915258aae3adad4345005fadb3e561a
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 24 14:37:50 2016 +0200

Add config struct to kisinternalcolorselector

Ref T2438

commit 439cc77b25571338dfc0c23cf3f09023cdd9d344
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 24 13:54:36 2016 +0200

Add offset to circle and rectangle as well.

And more cursor fixes... grrrr.

commit fcdc7cd1d153942dde834c5532dfd5816132cd75
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 24 12:43:06 2016 +0200

Fix errors in HSL formula.

Also fix hsx cursor wiggling position _again_...

commit ba6dd494ee239ad65d5306aca8c46abee7f04bea
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 24 11:18:01 2016 +0200

Fix loading on config change.

commit 28505a7455211f9448abb880af83b078b3e8fd2c
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 24 10:33:52 2016 +0200

Fix HSX cursor position on 0 sat, AGAIN.

This is the best I can give it.

commit 68739e5dc010f830667b3a949963a91656651dd3
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 24 08:57:09 2016 +0200

Use Advanced Color Selector Configuration to set visual's shape, p.2

The debugging.

Probably not all bugs, but the obvious ones are gone now.

commit e7d52d68b75edfd09200926567536fec25e9a4e8
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 24 08:05:58 2016 +0200

Use Advanced Color Selector Configuration to set visual's shape, P3

P2 came before p2. Anyway, this implements resizing. Now left-over debugging.

commit 6995071af937c32fcb92d8b0c20e42135d427a51
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 24 00:12:25 2016 +0200

Use Advanced Color Selector Configuration to set visual's shape, P1

Now only need p2: the debugging, and p3: the resizening...

But happy this is out of the way.

Ref T2438

commit 763a373b26cc1d2a3ab57e8982ede68ca727bb32
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 23 22:15:09 2016 +0200

Add Hex code widget that only outputs and reads sRGB colors.

Nothing else understands having hexcode in other spaces anyway.

Ref T2438

commit 04707daf21d4201684dc8860151678a276331d76
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Tue Aug 23 18:55:04 2016 +0200

Move KisColorInput to libs/ui/widgets

commit fbc74f15121590b10144da71a777709f1c75fab5
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 23 16:11:21 2016 +0200

Add colorspace locking to the internal selector.

So it doesn't flip between colorspaces all the time.

Also fixes a crash in KoDualColorButton

Ref T2438

commit c33f2ae2939130d8a05b5e6596d07eba95bf87b7
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 23 15:02:47 2016 +0200

Remove qstring compare in commonly called function.

Should speed things up.

commit 12799acad033e3825399af81341dcc78f531907e
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 23 14:44:46 2016 +0200

Make mouse press event select a color too.

Also speed up the timers a little bit.

commit b97cef85d33eb71fc8ef4057d4c04bdf95edb986
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 23 13:58:11 2016 +0200

Allow the modal dialog to have ok/cancel buttons as well.

According to boud, some desktop enviroments have no close button on dialogs.

Ref T2438

commit 960bde483a5f66918bfb5507b7e15559d5d9cb6e
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 23 13:56:55 2016 +0200

Make color selector faster.

By removing a mask check.

Ref T2438

commit e06052e2509701fbe31a1e80fa89dd6237ec8ad0
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 23 10:52:40 2016 +0200

Turn on tagging for palettes.

This was a matter of toggling an option. Beware that tagging with palettes will have all the bugs associated with the other tagging options.

With the colorname hover-options, this means that this fixes
BUG:360453

commit 82d1a1b795f9897e6fb9e86dd21a26eac1cf9814
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 23 10:40:41 2016 +0200

Make the color names drop down update when you choose a color on the palette itself.

Seemed like it should to me.

commit e0ed2fd7586e068121e22cbea31a4b7d82379c99
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 23 10:29:40 2016 +0200

Add the ability to let the layer split use color names from a palette.

This also implements two 'closest match' functions in kocolorset. One for the name, the other only for the index.

BUG:348837

commit 73eb12ee2571759c86c8a55c135ec4ecd769e396
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Mon Aug 22 16:52:10 2016 +0200

Add a little combobox that allows you to search the palette colornames

If I was better with regexp it might've been a bit smoother, but at the least you can now type in a colorname to select it quickly.

Ref T2438

commit 68c2c8ed8ca8c6c1d820ed4a6888206a43b58fc1
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sun Aug 21 14:29:24 2016 +0200

Add some offset to the triangle selector.

Also fix some issues with setting hsv and fix and remove some debug.

commit 6d3b11f6746652844616b0a52a7e86b5441181b2
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sun Aug 21 11:46:46 2016 +0200

Make column-count work with colorset widget.

Now the palette swatches align :)

Ref 2438

commit bc1ad37b974507b203ec64e9e98d30385e2e6d29
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 20 23:30:51 2016 +0200

Add using the colornames in the approprite colorset widgets.

The palette docker doesn't have the ability to give tooltips due being a slightly different model, so hence the extra label.

I also tried setting the kocolorsetwidget the size of the current column count, but this crashes on startup for reasons I cannot understand.

commit 22ccd6620964769274e13ea5778b9e7dfe29e1fc
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 20 21:42:32 2016 +0200

Make prettier and change previous color focus event.

Ref 2438

commit 8c2914254e053f314b803b4f064c5534a7aeb4ba
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 20 19:24:35 2016 +0200

change kodualcolorbutton about to simply code.

This doesn't prevent a crash when closing all available documents, sadly.

commit eb1232be68bae9d71130d4c3a56f4f139b89c4ba
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 20 18:22:49 2016 +0200

Fix channel-order, hue rortaton and the mirrored circle border

commit 0718fb65ab9fb4d9168e2ca76bb2600a754ebb1e
Merge: 541b596 bba9f1c
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 20 16:49:09 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 541b596e74547fcbd8e14857e08685e88e9450cd
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 20 16:47:42 2016 +0200

Make drawing the image slightly faster.

But it's not fast enough yet. Also using QImage everywhere now, it's a bit more sensible...

Ref T2438

commit b440e55a6094128fb6f3a1da0f41045ee4a4edc9
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 20 14:42:56 2016 +0200

Fix a bunch of minor issues.

commit 6655f984354de967f9217787e8e6a3eda3b5bb74
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 20 14:28:44 2016 +0200

Add display color converters to the KoColorSetWidget/KoColorPatch

Ref T2438

commit b5a0d6c36c15f0e9d1d5ba821f623df151122a8a
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 20 13:30:35 2016 +0200

Fix selector on single-dimension hue wheel, also rotate hue.

Ref T2438

commit f8fb2e088596ff430db5d4a74fd18f4fbbd58f82
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 20 12:34:19 2016 +0200

Add cursor position to the triangle.

I spent 9+ hours trying to figure out how to make one where the value length fully vertical, but failed, so gave up and copied the kis_color_selector_triangle solution.

Ref 2438

commit 36e4b72ceca1f6d7c72372b218decb463cdfd4df
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Aug 19 12:18:40 2016 +0200

Attempt to fix flickering... this doesn't fix it :/

Makes the code simpler though...

commit 0442f67e2c9435705ccc5a994af6a9984a0a496d
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Aug 19 12:05:55 2016 +0200

Add anti-aliasing to the shapes.

The jaggies were starting to annoy me.

Might make the pixmap into a image later just so we can have proper transparency.

commit 8aef9fe603f284572b1c67ca0b5153bf92067023
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Aug 19 11:23:55 2016 +0200

Fix clamping again.

The previous code made not much sense...

commit 8737642881dc971e9b1469cae7dd5f9f283787fe
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Aug 19 00:00:28 2016 +0200

Add triangle and elliptical visual selectors and set default to ring+triangle

This is a bit finicky still. Also weird bugs with Qt cause flickering when changing widgets, due to having to force them to show. :/ Might need to think a bit longer about this...

Ref T2438

commit fd5f3a2d716b43a4940868f24ea549224391a172
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Aug 18 12:38:08 2016 +0200

Add mirrored border.

This is useful for non-cyclic channels.

commit d7a4e7e9175c18de53d89d834ca544f26500517d
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Aug 18 02:19:10 2016 +0200

Implement rectangle border

Not too useful and actually a little slow, but good practice.

commit 20febd119bea269cca7c58efa6c05f592eee4fcd
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 17 21:54:38 2016 +0200

Add KoColorSetWidget, and KoColorPatches for current/previous color

Also rearranged the widget a lot. The KoColorSetWidget is automatically filled with the first palette in the list(which is, as always, concept cookie), and the palette is saved... right now on leave and accept events, which might not be the most intuitive, but at the least it is saved and loaded correctly.

Neither widget has the color management from the displayrenderer, as that would require me editing those directly.

I would like an eye on said save/load code.
Auditors: rempt

commit d9fc35c32ce0886fbeb43c85249af40b4c254b98
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 17 17:35:32 2016 +0200

Add anti-cursor resetting measures, and add docs.

The cursor won't flip about when desaturated, but saturation itself is
still very tricky. Either way, outside updates won't affect a thing.

commit d09605cbaefe1d65b92ba843ae75eefc7f76daa0
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 17 16:07:17 2016 +0200

Fix HSV mode

Turns out there was an 'undefined' value...

Ref T2438

commit 5282f861e57ed94d9224b993b5a81c1913f5fdc1
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 17 15:39:40 2016 +0200

Do clamping in color space traits properly.

Previous version just didn't work. This fixes the HSL output.

Ref T2438

commit c6119f6d061b61afb0d8ff240e86bcc21ce5cf4d
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 17 15:30:50 2016 +0200

Don't manage non-floating-point spaces

commit 589b5c645eb276104d2cf804a4ce6a82741be2b0
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 17 12:59:27 2016 +0200

Fix display configuration updating.

That's now fully working :)

Ref T2438

commit 553efe20ac7ea8eb2f8865cc00779b9b2b736439
Merge: e4b42d2 ffc4d9c
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 16 20:52:03 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit e4b42d286eea279a22a26494de059ca8ab474ba1
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 16 20:48:32 2016 +0200

Fix non-painting space deformation

By disabling it... this looks a bit odd, might be changed.

Ref T2337

commit 0246b4ba3d7d1948e5de80426ca707c2da583350
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 16 18:58:22 2016 +0200

Enable High range color picking for the visual selector.

It has huge issues when using a color space that isn't the displayrenderer's but I think that can be fixed.

Ref T2337

commit 62a4f7c6aea23277d40acd5700ac28b3dada1174
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 16 18:57:35 2016 +0200

Fix spinbox updating float.

Again, could be prettier.

Ref T2337

commit ae0fd531f89f9c2bd000de318de9d3bf05c0f3af
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 16 18:25:25 2016 +0200

Enable typing hdr values into spinbox.

This could probably be a little more elegant...

Ref 2337

commit a5c0408ae52c26afcca6298ebf6188a04b2aafe9
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 16 17:30:01 2016 +0200

Make the display color converter of the dualcolor button get updated.

This enables the the display color converter on the internal color selector too.
There are still update and range bugs, the range bugs being tricky and the update bugs being probably due wrong signal being connect, but I am pretty pleased with this.

Ref T2337

commit ca0a03338f47890197c65d3f47d46c0b28327505
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 16 15:09:59 2016 +0200

Add HSI and HSY support to the visual color selector.

This was mostly an experiment, which was succesful in proving to me that
the HSL and HSV functions have issues with non-chromatic values. HSY and HSI are more notably slow, so kept HSL as the RGB default.

Ref T2337

commit b7a45b003986014da93a05d7f0b88fade41183ce
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 16 15:08:45 2016 +0200

Clamp normalised values before pouring into pixel.

This should prevent roll-overs, but it doesn't fix the bug I was initially trying to fix, which instead seems to be a bugged HSL function.

Ref 2337

commit db436ad7efffe95790be93a182254331df03b197
Merge: 00b8d54 a819895
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Aug 16 12:22:54 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 00b8d54f9fafcb07b2571faff9b1bf0d533006ae
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Mon Aug 15 21:33:40 2016 +0200

Attempt to further add displayconverter integration...

I can't get much further here due the inability for kodualcolorbutton
to have a display renderer, due MVC. Fun times...

Ref T2337

commit 0eee33995a4c1535d5388007dc51d4586ccbe15f
Merge: 0c201bc d07cdb6
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Mon Aug 15 17:05:50 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 0c201bc0b79c2e328f79c26ac1b624990cfbc7a5
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Mon Aug 15 17:04:54 2016 +0200

Initial implementation displayrenderer

Will need to change it now...

commit 9c39f81cc1f21a23d33b5714fecd57f1c90f846e
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Mon Aug 15 15:25:22 2016 +0200

Fix rounding-error wiggles.

By not allowing the thing to update it self...

Ref T2337

commit c52ca3f46c8bfd5d53385f84a17d1869e3ae403f
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Mon Aug 15 14:42:22 2016 +0200

Make moving the cursor around more pleasant

Ref T2337

commit 5f1619768e77354adfd60d54d63def27fce280da
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Mon Aug 15 13:23:00 2016 +0200

Fix order of Hue, make single-dimension-cursors nicer.

Ref 2337

commit 692d4d261de781aaf6901b984639eeedcc1ad967
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sun Aug 14 19:28:34 2016 +0200

Fix order-error.

Ref 2337

commit 9acd7f1558a323957cb336061e747da73c1a809c
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sun Aug 14 18:19:32 2016 +0200

Fix HSL and HSV

Of course, using HSL and HSV brings back our friend the 'wigglyness', so I'll need to do something about that in time.

Ref T2337
Ref T2438

commit 31931e3a522e4f58735b17b4547c4719b2cfe6d6
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sun Aug 14 17:38:32 2016 +0200

Add visual selector shapes.

These now work fully for the channels. They give nice squares.
I made a base class that only deals with the events and the classes, and added a rectangular subclass. This way we can make our circles and wheels and whatever easily.

Ref T2337
Ref T2438

commit e3f78b79cd77c7e1b1fdaf0b59f1780cc9380628
Merge: 273dd04 ebc8a43
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 13 15:01:25 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 273dd04a1cd989c10642294d26b8a776df665bf0
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 13 14:57:12 2016 +0200

Add screen color picking widget.

This is a widget with a button that allows you to select anywhere on the screen. It's not smart enough yet to recognise Krita windows and canvases and to select the color managed value, but it is a nice self contained widget, which I find pretty impressive already.

Ref T2337, T2838

commit ea086782934840da5fea9f58eb0cbd1572f3a327
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 10 23:41:49 2016 +0200

Give spinboxes names, fix order spinboxes, do cleanup.

Ref T2337 T2438

commit 37d1a1cc9f201213c77b896401ce022281c5d02e
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 10 16:46:57 2016 +0200

Change spinboxes to numerical spinboxes.

Ref T2337

commit 99feb3b812322c2d926d33a7437e6aab66723d93
Merge: 6f18c4c 92c253a
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 10 16:09:58 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 6f18c4c3272a8b5a7eb85febee6b304a18a99553
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Aug 10 16:05:58 2016 +0200

Make internal color selector dialog possible to do modal mode.

So right now, KoDualColorButton has Non-modal mode on the foreground color and modal mode on the background color.

Also contains a lot of cleanup, the UI files for example now working
properly.

Ref T2337 T2438

commit fbdce997fd703106a33ea4918a39e0db42f9f983
Merge: 3839839 6530b6d
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 6 12:47:42 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 38398393973fb993ae0644ba777c5214ba63a2a0
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 6 12:42:37 2016 +0200

Remove signal compressor, use block signals instead.

This makes the updating of the spinboxes much easier. Might
be using this method more commonly.

Ref T2337, T2438

commit 55350f021cb559ffe823fa5a1d8d170684a494ba
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sat Aug 6 01:16:17 2016 +0200

Move KoDualColorButton, attach internal color selector.

It doesn't crash, it updates, gets updated, can select colors, wide gamut colors, changes configuration based
on selected color's color space... It still needs to be cleaned up and have fluid updating. Also 90% of the rest of
the selector, but I first want to get this updating slot signal mess clean.

Can I keep using QObject::sender()? It's making my life very easy.

Auditors: rempt
Ref T2337, T2438

commit 6d336838602b0ad25ebb35ed17d118b6ed38f588
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jul 28 18:04:40 2016 +0200

Add very simple 'colorselection' dialog with a widget containing spinboxes.

Right now the spinbox widget is able to adapt itself to all colorspaces, and having it
as a separate widget makes it into a nice building block for other uses too.

I can't actually connect this to anything, because all our color buttons seem to be K and Ko,
so that will be the big task tomorrow...

Ref: T2337, T2438
Auditors: rempt

commit 7ce94758d0e459a86fd2eb9f75066322a78e98aa
Merge: 38c4fc3 9ed50d1
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Jul 27 22:21:40 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 38c4fc32021af778b9446a05502c885087bc0ff2
Merge: 5477611 e308ed0
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Jun 28 17:46:16 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 54776118b78a3f32b408de25f9c7b3532630b5df
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Jun 28 17:43:20 2016 +0200

Add rant why per-shot looks won't work after wasting afternoon on it.

The tl;dr is that OCIO's documentation is extremely vague.

Ref T2337

commit a3b224b6958db0c31a2df4ba47d19d87bf9f9833
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Jun 24 13:16:01 2016 +0200

Fix loading of default gamut warning color.

Always set the color space of the kocolor, kids.

ref T2337

commit 652405d3acd67d4e87d788d0b77fb67768a5cc3b
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Jun 24 12:54:17 2016 +0200

Add adaptation state slider.

This allows you to set whether or not to adapt the white point, that is,
to set the white point to the screen white(full slider) or to convert all whiteson screen to the white point of the profile when using absolute colorimetric
as intent.

This is useful to simulate paper-colour.

Ref T2337

commit aea525ca6dc10b6867153da52fcf215a80adc0ba
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Fri Jun 24 10:32:37 2016 +0200

Fix builds on gcc 6

commit 67f4e5a21f873f5a3d08d3bb90250cb5b5806e2b
Merge: 519f9c1 159a612
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 23 22:00:22 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 519f9c1fbe43edd6922b0cc5ef4ed85f17fd6dfc
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 23 19:49:56 2016 +0200

Add option to set default Proofing Options.

These will work for images with no proofing options, so, old loaded images
and new images. With this it is feature complete, and people can start testing.

Ref T2337
Ref T1238

commit 062db74d24fb7e656e8a06cbddde560ab03166b6
Merge: 2e057e7 7625539
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 23 15:16:54 2016 +0200

Merge branch 'master' into krita-testing-wolthera

commit 2e057e7a5339c3e3657fef562bbe716c672805b4
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 23 15:15:24 2016 +0200

Clean up all the debug messages.

It's... quieter in the terminal now.

Ref T2337

commit 7ff7e60b5f423cdbeaa4089d8a6e7b2cd33129ca
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 23 15:01:02 2016 +0200

Cleanup: Make projection color a defined tag.

commit 604efc8ddb21d38ad8a040b19ac7fa33cfe2e8d9
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 23 14:50:20 2016 +0200

Not sure if this isn't the correct code instead...

Ref T2337

commit 7c669703ff0c7fdf755d8070537c339bbcb02533
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 23 14:42:04 2016 +0200

Load embedded proofing profiles if they exist, and add them to the profile registery.

Needs testing for obvious reasons.

Ref T2337

commit 119906b23bf0e1a3b8acfaf5828cdfcbaa92e77d
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 23 14:27:07 2016 +0200

Add embedding of the proofing profile.

This is so that we can later unembed them.

Ref T2337

commit 9ef1dad773605e32d7018ccf7a90c1817d430d89
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 23 14:15:47 2016 +0200

Load Warning Colors properly from file.

Now the out of gamut warning can be written into file as XML
and loaded from file as XML.

Ref T2337

commit 6a57cf08fb170e4d32341ede0f3733be3ab1f37e
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 23 13:49:49 2016 +0200

Fix naming conventions.

I was using gamut warnings/alarms, and softproofing and soft proofing.

The standard is (Out of )Gamut Warnings and Soft Proofing.

Ref T2337

commit 4faa8b574da039d9dc86f099841bb901495e19a9
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 23 13:37:49 2016 +0200

Disable softproofing in floating point spaces.

There's a bunch of little niggling bugs that crop up when soft proofing
in floating point spaces, amongst which the inability of the proofing
mechanism to see floating point values higher than 1.0 fall outside of
the gamut of the color space, let alone recognising whether it can go
inside the gamut of the proofing space.

See also http://ninedegreesbelow.com/bug-reports/soft-proofing-problems.html

For now, it's best to disable softproofing on floating point spaces.
Might need a more official check, though.

Ref 2337

commit 91d7da8c41c4200729e87f98269fdf011422bb07
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Jun 22 16:26:52 2016 +0200

Make views smart enough to track softproof/gamutcheck-state.

Also add a floating message to say when the softproofing or gamutcheck
is turned on in the view. Wording may change.

Ref T2337

commit 5c48dd2c12e37ff0a75e098368449d260ff524bc
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Jun 22 16:26:35 2016 +0200

Fix Build

commit 6bacfcda6005622669a3f4a47da59a759838797c
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Jun 22 14:45:52 2016 +0200

Add attempt at saving color to xml.

This fails due to me not being able to load the xml, due object-bonanza.

ref T2337

commit 3bbf025b32ae53ff4601f188901541fcb80f63a7
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Jun 22 12:49:06 2016 +0200

Intitial saving/loading of config.[unstable]

Works, but might change later.

commit 1f733e28cb7f87fb4bea5a14159e86c5a5dd852f
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Jun 21 20:21:15 2016 +0200

Refactor the proofing transform system for better caching.

This now makes the transform separately from the actual transforming,
which means it's easier to cache and to update. Softproofing is now
gone from usable to user-friendly.

Still needs saving/loading and little setting-bugs fixed.

ref T2337

commit 8371c4179b1a8025e727528c5b7ce09ee3562ec9
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Jun 21 18:20:48 2016 +0200

Enable Gamut color and proofing intent.

The image now stored proofing intent, and the monitor intent is the general
rendering intent.

This also allows us to set the gamut warning color, however, for updating
you currently need to switch profiles as well. I'll make a seperate
generateSoftProofingTransform function, to cache the transform better, so it's
easier to update.

Ref 2337

commit 9d9ce38079c60ed04a63a2985a9c5ecb08652626
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Jun 21 14:18:05 2016 +0200

Add softproofing section to image properties menu.

Now, the proofing in the image can be changed.

Also fixes that ugly little square problem with the kocoloractionpopup button.

Ref T1238, T2337

commit 8d7b4418e798978ed5e4c9fbb28509e7b9e098d4
Merge: e2ee9ff d58645e
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 16 13:28:24 2016 +0200

Merge remote-tracking branch 'origin/master' into krita-testing-wolthera

commit e2ee9ff5774c80ebb72c02bc02d8ce7a79ace72f
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Jun 14 15:56:50 2016 +0200

Cache the transform unelegantly.

This does cause a significant speed-up, but it's a bit fiddly.
Regardless, the speed-up is enough to make this usable.

commit f643fc7bc2deb9317b6b7ef299f9d76a0c4e2160
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Jun 14 14:49:16 2016 +0200

Fix softproofing

It's slow again :/

commit cbc91c076310188456980563e3c061ca1a47147f
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Jun 14 12:45:43 2016 +0200

Fix setting softproofing and gamutcheck flags.

commit 9ae336ed94207bab7885010720647814c9648e9d
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Tue Jun 14 12:44:50 2016 +0200

Cache the color space engine to make it faster

It doesn't fix everything, but it fixes quite a bit.
Ref T210

commit d43589016b35ea85943c55ff244e83e6bc5cd15a
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Mon Jun 13 17:59:18 2016 +0200

Add base implementation softproofing with toggles.

It doesn't really work yet :/

Ref: T210
Ref: T2337

commit 7de0256960a6021591217ea3935dba1b39143b58
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Sun Jun 12 16:10:31 2016 +0200

Create the proofing transform

This doesn't use the caching graph stuff, which is too complex
to refactor for now.

commit 00efd627af23f28555aa33a78a18fdd133934cf3
Author: Boudewijn Rempt <boud@valdyas.org>
Date: Sun Jun 12 16:10:05 2016 +0200

Add a per-image proofing settings class

commit d3bd5375b304dfea9282a9ad581130c7ddf8200a
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Sun Jun 12 14:44:50 2016 +0200

Push work-in-progress proofing

commit bb97947abc29f76913924de9f1d2cb4a2762cf80
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 9 16:42:18 2016 +0200

Fix copy-paste error

commit 9ed934a8206ea1e11077f9332252b465c0899d1f
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Thu Jun 9 16:30:09 2016 +0200

Add OCIO Look support.

The code is based of that of Blender, as I couldn't figure out how else to
apply looks. The OCIO api wasn't clear about it, nor could I find much information,
but it somewhat works and doesn't crash.

Auditors: rempt, dkazakov
Ref: T210

commit 2819ad66554f33e229729f8d86eb11a01413f23f
Author: Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
Date: Wed Jun 8 12:21:25 2016 +0200

Add softproofing to the lcms conversion tests

I am not fully sure if I understand the softproofing function, but the alarm works.