Per the work on #100 it's become clear that Qt really wants its object ownership hierarchy to be its own thing, rather than maintaining parallel references in both Python and C++-land.
AlbumEditor's undo history is currently done as a parallel reference in that way, and needs to be turned into a delegate, which should be pretty straightforward, at least.
This would likely be done by creating an AlbumDataDelegate class which contains AlbumEditor's data, undo_history, and redo_history members, and the record_undo method.
Per the work on #100 it's become clear that Qt really wants its object ownership hierarchy to be its own thing, rather than maintaining parallel references in both Python and C++-land.
AlbumEditor
's undo history is currently done as a parallel reference in that way, and needs to be turned into a delegate, which should be pretty straightforward, at least.This would likely be done by creating an
AlbumDataDelegate
class which containsAlbumEditor
'sdata
,undo_history
, andredo_history
members, and therecord_undo
method.