Inconsistent custom Icon / text for Toolbar Actions

In simple terms; Toolbox items are the most basic and universal interface for users in building up familiarity with graphic programs. Yet many of the actions in Krita that would be applied most often for basic adjustments, do not actually fit into toolboxes as one would expect:


(this is from a previous topic which is no longer open, but is essentially the only thing that comes up via Google …as well as this forum’s own search tool… when looking for answers to this)

The issue here is that these Tool Icons are not any more efficient to use than their verbose menu-counterparts if they must reside at the most outside edges of the screenspace in order to expand to the proper formatting.

The reference manual even alludes to this issue: Settings Menu — Krita Manual 5.0.0 documentation ← admitting that many items appear as text only. Any further documentation on dealing with this unfinished feature is much more difficult to locate and probably for a reason since there might be multiple solutions but none of them work in every case.

Also, none of the posts that come up, explain it any way that’s geared towards casual users :face_with_raised_eyebrow:
:wrench:

Solution #1: Editing the *.action files:

That works for * most * actions but the first action I attempted to do that with, weirdly did not change anything about how it was displayed inside of Krita:

expand for Icon/Text reference tables

Action name = Krita Scripting School
Icon = Krita Scripting School

<Action name="krita_filter_hsvadjustment"> <icon>properties<icon/> <text>hsv...</text> <whatsThis/> <toolTip>HSV</toolTip> <iconText>HSV</iconText> <activationFlags>10000</activationFlags> <activationConditions>0</activationConditions> <shortcut>Ctrl+U</shortcut> <isCheckable>false</isCheckable> <statusTip/> </Action>

…for some reason, this must not be the actual location that Krita is loading its format from?
:hammer_and_wrench:
Work-around #2: make a quick script to change it temporarily,

from krita import *
from PyQt5 import QtWidgets, QtCore, QtGui, uic

#QApplication.setAttribute(Qt.AA_DontShowIconsInMenus, False)

actn = QAction()
actn = Krita.instance().action('krita_filter_hsvadjustment')
actn.setIcon(  Krita.instance().icon('properties')   )
#actn.setVisible=0
#actn.setText( "HSV Adjustment..." )
actn.setIconText( "HSV" )

Results in a long text button becoming this: …until the program is closed, and then it just reverts back to wherever its hidden format is actually located?

2 side notes on this example:

The first remmed out option which allows the icon to also appear in the top Menus, is better explained here. 2> Invoking .setVisible is a last ditch override for some actions that for whatever reasons refuse to hide their own verbose description in favor of an Icon by itself. (for people not familiar with scripts, removing the ‘#’ symbol makes that line active instead of disabled)

If someone can provide a better way of scripting this, or an example that is automatically called on every Start-Up of Krita, by all means Please Do! …that’s the reason for this post, I’d really appreciate some clarifications on how we were all expected to make this interface more accessible?

:arrow_down: a couple notes or updates needed on the way out…

  • Is it still the case that we can’t include our own .SVG custom Icons unless we’re looking to recompile the entire program?
  • someone going by “KnowZero” was working towards a plugin for this?..maybe this info will become relevant later, thought I’d just make note of it on closing.

Thank You, Krita community :saluting_face:

<icon>properties<icon/>

You meant <icon>properties</icon>, right?
Edit: Actually, even without the typo, I can’t seem to get that specific action to load an icon for some reason… I can change the tooltip, but not the icon or iconText. I don’t know why that is, so I guess it doesn’t help after all…

Typos aside, while not all actions are probably meant to be used from the toolbar, and some of them might be difficult to find icons for, it does seem like something that could be improved.

Uhhh…

<Action name="krita_filter_hsvadjustment">
      <icon>properties</icon>
      <text>hsv...</text>
      <whatsThis/>
      <toolTip>HSV</toolTip>
      <iconText>HSV</iconText>
      <activationFlags>10000</activationFlags>
      <activationConditions>0</activationConditions>
      <shortcut>Ctrl+U</shortcut>
      <isCheckable>false</isCheckable>
      <statusTip/>
    </Action>

…yes, unfortunately it’s not as simple as my Typo, but nice catch, heh heh. The only property I seem able to modify in some of these is the hover over ToolTip … but thanks for the agreement on this

What you should do, of course, is work together with @animtim and create new icons for actions that don’t have icons yet, icons that fit within the existing icon theme and submit them so they can be shipped.

It’s not hard to get involved, you don’t have to work around and go your own way…

About icons for filter actions, indeed I’ve tried to add some last time I did a big work on icons, and noticed that it was especially complicated to add icons for these actions. At that time I’ve asked to other devs on irc if they had an idea about it, but nobody had a simple solution, and as it was not a priority I gave-up trying.

I’ve just added the icons for the following filters in the repository, waiting for being integrated: color-curves, invert, levels and threshold.