Vincent Akkermans' GSoC-project is about action replay, it will involve changes to the undo system:
http://wiki.blender.org/index.php/User:Ack-err/GSoC_2013/Proposal That sounds like an occasion to also improve the text editor, since it shares the global undo and scripts get easily reverted to old states if a user tries to undo changes in the 3d view. Text editor should - have its own undo system - not log every keystroke, but meaningful undo steps - support undo/redo properly (it gets confused a lot currently and might remove or overwrite lines you never touched) - handle internal / external files differently? Not sure if Vincent will have a chance / is willing to tackle these, but if so, the way to pack/unpack/whatever texts might also need re-thinking. Am 31.05.2013 20:45, schrieb Sergey Sharybin: > That'd be really confusing situation when you'll set is-internal to False > for the textblock which originally was internal. You'll basically loose all > the data i guess. > > Also is_dirty pretty dangerous thing. Setting it to false will also lead to > nothing else than confuse. > > This is probably acceptable for short-term solution, but for longer term > is't more like a confusing way to reach the goal. And in context of recent > API breakage discussing think it's better to support nice way of reaching > the goal from the start, rather than breaking api later. > > And for long term, not sure how pack/unpack is different from > make_internal/make_external. Sounds more like a pseudonyms to the same > thing, and perhaps we could already call functions this way? > > > On Sat, Jun 1, 2013 at 12:30 AM, Campbell Barton <[email protected]>wrote: > >> I requested Tamito use flags rather then a function, >> The reason for this is that making a text internal/external is fairly >> low-level (not something regular script devs would care about >> typically). >> if you add make_internal() then theres the chance you'll want a >> make_external() function (which could be OK but adds more API calls). >> >> Longer term, I think it would be good if we could have text that isn't >> necessarily stored inside a blend file (like how images aren't stored >> unless packed), >> in that case text blocks can have pack(), unpack() functions as mentioned. >> >> On Sat, Jun 1, 2013 at 4:08 AM, Tamito KAJIYAMA >> <[email protected]> wrote: >>> Hi Sergey, >>> >>> Indeed .make_internal() was exactly what I was proposing initially. >>> http://www.pasteall.org/42705/diff >>> Then I was suggested to address the issue in the present way. >>> I tend to agree with your opinion from the scripter perspective. >>> >>> -- >>> KAJIYAMA, Tamito <[email protected]> >>> >>> >>> -----Original Message----- >>> From: Sergey Sharybin >>> Sent: Friday, May 31, 2013 10:17 AM >>> To: Blender Developers >>> Subject: Re: [Bf-committers] [Bf-blender-cvs] SVN commit: >> /data/svn/bf-blender [57153] trunk/blender/source/blender/ >>> makesrna/intern/rna_text.c: Made text datablock properties >> 'is_in_memory' and 'is_dirty' editable in Python. >>> >>> Hi, >>> >>> Not sure this is the best way to go. IMO this is rather confusing from >>> scripter POV and confuses system a bit. >>> >>> Why not make it a TextBlock.make_internal() method? Name of the method is >>> discussable -- could be pack/unpack to match other datablocks, but think >>> callback is the way to go to achieve things you want :) >>> >>> >>> On Fri, May 31, 2013 at 1:40 PM, Tamito Kajiyama >>> <[email protected]>wrote: >>> >>>> Revision: 57153 >>>> >>>> >> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57153 >>>> Author: kjym3 >>>> Date: 2013-05-31 07:40:03 +0000 (Fri, 31 May 2013) >>>> Log Message: >>>> ----------- >>>> Made text datablock properties 'is_in_memory' and 'is_dirty' editable in >>>> Python. >>>> >>>> The rationale of this revision is to provide an easy way to make text >>>> datablocks internal >>>> from within Python (i.e., by setting these properties to True and the >>>> 'filepath' property >>>> to empty string). >>>> >>>> Modified Paths: >>>> -------------- >>>> trunk/blender/source/blender/makesrna/intern/rna_text.c >>>> >>>> Modified: trunk/blender/source/blender/makesrna/intern/rna_text.c >>>> =================================================================== >>>> --- trunk/blender/source/blender/makesrna/intern/rna_text.c >> 2013-05-31 >>>> 06:28:11 UTC (rev 57152) >>>> +++ trunk/blender/source/blender/makesrna/intern/rna_text.c >> 2013-05-31 >>>> 07:40:03 UTC (rev 57153) >>>> @@ -148,7 +148,6 @@ >>>> >>>> prop = RNA_def_property(srna, "is_dirty", PROP_BOOLEAN, >> PROP_NONE); >>>> RNA_def_property_boolean_sdna(prop, NULL, "flags", TXT_ISDIRTY); >>>> - RNA_def_property_clear_flag(prop, PROP_EDITABLE); >>>> RNA_def_property_ui_text(prop, "Dirty", "Text file has been >> edited >>>> since last save"); >>>> >>>> prop = RNA_def_property(srna, "is_modified", PROP_BOOLEAN, >>>> PROP_NONE); >>>> @@ -158,7 +157,6 @@ >>>> >>>> prop = RNA_def_property(srna, "is_in_memory", PROP_BOOLEAN, >>>> PROP_NONE); >>>> RNA_def_property_boolean_sdna(prop, NULL, "flags", TXT_ISMEM); >>>> - RNA_def_property_clear_flag(prop, PROP_EDITABLE); >>>> RNA_def_property_ui_text(prop, "Memory", "Text file is in >> memory, >>>> without a corresponding file on disk"); >>>> >>>> prop = RNA_def_property(srna, "use_module", PROP_BOOLEAN, >>>> PROP_NONE); >>> >>> _______________________________________________ >>> Bf-committers mailing list >>> [email protected] >>> http://lists.blender.org/mailman/listinfo/bf-committers >> >> >> >> -- >> - Campbell >> _______________________________________________ >> Bf-committers mailing list >> [email protected] >> http://lists.blender.org/mailman/listinfo/bf-committers >> > > > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
