From kde-kimageshop Tue Oct 21 15:08:54 2014 From: "Mohit Goyal" Date: Tue, 21 Oct 2014 15:08:54 +0000 To: kde-kimageshop Subject: Re: Review Request 119812: GSoC-14 project : Dirty Presets, Locked Settings and Cumulative Undo/Redo Message-Id: <20141021150854.18179.38854 () probe ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-kimageshop&m=141390414515684 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============4678321879831280687==" --===============4678321879831280687== Content-Type: multipart/alternative; boundary="===============3431414845103711692==" --===============3431414845103711692== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/119812/ ----------------------------------------------------------- (Updated Oct. 21, 2014, 3:08 p.m.) Status ------ This change has been marked as submitted. 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 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 --===============3431414845103711692== MIME-Version: 1.0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: 7bit
This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/119812/

This change has been marked as submitted.


Review request for Krita Extensions, Dmitry Kazakov and Boudewijn Rempt.
By Mohit Goyal.

Updated Oct. 21, 2014, 3:08 p.m.

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)

View Diff

--===============3431414845103711692==-- --===============4678321879831280687== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Krita mailing list kimageshop@kde.org https://mail.kde.org/mailman/listinfo/kimageshop --===============4678321879831280687==--