Review Request 119812: GSoC-14 project : Dirty Presets, Locked Settings and Cumulative Undo/Redo
Mohit Goyal
mohit.bits2011 at gmail.com
Sun Aug 17 12:48:51 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119812/
-----------------------------------------------------------
Review request for Krita Extensions, Dmitry Kazakov and Boudewijn Rempt.
Repository: calligra
Description
-------
Dirty Presets, Locked Settings and Cumulative Undo/Redo -- Krita
(Please note -- apply the patch to calligra as there are some changes to Kundo2 as well)
Here is a complete patch for my GSoC project.
To use these features, try the following :
Dirty Presets : Keeps temporary tweaks made to the preset till the session ends
1. Go to the Brush Editor box. Bottom left -- select "Temporarily save tweaks made to presets"
2. Any time you make a change to any setting in the preset -- the textbox will turn pink and a "+" symbol will appear on the icon. The Reload button is used to reset the tweaks for that particular preset
Locked Settings : Keeps settings constant across presets
1. In the brush editor box, for any paint option like "Size" on the left, there will be a "link" icon. Right click on that option to Lock the option. Now that particular setting will remain constant across all presets. If you cange it in one preset - the changes will reflect across all presets.
2. To unlock any option : right click on a locked option and click on Drop Locked Settings. You can either use these settings in the preset or load the last settings available in the preset.
Cumulative Undo/Redo
1. To use this feature, you will have to first have to go to Settings->Dockers->Undo History to activate the docker.
2. Next right click on <empty> or on any stroke in the undo docker and select "Use Cumulative Undo/Redo"
3. This feature merges commands together so the the user doesn't have to undo a particular group one by one and has a much larger undo history than the initial 30 strokes. The feature works on three configurable parameters :
Time before merging strokes together : While strokes are made, the code keeps checking for a particular timelapse of T seconds before it merges the groups together
Time to group the strokes : According to this parameter -- groups are made. Every stroke is put into the same group till two consecutive strokes have a time gap of more than T seconds. Then a new group is started.
Individual strokes to leave at the end : A user may want to keep the ability of Undoing/Redoing his last N strokes. Once N is crossed -- the earlier strokes are merged into the group's first stroke.
For more clarification -- please check my blog www.kritawithmohit.wordpress.com. I will put a post for Cumulative Undo/Redo shortly explaining the feature.
Diffs
-----
libs/kundo2/kundo2view.cpp 24a0046
libs/widgets/KoResourceServer.h f1d3d10
libs/widgets/KoResourceServerAdapter.h 293fab6
libs/widgets/KoResourceServerObserver.h 8372105
krita/ui/CMakeLists.txt d739f0d
krita/ui/forms/wdgpaintopsettings.ui 40b1305
krita/ui/kis_categories_mapper.h 7e975dd
krita/ui/kis_categorized_item_delegate.h 851ccda
krita/ui/kis_categorized_item_delegate.cpp 8ae264b
krita/ui/kis_categorized_list_model.h fd3dcd2
krita/ui/kis_config.h 236f3c4
krita/ui/kis_config.cc c4cdb2f
krita/ui/kis_favorite_resource_manager.h a1010f4
krita/ui/kis_favorite_resource_manager.cpp 37c16f2
krita/ui/kis_paintop_box.h 4a636f8
krita/ui/kis_paintop_box.cc 6dbef61
krita/ui/kis_paintop_option.h cfb0841
krita/ui/kis_paintop_option.cpp ac3304c
krita/ui/kis_paintop_options_model.h 259cc71
krita/ui/kis_paintop_options_model.cpp 02e92b6
krita/ui/kis_paintop_options_widget.h 59e7401
krita/ui/kis_paintop_options_widget.cpp 9c462df
krita/ui/kis_resource_server_provider.h b5fef28
krita/ui/kis_resource_server_provider.cpp ab5d6a1
krita/ui/kis_view2.cpp a5e7c67
krita/ui/recorder/kis_recorded_paint_action_editor.cc f2f93ca
krita/ui/tests/kis_resource_server_provider_test.cpp c45cf9e
krita/ui/tool/strokes/freehand_stroke.cpp 1e22302
krita/ui/tool/strokes/kis_filter_stroke_strategy.cpp 41f820f
krita/ui/tool/strokes/kis_painter_based_stroke_strategy.h a4cc667
krita/ui/tool/strokes/kis_painter_based_stroke_strategy.cpp ff09dab
krita/ui/widgets/kis_categorized_list_view.h 39476c4
krita/ui/widgets/kis_categorized_list_view.cpp 324fbfe
krita/ui/widgets/kis_paintop_list_widget.cpp f6d4116
krita/ui/widgets/kis_paintop_presets_chooser_popup.h 8c6d33c
krita/ui/widgets/kis_paintop_presets_chooser_popup.cpp 1380142
krita/ui/widgets/kis_paintop_presets_popup.h 8818d39
krita/ui/widgets/kis_paintop_presets_popup.cpp f5c18d3
krita/ui/widgets/kis_preset_chooser.cpp 9dae945
libs/kundo2/CMakeLists.txt dc138ec
libs/kundo2/kundo2group.cpp c6fea93
libs/kundo2/kundo2magicstring.h 6ec9b50
libs/kundo2/kundo2model.h f257faf
libs/kundo2/kundo2model.cpp d5f0450
libs/kundo2/kundo2stack.h 0bab840
libs/kundo2/kundo2stack.cpp 0ca715b
krita/plugins/extensions/resourcemanager/dlg_create_bundle.cpp 441b3e2
krita/plugins/extensions/resourcemanager/resourcebundle.cpp eded62e
krita/plugins/extensions/resourcemanager/resourcemanager.cpp 9d9065e
krita/plugins/extensions/resourcemanager/tests/ResourceBundleTest.h a739d54
krita/plugins/extensions/resourcemanager/tests/ResourceBundleTest.cpp 3337432
krita/sketch/models/PresetImageProvider.cpp d31cdad
krita/sketch/models/PresetModel.cpp 9c90aab
krita/plugins/extensions/dockers/historydocker/KisUndoModel.h 3e1787e
krita/plugins/extensions/dockers/historydocker/KisUndoModel.cpp 82575d0
krita/plugins/extensions/dockers/historydocker/KisUndoView.h 95a2357
krita/plugins/extensions/dockers/historydocker/KisUndoView.cpp 636052a
krita/plugins/extensions/dockers/historydocker/kis_history_docker_stack.h PRE-CREATION
krita/plugins/extensions/dockers/historydocker/kis_history_docker_stack.cpp PRE-CREATION
krita/plugins/extensions/dockers/presetdocker/presetdocker_dock.cpp 684f7b6
krita/pics/linked2.png PRE-CREATION
krita/pics/reload_preset.png PRE-CREATION
krita/plugins/extensions/dockers/historydocker/HistoryDock.cpp 228387e
krita/image/kisundo2/kisundo2qstack.h PRE-CREATION
krita/image/kisundo2/kisundo2stack.h PRE-CREATION
krita/image/kisundo2/kisundo2stack.cpp PRE-CREATION
krita/image/kisundo2/kisundo2stack_p.h PRE-CREATION
krita/image/kisundo2/kisundo2view.h PRE-CREATION
krita/image/kisundo2/kisundo2view.cpp PRE-CREATION
krita/image/recorder/kis_recorded_paint_action.cpp f9e5001
krita/libbrush/kis_brush_server.cpp 27ab727
krita/pics/CMakeLists.txt 01ad5fd
krita/image/kis_painter.cc 2d48181
krita/image/kis_post_execution_undo_adapter.cpp 363e000
krita/image/kis_properties_configuration.h 80680e1
krita/image/kis_properties_configuration.cc 17b94c8
krita/image/kis_transaction.h 9b10961
krita/image/kis_transaction_data.h d6acbee
krita/image/kis_transaction_data.cpp 0c3db1b
krita/image/kis_types.h 8af57f9
krita/image/kisundo2/kisundo2_export.h PRE-CREATION
krita/image/kisundo2/kisundo2command.h PRE-CREATION
krita/image/kisundo2/kisundo2group.h PRE-CREATION
krita/image/kisundo2/kisundo2group.cpp PRE-CREATION
krita/image/kisundo2/kisundo2model.h PRE-CREATION
krita/image/kisundo2/kisundo2model.cpp PRE-CREATION
krita/image/brushengine/kis_paint_information.cc 54ff402
krita/image/brushengine/kis_paintop.h d78d48b
krita/image/brushengine/kis_paintop.cc 304317a
krita/image/brushengine/kis_paintop_factory.cpp 085282b
krita/image/brushengine/kis_paintop_preset.h ccacd73
krita/image/brushengine/kis_paintop_preset.cpp 767de3e
krita/image/brushengine/kis_paintop_registry.cc 9915a8e
krita/image/brushengine/kis_paintop_settings.h 154bc29
krita/image/brushengine/kis_paintop_settings.cpp 5678d3f
krita/image/brushengine/kis_paintop_settings_widget.h a592824
krita/image/commands/kis_image_command.h 8933d09
krita/image/commands/kis_image_command.cpp 7cbe584
krita/image/commands_new/kis_saved_commands.h 01210c1
krita/image/commands_new/kis_saved_commands.cpp a18611d
krita/image/kis_config_widget.h 3cefc3c
krita/image/kis_indirect_painting_support.h be913df
krita/image/kis_indirect_painting_support.cpp b0dfdce
krita/image/kis_locked_settings.h PRE-CREATION
krita/image/kis_painter.h fa3137c
krita/CMakeLists.txt 3668a56
krita/gemini/MainWindow.cpp 49c68a4
krita/image/CMakeLists.txt ab21527
krita/image/brushengine/kis_locked_properties.h PRE-CREATION
krita/image/brushengine/kis_locked_properties.cc PRE-CREATION
krita/image/brushengine/kis_locked_properties_proxy.h PRE-CREATION
krita/image/brushengine/kis_locked_properties_proxy.cpp PRE-CREATION
krita/image/brushengine/kis_locked_properties_server.h PRE-CREATION
krita/image/brushengine/kis_locked_properties_server.cpp PRE-CREATION
krita/image/brushengine/kis_paint_information.h 678ef5e
Diff: https://git.reviewboard.kde.org/r/119812/diff/
Testing
-------
Thanks,
Mohit Goyal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kimageshop/attachments/20140817/81cb6a8b/attachment.html>
More information about the kimageshop
mailing list