Review Request 110541: Synchronized tag categories and their views for resource choosers, KoResourceFiltering refactored a bit.

Sascha Suelzer s_suelzer at lavabit.com
Sun May 26 21:16:14 BST 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/110541/
-----------------------------------------------------------

(Updated May 26, 2013, 8:16 p.m.)


Review request for Calligra.


Changes
-------

Fix several issues.


Description
-------

With this patch, the tag categories the user can define for various resources will update for any resource chooser of the same type.
Examples: 
Defining a new tag in the preset popup combobox will also create the respective tag entry in the preset docker one.
If both choosers would display the same tag category, and the user adds a resource to the category in one chooser, the view of the other would reflect the change as well.

Both these things are achieved with a new set of signals and slots regarding tag category creation and modification.

Other changes:
Refactored KoResourceFiltering a bit to make intent more clear and functionality a bit more fine grained, also fixed the naming for its private support class members from m_foo to foo since the fields are all public.
Tag categories are now ordered in an alphabetical manner at all times.

--------------------------------

Remarks:

I am not really sure if KoResourceModel should be the class for the signals:
signals:
    void tagBoxEntryModified();
    void tagBoxEntryAdded(QString tag);
    void tagBoxEntryRemoved(QString tag);

It seems to me that perhaps all of this tagging and filtering stuff should go into the adapter directly, perhaps? But The KoResourceItemChoosers would still require the notifications and the model is pretty much the only bridge, so maybe the place is okay after all.

I also want to refactor some of the new code I introduced to make it look nicer, but I wanted to get this review request out for now so it is know that it is being worked on, since this builds on the former shortcomings of 
https://git.reviewboard.kde.org/r/110429/


Diffs (updated)
-----

  krita/plugins/paintops/libbrush/kis_brush_server.cpp 5e4db8d 
  krita/ui/kis_palette_manager.cpp 568859a 
  krita/ui/ko_favorite_resource_manager.h fbfa86f 
  krita/ui/ko_favorite_resource_manager.cpp 2481ce1 
  krita/ui/widgets/kis_preset_chooser.h 5df3b56 
  krita/ui/widgets/kis_preset_chooser.cpp 9f07c8a 
  libs/widgets/KoResourceFiltering.h 9f8f967 
  libs/widgets/KoResourceFiltering.cpp a62a873 
  libs/widgets/KoResourceItemChooser.h d26f5a5 
  libs/widgets/KoResourceItemChooser.cpp a2750b5 
  libs/widgets/KoResourceModel.h 3ccb28b 
  libs/widgets/KoResourceModel.cpp a9cb212 
  libs/widgets/KoResourceServer.h 1ab4ad6 
  libs/widgets/KoResourceServerAdapter.h 02ab31e 
  libs/widgets/KoResourceServerAdapter.cpp f1dc50f 
  libs/widgets/KoResourceServerObserver.h 52bc7fc 
  libs/widgets/KoResourceTagging.h 0624096 
  libs/widgets/KoResourceTagging.cpp b678000 

Diff: http://git.reviewboard.kde.org/r/110541/diff/


Testing
-------

Only tested for Krita, everything seems to work as it should.


Thanks,

Sascha Suelzer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20130526/af37e24f/attachment.htm>


More information about the calligra-devel mailing list