Bug 391576 - [tags] [paintoppresets] Tags blacklist issue, "★ My Favorites" empty, list expanding
Summary: [tags] [paintoppresets] Tags blacklist issue, "★ My Favorites" empty, list ex...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tagging (show other bugs)
Version: git master (please specify the git hash!)
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Halla Rempt
URL:
Keywords: release_blocker
Depends on:
Blocks:
 
Reported: 2018-03-08 18:51 UTC by David REVOY
Modified: 2018-03-15 14:52 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
[^ screenshot of bug3: list forever expanding] (107.54 KB, image/jpeg)
2018-03-08 18:51 UTC, David REVOY
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David REVOY 2018-03-08 18:51:46 UTC
Created attachment 111260 [details]
[^ screenshot of bug3: list forever expanding]

Hi, 

I just added a list of default tags to Krita 4.0 and master ( ref:  https://cgit.kde.org/krita.git/commit/?id=fbfb2c83a0bb16f45f52eb5691bb5dc4d97acd1e ) and this report is a general one about the tag system before release.

Bug 1: In this new list, two tags refuse to appear on the menu : "Ink" and "FX". They are correctly created on the kis_paintoppresets_tags.xml.

Bug 2: If you close Krita with the focus on the tag "★ My Favorites", the category is empty at restart.

Bug 3: While assigning tags via the GUI in the brush docker, I had a funny bug with a list of presets forever expanding. (screenshot in attachment) To reproduce, just create a new tag, and add 10 or 20 brush to it. The same effect appears all the time.

Bug(wish) 4: Is it possible to assign "★ My Favorites" to right click pop-up palette by default ? Thanks ;-)
Comment 1 Halla Rempt 2018-03-15 10:49:04 UTC
Git commit 5d361cf0c028f08f78fdf06fcd784c909d85b1b1 by Boudewijn Rempt.
Committed on 15/03/2018 at 10:45.
Pushed by rempt into branch 'master'.

Resources: Remove KoResourceLoaderThread

All resources were loaded synchronously by now, so KoResourceLoaderThread
was obsolete. This also moved the bundle server to it's own singleton,
since it needs a completely instantiated singleton of KisResourceServerProvider.

KisApplication now instantiates the singletons in the correct order, without
superfluously getting the actual resource providers. Since the order is now
properly known, we can clear the empty krita 3 system preset tags from the
tag database after loading the last bundles. However, the tag system seems
to be case-insensitive, but we used to have both ink and Ink; that still
needs fixing.

This fixes item 2 from

Curiously enough, this also makes Krita start quite a bit faster for me...

M  +3    -11   libs/brush/kis_brush_server.cpp
M  +1    -7    libs/brush/kis_brush_server.h
M  +1    -1    libs/libkis/Krita.cpp
M  +1    -1    libs/libqml/Settings.cpp
M  +1    -1    libs/libqml/plugins/kritasketchplugin/models/PaletteModel.cpp
M  +1    -1    libs/libqml/plugins/kritasketchplugin/models/PresetImageProvider.cpp
M  +1    -1    libs/libqml/plugins/kritasketchplugin/models/PresetModel.cpp
M  +2    -1    libs/ui/CMakeLists.txt
M  +9    -24   libs/ui/KisApplication.cpp
M  +4    -4    libs/ui/KisColorsetChooser.cpp
M  +1    -1    libs/ui/KisDocument.cpp
M  +3    -3    libs/ui/KisMainWindow.cpp
M  +1    -1    libs/ui/KisPart.cpp
M  +1    -1    libs/ui/KisResourceBundle.cpp
M  +1    -1    libs/ui/KisResourceBundleManifest.cpp
A  +69   -0    libs/ui/KisResourceBundleServerProvider.cpp     [License: GPL (v2+)]
A  +53   -0    libs/ui/KisResourceBundleServerProvider.h     [License: GPL (v2+)]
R  +7    -65   libs/ui/KisResourceServerProvider.cpp [from: libs/ui/kis_resource_server_provider.cpp - 057% similarity]
R  +4    -14   libs/ui/KisResourceServerProvider.h [from: libs/ui/kis_resource_server_provider.h - 081% similarity]
M  +1    -1    libs/ui/KisViewManager.cpp
M  +1    -1    libs/ui/dialogs/kis_dlg_blacklist_cleanup.cpp
M  +1    -1    libs/ui/dialogs/kis_dlg_internal_color_selector.cpp
M  +1    -1    libs/ui/dialogs/kis_dlg_layer_style.cpp
M  +2    -2    libs/ui/kis_control_frame.cpp
M  +2    -2    libs/ui/kis_custom_pattern.cc
M  +4    -4    libs/ui/kis_favorite_resource_manager.cpp
M  +3    -3    libs/ui/kis_paintop_box.cc
M  +1    -1    libs/ui/kis_popup_palette.cpp
M  +1    -1    libs/ui/tests/ResourceBundleTest.cpp
M  +1    -1    libs/ui/tests/kis_resource_server_provider_test.cpp
M  +30   -1    libs/ui/widgets/kis_categorized_list_view.cpp
M  +3    -4    libs/ui/widgets/kis_categorized_list_view.h
M  +1    -0    libs/ui/widgets/kis_cmb_composite.cc
M  +1    -1    libs/ui/widgets/kis_gradient_chooser.cc
M  +1    -1    libs/ui/widgets/kis_paintop_presets_chooser_popup.cpp
M  +1    -1    libs/ui/widgets/kis_paintop_presets_popup.cpp
M  +1    -1    libs/ui/widgets/kis_paintop_presets_save.cpp
M  +2    -2    libs/ui/widgets/kis_pattern_chooser.cc
M  +2    -2    libs/ui/widgets/kis_preset_chooser.cpp
M  +2    -2    libs/ui/widgets/kis_workspace_chooser.cpp
M  +1    -1    libs/widgets/KoColorPopupAction.cpp
M  +4    -1    libs/widgets/KoResourceServer.h
M  +18   -94   libs/widgets/KoResourceServerProvider.cpp
M  +5    -39   libs/widgets/KoResourceServerProvider.h
M  +5    -0    libs/widgets/KoResourceTagStore.cpp
M  +1    -1    plugins/dockers/palettedocker/palettedocker_dock.cpp
M  +1    -1    plugins/dockers/presethistory/presethistory_dock.cpp
M  +3    -10   plugins/dockers/tasksetdocker/tasksetdocker_dock.cpp
M  +1    -3    plugins/dockers/tasksetdocker/tasksetdocker_dock.h
M  +1    -1    plugins/extensions/bigbrother/bigbrother.cc
M  +1    -1    plugins/extensions/layersplit/dlg_layersplit.cpp
M  +4    -4    plugins/extensions/resourcemanager/dlg_bundle_manager.cpp
M  +1    -1    plugins/extensions/resourcemanager/dlg_create_bundle.cpp
M  +17   -17   plugins/extensions/resourcemanager/resourcemanager.cpp
M  +3    -3    plugins/filters/gradientmap/krita_filter_gradient_map.cpp
M  +1    -1    plugins/impex/libkra/kis_kra_loader.cpp
M  +1    -1    plugins/impex/psd/psd_loader.cpp
M  +1    -1    plugins/paintops/libpaintop/tests/kis_embedded_pattern_manager_test.cpp
M  +1    -4    plugins/tools/karbonplugins/tools/filterEffectTool/FilterResourceServerProvider.cpp
M  +0    -2    plugins/tools/karbonplugins/tools/filterEffectTool/FilterResourceServerProvider.h
M  +1    -1    sdk/tests/ui_manager_test.h

https://commits.kde.org/krita/5d361cf0c028f08f78fdf06fcd784c909d85b1b1
Comment 2 Halla Rempt 2018-03-15 10:52:55 UTC
Git commit 4f82ef7793d1341fb19b7dd60095f4096a868886 by Boudewijn Rempt.
Committed on 15/03/2018 at 10:52.
Pushed by rempt into branch 'krita/4.0'.

Resources: Remove KoResourceLoaderThread

All resources were loaded synchronously by now, so KoResourceLoaderThread
was obsolete. This also moved the bundle server to it's own singleton,
since it needs a completely instantiated singleton of KisResourceServerProvider.

KisApplication now instantiates the singletons in the correct order, without
superfluously getting the actual resource providers. Since the order is now
properly known, we can clear the empty krita 3 system preset tags from the
tag database after loading the last bundles. However, the tag system seems
to be case-insensitive, but we used to have both ink and Ink; that still
needs fixing.

This fixes item 2 from

Curiously enough, this also makes Krita start quite a bit faster for me...

(cherry picked from commit 5d361cf0c028f08f78fdf06fcd784c909d85b1b1)

M  +3    -11   libs/brush/kis_brush_server.cpp
M  +1    -7    libs/brush/kis_brush_server.h
M  +1    -1    libs/libkis/Krita.cpp
M  +1    -1    libs/libqml/Settings.cpp
M  +1    -1    libs/libqml/plugins/kritasketchplugin/models/PaletteModel.cpp
M  +1    -1    libs/libqml/plugins/kritasketchplugin/models/PresetImageProvider.cpp
M  +1    -1    libs/libqml/plugins/kritasketchplugin/models/PresetModel.cpp
M  +2    -1    libs/ui/CMakeLists.txt
M  +9    -24   libs/ui/KisApplication.cpp
M  +4    -4    libs/ui/KisColorsetChooser.cpp
M  +1    -1    libs/ui/KisDocument.cpp
M  +3    -3    libs/ui/KisMainWindow.cpp
M  +1    -1    libs/ui/KisPart.cpp
M  +1    -1    libs/ui/KisResourceBundle.cpp
M  +1    -1    libs/ui/KisResourceBundleManifest.cpp
A  +69   -0    libs/ui/KisResourceBundleServerProvider.cpp     [License: GPL (v2+)]
A  +53   -0    libs/ui/KisResourceBundleServerProvider.h     [License: GPL (v2+)]
R  +7    -65   libs/ui/KisResourceServerProvider.cpp [from: libs/ui/kis_resource_server_provider.cpp - 057% similarity]
R  +4    -14   libs/ui/KisResourceServerProvider.h [from: libs/ui/kis_resource_server_provider.h - 081% similarity]
M  +1    -1    libs/ui/KisViewManager.cpp
M  +1    -1    libs/ui/dialogs/kis_dlg_blacklist_cleanup.cpp
M  +1    -1    libs/ui/dialogs/kis_dlg_internal_color_selector.cpp
M  +1    -1    libs/ui/dialogs/kis_dlg_layer_style.cpp
M  +2    -2    libs/ui/kis_control_frame.cpp
M  +2    -2    libs/ui/kis_custom_pattern.cc
M  +4    -4    libs/ui/kis_favorite_resource_manager.cpp
M  +3    -3    libs/ui/kis_paintop_box.cc
M  +1    -1    libs/ui/kis_popup_palette.cpp
M  +1    -1    libs/ui/tests/ResourceBundleTest.cpp
M  +1    -1    libs/ui/tests/kis_resource_server_provider_test.cpp
M  +30   -1    libs/ui/widgets/kis_categorized_list_view.cpp
M  +3    -4    libs/ui/widgets/kis_categorized_list_view.h
M  +1    -0    libs/ui/widgets/kis_cmb_composite.cc
M  +1    -1    libs/ui/widgets/kis_gradient_chooser.cc
M  +1    -1    libs/ui/widgets/kis_paintop_presets_chooser_popup.cpp
M  +1    -1    libs/ui/widgets/kis_paintop_presets_popup.cpp
M  +1    -1    libs/ui/widgets/kis_paintop_presets_save.cpp
M  +2    -2    libs/ui/widgets/kis_pattern_chooser.cc
M  +2    -2    libs/ui/widgets/kis_preset_chooser.cpp
M  +2    -2    libs/ui/widgets/kis_workspace_chooser.cpp
M  +1    -1    libs/widgets/KoColorPopupAction.cpp
M  +4    -1    libs/widgets/KoResourceServer.h
M  +18   -94   libs/widgets/KoResourceServerProvider.cpp
M  +5    -39   libs/widgets/KoResourceServerProvider.h
M  +5    -0    libs/widgets/KoResourceTagStore.cpp
M  +1    -1    plugins/dockers/palettedocker/palettedocker_dock.cpp
M  +1    -1    plugins/dockers/presethistory/presethistory_dock.cpp
M  +3    -10   plugins/dockers/tasksetdocker/tasksetdocker_dock.cpp
M  +1    -3    plugins/dockers/tasksetdocker/tasksetdocker_dock.h
M  +1    -1    plugins/extensions/bigbrother/bigbrother.cc
M  +1    -1    plugins/extensions/layersplit/dlg_layersplit.cpp
M  +4    -4    plugins/extensions/resourcemanager/dlg_bundle_manager.cpp
M  +1    -1    plugins/extensions/resourcemanager/dlg_create_bundle.cpp
M  +17   -17   plugins/extensions/resourcemanager/resourcemanager.cpp
M  +3    -3    plugins/filters/gradientmap/krita_filter_gradient_map.cpp
M  +1    -1    plugins/impex/libkra/kis_kra_loader.cpp
M  +1    -1    plugins/impex/psd/psd_loader.cpp
M  +1    -1    plugins/paintops/libpaintop/tests/kis_embedded_pattern_manager_test.cpp
M  +1    -4    plugins/tools/karbonplugins/tools/filterEffectTool/FilterResourceServerProvider.cpp
M  +0    -2    plugins/tools/karbonplugins/tools/filterEffectTool/FilterResourceServerProvider.h
M  +1    -1    sdk/tests/ui_manager_test.h

https://commits.kde.org/krita/4f82ef7793d1341fb19b7dd60095f4096a868886
Comment 3 Halla Rempt 2018-03-15 14:27:14 UTC
Git commit 69d8a5e192698011ca600b66f0a774ac0b6d6d49 by Boudewijn Rempt.
Committed on 15/03/2018 at 14:24.
Pushed by rempt into branch 'master'.

Load the tags in a separate step after loading all resources

This also refactors KoTagStore to remove two methods the use
of which has disappeared in the mists of time, and that
prevented some tags to be loaded for default resources.

Now all Deevad's tags are loaded; all system tags used for
custom resources in 3.3 are kept; all custom tags created
in 3.3 are kept.

The regression from the previous commit, where the krita 3
bundle was loaded even if disabled is also fixed...

Items 1, 2 and 4 of 391576 are resolved now, at least as
far as I can see. I haven't dared look at item 3 yet...

M  +194  -194  krita/data/paintoppresets/kis_paintoppresets_tags.xml
M  +1    -1    libs/image/brushengine/kis_paintop_registry.cc
M  +1    -0    libs/image/filter/kis_filter_registry.cc
M  +1    -0    libs/image/generator/kis_generator_registry.cpp
M  +42   -8    libs/ui/KisApplication.cpp
M  +2    -0    libs/ui/KisApplication.h
M  +3    -2    libs/ui/KisResourceBundleServerProvider.cpp
M  +24   -18   libs/widgets/KoResourceServer.h
M  +9    -0    libs/widgets/KoResourceServerProvider.h
M  +36   -62   libs/widgets/KoResourceTagStore.cpp
M  +0    -9    libs/widgets/KoResourceTagStore.h
M  +3    -0    libs/widgetutils/kis_action_registry.cpp
M  +1    -0    plugins/dockers/tasksetdocker/tasksetdocker_dock.cpp
M  +0    -2    plugins/paintops/defaultpaintops/defaultpaintops_plugin.cc
M  +1    -0    plugins/tools/karbonplugins/tools/filterEffectTool/FilterResourceServerProvider.cpp

https://commits.kde.org/krita/69d8a5e192698011ca600b66f0a774ac0b6d6d49
Comment 4 Halla Rempt 2018-03-15 14:27:30 UTC
Git commit 4c540a27282eba8816e226a4e2f400ec701f2944 by Boudewijn Rempt.
Committed on 15/03/2018 at 14:27.
Pushed by rempt into branch 'krita/4.0'.

Load the tags in a separate step after loading all resources

This also refactors KoTagStore to remove two methods the use
of which has disappeared in the mists of time, and that
prevented some tags to be loaded for default resources.

Now all Deevad's tags are loaded; all system tags used for
custom resources in 3.3 are kept; all custom tags created
in 3.3 are kept.

The regression from the previous commit, where the krita 3
bundle was loaded even if disabled is also fixed...

Items 1, 2 and 4 of 391576 are resolved now, at least as
far as I can see. I haven't dared look at item 3 yet...

M  +194  -194  krita/data/paintoppresets/kis_paintoppresets_tags.xml
M  +1    -1    libs/image/brushengine/kis_paintop_registry.cc
M  +1    -0    libs/image/filter/kis_filter_registry.cc
M  +1    -0    libs/image/generator/kis_generator_registry.cpp
M  +42   -8    libs/ui/KisApplication.cpp
M  +2    -0    libs/ui/KisApplication.h
M  +3    -2    libs/ui/KisResourceBundleServerProvider.cpp
M  +24   -18   libs/widgets/KoResourceServer.h
M  +9    -0    libs/widgets/KoResourceServerProvider.h
M  +36   -62   libs/widgets/KoResourceTagStore.cpp
M  +0    -9    libs/widgets/KoResourceTagStore.h
M  +3    -0    libs/widgetutils/kis_action_registry.cpp
M  +1    -0    plugins/dockers/tasksetdocker/tasksetdocker_dock.cpp
M  +0    -2    plugins/paintops/defaultpaintops/defaultpaintops_plugin.cc
M  +1    -0    plugins/tools/karbonplugins/tools/filterEffectTool/FilterResourceServerProvider.cpp

https://commits.kde.org/krita/4c540a27282eba8816e226a4e2f400ec701f2944
Comment 5 Halla Rempt 2018-03-15 14:52:15 UTC
Git commit 97015cd2e48d30d7460178792f29c76d01d9cfca by Boudewijn Rempt.
Committed on 15/03/2018 at 14:50.
Pushed by rempt into branch 'master'.

Make sure the tag combobox only has unique tags

As far as I can tell, item 3 in bug 391576 was only cosmetical;
the tag store did not have actually duplicated tags, so make sure
we deduplicate the tags in the combobox before updating the
widget.

M  +8    -9    libs/widgets/KoTagChooserWidget.cpp

https://commits.kde.org/krita/97015cd2e48d30d7460178792f29c76d01d9cfca
Comment 6 Halla Rempt 2018-03-15 14:52:20 UTC
Git commit 51f5066165d7dc9edf7d207c9d63df063baf72bb by Boudewijn Rempt.
Committed on 15/03/2018 at 14:52.
Pushed by rempt into branch 'krita/4.0'.

Make sure the tag combobox only has unique tags

As far as I can tell, item 3 in bug 391576 was only cosmetical;
the tag store did not have actually duplicated tags, so make sure
we deduplicate the tags in the combobox before updating the
widget.

M  +8    -9    libs/widgets/KoTagChooserWidget.cpp

https://commits.kde.org/krita/51f5066165d7dc9edf7d207c9d63df063baf72bb