<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/119812/">https://git.reviewboard.kde.org/r/119812/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">There is a regression :(</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">https://bugs.kde.org/show_bug.cgi?id=338467</p></pre>
 <br />









<p>- Dmitry Kazakov</p>


<br />
<p>On August 17th, 2014, 12:48 p.m. UTC, Mohit Goyal wrote:</p>









<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for Krita Extensions, Dmitry Kazakov and Boudewijn Rempt.</div>
<div>By Mohit Goyal.</div>


<p style="color: grey;"><i>Updated Aug. 17, 2014, 12:48 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
calligra
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Dirty Presets, Locked Settings and Cumulative Undo/Redo -- Krita<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
(Please note -- apply the patch to calligra as there are some changes to Kundo2 as well)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Here is a complete patch for my GSoC project. <br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
To use these features, try the following :</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Dirty Presets : Keeps temporary tweaks made to the preset till the session ends</p>
<ol style="padding: 0;text-rendering: inherit;margin: 0 0 0 2em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Go to the Brush Editor box. Bottom left -- select "Temporarily save tweaks made to presets"</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">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</li>
</ol>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Locked Settings : Keeps settings constant across presets</p>
<ol style="padding: 0;text-rendering: inherit;margin: 0 0 0 2em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">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.</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">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.</li>
</ol>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Cumulative Undo/Redo<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
1. To use this feature, you will have to first have to go to Settings->Dockers->Undo History to activate the docker.<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
2. Next right click on <empty> or on any stroke in the undo docker and select "Use Cumulative Undo/Redo"<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
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 :<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
                          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<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
                          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.<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
                          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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">For more clarification -- please check my blog www.kritawithmohit.wordpress.com. I will put a post for Cumulative Undo/Redo shortly explaining the feature.</p></pre>
  </td>
 </tr>
</table>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>libs/kundo2/kundo2view.cpp <span style="color: grey">(24a0046)</span></li>

 <li>libs/widgets/KoResourceServer.h <span style="color: grey">(f1d3d10)</span></li>

 <li>libs/widgets/KoResourceServerAdapter.h <span style="color: grey">(293fab6)</span></li>

 <li>libs/widgets/KoResourceServerObserver.h <span style="color: grey">(8372105)</span></li>

 <li>krita/ui/CMakeLists.txt <span style="color: grey">(d739f0d)</span></li>

 <li>krita/ui/forms/wdgpaintopsettings.ui <span style="color: grey">(40b1305)</span></li>

 <li>krita/ui/kis_categories_mapper.h <span style="color: grey">(7e975dd)</span></li>

 <li>krita/ui/kis_categorized_item_delegate.h <span style="color: grey">(851ccda)</span></li>

 <li>krita/ui/kis_categorized_item_delegate.cpp <span style="color: grey">(8ae264b)</span></li>

 <li>krita/ui/kis_categorized_list_model.h <span style="color: grey">(fd3dcd2)</span></li>

 <li>krita/ui/kis_config.h <span style="color: grey">(236f3c4)</span></li>

 <li>krita/ui/kis_config.cc <span style="color: grey">(c4cdb2f)</span></li>

 <li>krita/ui/kis_favorite_resource_manager.h <span style="color: grey">(a1010f4)</span></li>

 <li>krita/ui/kis_favorite_resource_manager.cpp <span style="color: grey">(37c16f2)</span></li>

 <li>krita/ui/kis_paintop_box.h <span style="color: grey">(4a636f8)</span></li>

 <li>krita/ui/kis_paintop_box.cc <span style="color: grey">(6dbef61)</span></li>

 <li>krita/ui/kis_paintop_option.h <span style="color: grey">(cfb0841)</span></li>

 <li>krita/ui/kis_paintop_option.cpp <span style="color: grey">(ac3304c)</span></li>

 <li>krita/ui/kis_paintop_options_model.h <span style="color: grey">(259cc71)</span></li>

 <li>krita/ui/kis_paintop_options_model.cpp <span style="color: grey">(02e92b6)</span></li>

 <li>krita/ui/kis_paintop_options_widget.h <span style="color: grey">(59e7401)</span></li>

 <li>krita/ui/kis_paintop_options_widget.cpp <span style="color: grey">(9c462df)</span></li>

 <li>krita/ui/kis_resource_server_provider.h <span style="color: grey">(b5fef28)</span></li>

 <li>krita/ui/kis_resource_server_provider.cpp <span style="color: grey">(ab5d6a1)</span></li>

 <li>krita/ui/kis_view2.cpp <span style="color: grey">(a5e7c67)</span></li>

 <li>krita/ui/recorder/kis_recorded_paint_action_editor.cc <span style="color: grey">(f2f93ca)</span></li>

 <li>krita/ui/tests/kis_resource_server_provider_test.cpp <span style="color: grey">(c45cf9e)</span></li>

 <li>krita/ui/tool/strokes/freehand_stroke.cpp <span style="color: grey">(1e22302)</span></li>

 <li>krita/ui/tool/strokes/kis_filter_stroke_strategy.cpp <span style="color: grey">(41f820f)</span></li>

 <li>krita/ui/tool/strokes/kis_painter_based_stroke_strategy.h <span style="color: grey">(a4cc667)</span></li>

 <li>krita/ui/tool/strokes/kis_painter_based_stroke_strategy.cpp <span style="color: grey">(ff09dab)</span></li>

 <li>krita/ui/widgets/kis_categorized_list_view.h <span style="color: grey">(39476c4)</span></li>

 <li>krita/ui/widgets/kis_categorized_list_view.cpp <span style="color: grey">(324fbfe)</span></li>

 <li>krita/ui/widgets/kis_paintop_list_widget.cpp <span style="color: grey">(f6d4116)</span></li>

 <li>krita/ui/widgets/kis_paintop_presets_chooser_popup.h <span style="color: grey">(8c6d33c)</span></li>

 <li>krita/ui/widgets/kis_paintop_presets_chooser_popup.cpp <span style="color: grey">(1380142)</span></li>

 <li>krita/ui/widgets/kis_paintop_presets_popup.h <span style="color: grey">(8818d39)</span></li>

 <li>krita/ui/widgets/kis_paintop_presets_popup.cpp <span style="color: grey">(f5c18d3)</span></li>

 <li>krita/ui/widgets/kis_preset_chooser.cpp <span style="color: grey">(9dae945)</span></li>

 <li>libs/kundo2/CMakeLists.txt <span style="color: grey">(dc138ec)</span></li>

 <li>libs/kundo2/kundo2group.cpp <span style="color: grey">(c6fea93)</span></li>

 <li>libs/kundo2/kundo2magicstring.h <span style="color: grey">(6ec9b50)</span></li>

 <li>libs/kundo2/kundo2model.h <span style="color: grey">(f257faf)</span></li>

 <li>libs/kundo2/kundo2model.cpp <span style="color: grey">(d5f0450)</span></li>

 <li>libs/kundo2/kundo2stack.h <span style="color: grey">(0bab840)</span></li>

 <li>libs/kundo2/kundo2stack.cpp <span style="color: grey">(0ca715b)</span></li>

 <li>krita/plugins/extensions/resourcemanager/dlg_create_bundle.cpp <span style="color: grey">(441b3e2)</span></li>

 <li>krita/plugins/extensions/resourcemanager/resourcebundle.cpp <span style="color: grey">(eded62e)</span></li>

 <li>krita/plugins/extensions/resourcemanager/resourcemanager.cpp <span style="color: grey">(9d9065e)</span></li>

 <li>krita/plugins/extensions/resourcemanager/tests/ResourceBundleTest.h <span style="color: grey">(a739d54)</span></li>

 <li>krita/plugins/extensions/resourcemanager/tests/ResourceBundleTest.cpp <span style="color: grey">(3337432)</span></li>

 <li>krita/sketch/models/PresetImageProvider.cpp <span style="color: grey">(d31cdad)</span></li>

 <li>krita/sketch/models/PresetModel.cpp <span style="color: grey">(9c90aab)</span></li>

 <li>krita/plugins/extensions/dockers/historydocker/KisUndoModel.h <span style="color: grey">(3e1787e)</span></li>

 <li>krita/plugins/extensions/dockers/historydocker/KisUndoModel.cpp <span style="color: grey">(82575d0)</span></li>

 <li>krita/plugins/extensions/dockers/historydocker/KisUndoView.h <span style="color: grey">(95a2357)</span></li>

 <li>krita/plugins/extensions/dockers/historydocker/KisUndoView.cpp <span style="color: grey">(636052a)</span></li>

 <li>krita/plugins/extensions/dockers/historydocker/kis_history_docker_stack.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/plugins/extensions/dockers/historydocker/kis_history_docker_stack.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/plugins/extensions/dockers/presetdocker/presetdocker_dock.cpp <span style="color: grey">(684f7b6)</span></li>

 <li>krita/pics/linked2.png <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/pics/reload_preset.png <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/plugins/extensions/dockers/historydocker/HistoryDock.cpp <span style="color: grey">(228387e)</span></li>

 <li>krita/image/kisundo2/kisundo2qstack.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kisundo2/kisundo2stack.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kisundo2/kisundo2stack.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kisundo2/kisundo2stack_p.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kisundo2/kisundo2view.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kisundo2/kisundo2view.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/recorder/kis_recorded_paint_action.cpp <span style="color: grey">(f9e5001)</span></li>

 <li>krita/libbrush/kis_brush_server.cpp <span style="color: grey">(27ab727)</span></li>

 <li>krita/pics/CMakeLists.txt <span style="color: grey">(01ad5fd)</span></li>

 <li>krita/image/kis_painter.cc <span style="color: grey">(2d48181)</span></li>

 <li>krita/image/kis_post_execution_undo_adapter.cpp <span style="color: grey">(363e000)</span></li>

 <li>krita/image/kis_properties_configuration.h <span style="color: grey">(80680e1)</span></li>

 <li>krita/image/kis_properties_configuration.cc <span style="color: grey">(17b94c8)</span></li>

 <li>krita/image/kis_transaction.h <span style="color: grey">(9b10961)</span></li>

 <li>krita/image/kis_transaction_data.h <span style="color: grey">(d6acbee)</span></li>

 <li>krita/image/kis_transaction_data.cpp <span style="color: grey">(0c3db1b)</span></li>

 <li>krita/image/kis_types.h <span style="color: grey">(8af57f9)</span></li>

 <li>krita/image/kisundo2/kisundo2_export.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kisundo2/kisundo2command.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kisundo2/kisundo2group.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kisundo2/kisundo2group.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kisundo2/kisundo2model.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kisundo2/kisundo2model.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/brushengine/kis_paint_information.cc <span style="color: grey">(54ff402)</span></li>

 <li>krita/image/brushengine/kis_paintop.h <span style="color: grey">(d78d48b)</span></li>

 <li>krita/image/brushengine/kis_paintop.cc <span style="color: grey">(304317a)</span></li>

 <li>krita/image/brushengine/kis_paintop_factory.cpp <span style="color: grey">(085282b)</span></li>

 <li>krita/image/brushengine/kis_paintop_preset.h <span style="color: grey">(ccacd73)</span></li>

 <li>krita/image/brushengine/kis_paintop_preset.cpp <span style="color: grey">(767de3e)</span></li>

 <li>krita/image/brushengine/kis_paintop_registry.cc <span style="color: grey">(9915a8e)</span></li>

 <li>krita/image/brushengine/kis_paintop_settings.h <span style="color: grey">(154bc29)</span></li>

 <li>krita/image/brushengine/kis_paintop_settings.cpp <span style="color: grey">(5678d3f)</span></li>

 <li>krita/image/brushengine/kis_paintop_settings_widget.h <span style="color: grey">(a592824)</span></li>

 <li>krita/image/commands/kis_image_command.h <span style="color: grey">(8933d09)</span></li>

 <li>krita/image/commands/kis_image_command.cpp <span style="color: grey">(7cbe584)</span></li>

 <li>krita/image/commands_new/kis_saved_commands.h <span style="color: grey">(01210c1)</span></li>

 <li>krita/image/commands_new/kis_saved_commands.cpp <span style="color: grey">(a18611d)</span></li>

 <li>krita/image/kis_config_widget.h <span style="color: grey">(3cefc3c)</span></li>

 <li>krita/image/kis_indirect_painting_support.h <span style="color: grey">(be913df)</span></li>

 <li>krita/image/kis_indirect_painting_support.cpp <span style="color: grey">(b0dfdce)</span></li>

 <li>krita/image/kis_locked_settings.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/kis_painter.h <span style="color: grey">(fa3137c)</span></li>

 <li>krita/CMakeLists.txt <span style="color: grey">(3668a56)</span></li>

 <li>krita/gemini/MainWindow.cpp <span style="color: grey">(49c68a4)</span></li>

 <li>krita/image/CMakeLists.txt <span style="color: grey">(ab21527)</span></li>

 <li>krita/image/brushengine/kis_locked_properties.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/brushengine/kis_locked_properties.cc <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/brushengine/kis_locked_properties_proxy.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/brushengine/kis_locked_properties_proxy.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/brushengine/kis_locked_properties_server.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/brushengine/kis_locked_properties_server.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/image/brushengine/kis_paint_information.h <span style="color: grey">(678ef5e)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/119812/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>








  </div>
 </body>
</html>