Lang gewacht en gekregen (of gegeven)

Er lag al heel lang een wens te zeuren om eens vervuld te gaan worden: zo'n drie jaar geleden tijdens het werken met mijn XML editor leek het me wel een goed idee om ook het ongedaan en eventueel opnieuw gedaan maken van acties in te bouwen. Voor dat soort dingen hou ik - is het zo lang al weer? - een registratie bij op een locale Trac site en vandaag heb ik het ticket eindelijk afgesloten.

Nadat het heel lang bijna onmerkbaar had liggen smeulen flakkerde het vuurtje wat op toen ik iets las over het undo/redo framework dat PyQt waarin ik dit tooltje voor de overgang naar Python 3 in heb herbouwd en een week of wat geleden toen ik me afvroeg wat ik nu eens voor mezelf zou gaan doen begon het definitief stevig te branden. 

En toch heb me er weer een beetje van af gemaakt. Daarmee wil ik niet zeggen dat het niet of niet goed werkt, maar ik ben er niet in geslaagd om het perfect af te leveren. Als je een aantal handelingen uitvoert, ze ongedaan maakt en ze weer probeert uit te voeren, blijkt het namelijk niet altijd - of misschien wel meestal niet - mogelijk om dat voor elkaar te krijgen. Het heeft iets te maken met de context die onthouden wordt bij het uitvoeren van een actie en die soms anders is bij het opnieuw uitvoeren na het eerst ongedaan maken. Misschien krijg ik nog een briljante inval hoe ik dit moet oplossen (ik heb al wel het een en ander geprobeerd) maar voorlopig heb ik me er maar van af gemaakt door het aantal ongedaan te maken acties te beperken tot één, oftewel alleen de laatste. Weliswaar met de mogelijkheid om die beperking eraf te halen, maar dan krijg je wel een waarschuwing dat het niet onmogelijk is dat er dingen gebeuren die je niet verwacht.

Ja, ik ben er niet blij mee, maar ik heb even geen zin om in het kringetje van proberen en proberen en niet slagen te blijven rondrennen, soms moet je gewoon even vaststellen dat het zo voorlopig genoeg is.

Net als bij teksten schrijven, daarbij blijkt ook steevast dat er toch echt niet meer in zit dan voor mijn gevoel veel te weinig.