# Overall Docker Redesign

**URL:** <https://krita-artists.org/t/overall-docker-redesign/7690>\
**Category:** Artists Feedback & Testing\
**Created:** [May 28, 2020, 5:41pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690 "2020-05-28T17:41:41Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![slightlyangrydodo](https://krita-artists.org/user_avatar/krita-artists.org/slightlyangrydodo/32/73344_2.png) [@slightlyangrydodo](https://krita-artists.org/u/slightlyangrydodo)\
**Post date:** [June 1, 2020, 3:49pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/41 "2020-06-01T15:49:02Z")

</div>

Okay, I just spotted what is responsible behind the color, and why it can’t be styled. It’s a line to draw a rectangle with a hard-coded color value. I don’t know the best way to approach this yet, whether it’s by adding a new setting, but I’ll figure it out 😉

---

<div class="post-metadata">

**Author:** ![scottyp](https://krita-artists.org/user_avatar/krita-artists.org/scottyp/32/26_2.png) [@scottyp](https://krita-artists.org/u/scottyp)\
**Post date:** [June 1, 2020, 3:54pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/42 "2020-06-01T15:54:37Z")

</div>

@slightlyangrydodo - The best way would probably be making it a setting with the KisConfig stuff. That way you could access it and override it more easily. That would probably be cleaner than trying to add some new API methods to Python.

You can kind of see an example of how to create a new setting from the style switcher thing I just did…

> **[Add basic switcher for changing widget style (ab3d7436) · Commits · Graphics...](https://invent.kde.org/graphics/krita/-/commit/ab3d743632a43dd2035a051a8afd5b8b6e716b35)**
>
> Krita is a free and open source cross-platform application that offers an end-to-end solution for creating digital art files from scratch built on the KDE and Qt frameworks.

The settings are stored in the kritarc file in the end

---

<div class="post-metadata">

**Author:** ![slightlyangrydodo](https://krita-artists.org/user_avatar/krita-artists.org/slightlyangrydodo/32/73344_2.png) [@slightlyangrydodo](https://krita-artists.org/u/slightlyangrydodo)\
**Post date:** [June 1, 2020, 3:57pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/43 "2020-06-01T15:57:06Z")

</div>

Very cool. I was checking how Krita stores settings, but that saves me research time 😃

---

<div class="post-metadata">

**Author:** ![raghukamath](https://krita-artists.org/user_avatar/krita-artists.org/raghukamath/32/59144_2.png) [@raghukamath](https://krita-artists.org/u/raghukamath)\
**Post date:** [June 1, 2020, 4:01pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/44 "2020-06-01T16:01:32Z")

</div>

Just adding my opinion. By default the background of the color wheel should be from the docker background color of the theme in use. So for example if the user is using the light theme the background color can be light gray according to the theme of their choice. And in addition to this default behavior we can give an option to choose custom background.

To solve the issue of color not being clear or color being mixed to the background we can have a stroke of black or white around the wheel to differentiate it.

---

<div class="post-metadata">

**Author:** ![slightlyangrydodo](https://krita-artists.org/user_avatar/krita-artists.org/slightlyangrydodo/32/73344_2.png) [@slightlyangrydodo](https://krita-artists.org/u/slightlyangrydodo)\
**Post date:** [June 1, 2020, 4:08pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/45 "2020-06-01T16:08:16Z")

</div>

Yup, I totally agree.

---

<div class="post-metadata">

**Author:** ![scottyp](https://krita-artists.org/user_avatar/krita-artists.org/scottyp/32/26_2.png) [@scottyp](https://krita-artists.org/u/scottyp)\
**Post date:** [June 1, 2020, 4:12pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/46 "2020-06-01T16:12:39Z")

</div>

@slightlyangrydodo - If you have any issue with modifying C++, feel free to hop on to the Krita IRC channel. That is where all the developers hang out and we could help you out.

---

<div class="post-metadata">

**Author:** ![slightlyangrydodo](https://krita-artists.org/user_avatar/krita-artists.org/slightlyangrydodo/32/73344_2.png) [@slightlyangrydodo](https://krita-artists.org/u/slightlyangrydodo)\
**Post date:** [June 1, 2020, 4:15pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/47 "2020-06-01T16:15:59Z")

</div>

I think I can manage, I like a good challenge 😃 I do have just one question though, and that is in terms of the overall organization of the plugin. I still believe that a plugin is the best way to go about this, but what if certain parts of the plugin code become dependent on a change to source code? In my mind, the optimal flow would be to create a Phabricator Task, discuss there, create a pull request, get it merged in Krita’s master branch, and that would be it. What do you think?

---

<div class="post-metadata">

**Author:** ![scottyp](https://krita-artists.org/user_avatar/krita-artists.org/scottyp/32/26_2.png) [@scottyp](https://krita-artists.org/u/scottyp)\
**Post date:** [June 1, 2020, 4:31pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/48 "2020-06-01T16:31:53Z")

</div>

Yes. there is going to be a back and forth between what can be done now with a plugin, and what is going to need a newer version of Krita with newer functionality (like this new setting).

I would say always work off master and develop the plugin with the very latest to keep things simple. This idea is still in its infancy, so I would just focus on adding what we need before we worry about compatibility issues with versions.

I probably wouldn’t even create a phabricator task. I would just update your fork and do a merge request. Phabricator is good for things that need a lot of discussion. If you think this needs more discussion open a Phabricator ticket. If you think it is ready to code, just code it.

---

<div class="post-metadata">

**Author:** ![slightlyangrydodo](https://krita-artists.org/user_avatar/krita-artists.org/slightlyangrydodo/32/73344_2.png) [@slightlyangrydodo](https://krita-artists.org/u/slightlyangrydodo)\
**Post date:** [June 1, 2020, 4:35pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/49 "2020-06-01T16:35:10Z")

</div>

For sure. I’ll keep rebasing my fork on the latest version from Krita.

---

<div class="post-metadata">

**Author:** ![Mythmaker](https://krita-artists.org/user_avatar/krita-artists.org/mythmaker/32/223653_2.png) [@Mythmaker](https://krita-artists.org/u/Mythmaker)\
**Post date:** [June 1, 2020, 5:53pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/50 "2020-06-01T17:53:43Z")

</div>

Regarding the colour selector - I don’t have a problem with enabling customisation, but I do think the current mid-grey background is most appropriate as a default.

I quite like the suggestion of being able to average out the canvas colour as a background, but then - perception is complicated; it will be affected by local colours and values adjacent to where you’re laying brush strokes. It might help in terms of judging against the overall key etc.

Would be an interesting experiment if it’s feasible. 👍

---

<div class="post-metadata">

**Author:** ![slightlyangrydodo](https://krita-artists.org/user_avatar/krita-artists.org/slightlyangrydodo/32/73344_2.png) [@slightlyangrydodo](https://krita-artists.org/u/slightlyangrydodo)\
**Post date:** [June 1, 2020, 6:43pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/51 "2020-06-01T18:43:17Z")

</div>

So here’s what I have so far, I think it’s looking pretty good!

![ezgif.com-video-to-gif](https://krita-artists.org/uploads/default/original/2X/c/cf63e98478fc645522f845b2b6dec01b328eb880.gif)

One thing that testing showed, is that the background color does not update when changing theme. I have to manually retick the “Use color from background” in order for it to update. When I have that part done, I still need to tweak a few more things to make sure that the code is up to snuff, and then submit a pull request.

---

<div class="post-metadata">

**Author:** ![Rakurri](https://krita-artists.org/user_avatar/krita-artists.org/rakurri/32/78071_2.png) [@Rakurri](https://krita-artists.org/u/Rakurri)\
**Post date:** [June 1, 2020, 6:44pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/52 "2020-06-01T18:44:50Z")

</div>

😮

That looks sooo good man!

---

<div class="post-metadata">

**Author:** ![wojtryb](https://krita-artists.org/user_avatar/krita-artists.org/wojtryb/32/480_2.png) [@wojtryb](https://krita-artists.org/u/wojtryb)\
**Post date:** [June 1, 2020, 6:51pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/53 "2020-06-01T18:51:15Z")

</div>

Absolutely great! Does the “show color selector(shift+i)” already work well after the change? I suppose it should, as it inherits most of the options, but it can happen that this requires a separate change.

---

<div class="post-metadata">

**Author:** ![Kapyia](https://krita-artists.org/user_avatar/krita-artists.org/kapyia/32/2687_2.png) [@Kapyia](https://krita-artists.org/u/Kapyia)\
**Post date:** [June 1, 2020, 6:54pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/54 "2020-06-01T18:54:13Z")

</div>

Fantastic! 😃

Does it set the background color of the wheel to the background color of the UI, or does it turn the wheel background transparent? Just thinking the latter could be useful for the Shift + I pop-up 😃

---

<div class="post-metadata">

**Author:** ![scottyp](https://krita-artists.org/user_avatar/krita-artists.org/scottyp/32/26_2.png) [@scottyp](https://krita-artists.org/u/scottyp)\
**Post date:** [June 1, 2020, 7:04pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/55 "2020-06-01T19:04:31Z")

</div>

@slightlyangrydodo - Nice. If you are interested in how to make updates with a theme change, there is a signal in the code you can listen to when the theme changes. In most of the areas of Krita, they listen to this event and update icons and colors as needed… See this…

> **[libs/ui/KisMainWindow.cpp · master · Graphics / Krita · GitLab](https://invent.kde.org/graphics/krita/-/blob/master/libs/ui/KisMainWindow.cpp#L2590)**
>
> Krita is a free and open source cross-platform application that offers an end-to-end solution for creating digital art files from scratch built on the KDE and Qt frameworks.

---

<div class="post-metadata">

**Author:** ![slightlyangrydodo](https://krita-artists.org/user_avatar/krita-artists.org/slightlyangrydodo/32/73344_2.png) [@slightlyangrydodo](https://krita-artists.org/u/slightlyangrydodo)\
**Post date:** [June 1, 2020, 8:07pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/56 "2020-06-01T20:07:36Z")

</div>

@Kapyia and @wojtryb, nice of you to remind me, and yup, works as expected with the background getting the same colour as the Docker.

@scottyp Once again, thank you for the pointer! I’ll start to look in this direction, let’s see if I can finish this tonight, that would be amazing 😃

@tiar When this is done, should I do a Phabricator task and a pull request, or just the pull request?

EDIT: Welp, I hit a brick wall. I had to alter a file that is on the build folder, and therefore not present on the main Krita .git repo. I’m a bit stumped on this issue, anyone know how to fix this?

---

<div class="post-metadata">

**Author:** ![tiar](https://krita-artists.org/user_avatar/krita-artists.org/tiar/32/22_2.png) [@tiar](https://krita-artists.org/u/tiar)\
**Post date:** [June 1, 2020, 8:31pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/57 "2020-06-01T20:31:46Z")

</div>

Well, just a pull request with a good explanation what have been done and why and why it should be merged. And all changes should be in different commits in case some changes were fine to merge and others weren’t.

Btw for testing, please check out color comboboxes in Tool Options for Fill Tool and magic wand tool. The thing is, they use a new QStyle object taken from the factory to be able to use the style proxy. The change to the style needs to be there in the combobox too (and it must not crash after closing just one image).

And for your question, you need to say exactly which file.

---

<div class="post-metadata">

**Author:** ![slightlyangrydodo](https://krita-artists.org/user_avatar/krita-artists.org/slightlyangrydodo/32/73344_2.png) [@slightlyangrydodo](https://krita-artists.org/u/slightlyangrydodo)\
**Post date:** [June 1, 2020, 8:38pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/58 "2020-06-01T20:38:16Z")

</div>

Regarding the pull request, that’s awesome! I’ll get on it as soon as I finish this.

The build file in question is: build/plugins/dockers/advancedcolorselector/ui\_wdg\_color\_selector\_settings.h. The tweaks aren’t that big, it’s just to specify the checkbox and add it into the layout of the Color Selector settings.

---

<div class="post-metadata">

**Author:** ![tiar](https://krita-artists.org/user_avatar/krita-artists.org/tiar/32/22_2.png) [@tiar](https://krita-artists.org/u/tiar)\
**Post date:** [June 2, 2020, 12:44am UTC](https://krita-artists.org/t/overall-docker-redesign/7690/59 "2020-06-02T00:44:01Z")

</div>

Ahh yes, all ui\_…h files are generated. There is a file called

```
plugins/dockers/advancedcolorselector/wdg_color_selector_settings.ui

```

that is the one that the ui…h is being generated from, but you might want to use a Qt Creator (ijn the Design section) for that.

---

<div class="post-metadata">

**Author:** ![raghukamath](https://krita-artists.org/user_avatar/krita-artists.org/raghukamath/32/59144_2.png) [@raghukamath](https://krita-artists.org/u/raghukamath)\
**Post date:** [June 2, 2020, 2:23pm UTC](https://krita-artists.org/t/overall-docker-redesign/7690/60 "2020-06-02T14:23:32Z")

</div>

14 posts were merged into an existing topic: [Discussion and Topic creation suggestion and etiquette](https://krita-artists.org/t/discussion-and-topic-creation-suggestion-and-etiquette/7877/2)

[Previous page](https://krita-artists.org/t/overall-docker-redesign/7690.md?page=2)

[Next page](https://krita-artists.org/t/overall-docker-redesign/7690.md?page=4)
