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 ;-)
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
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
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
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
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
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