Op dinsdag 4 augustus 2020 18:39:32 CEST schreef jean laroche: > Thanks for that effort Bob. Let us know if you need any help with > anything (I doubt it, but who knows, testing maybe?) > > Remind me what the push was to create the "2" version? What improvement > were you guys hoping to achieve? > I know I'm interested in multi-transactions operations, but I'm sure > that wasn't the only goal...
The original register was based on gnome-canvas, which was deprecated by the Gtk project. To avoid having to maintain it ourselves we tried the GtkTreeView/Model approach as those are gtk objects the were still supported. However that didn't work out for 2.6 so the effort stalled. Then a GtkWebKit deprecation forced us to switch to Gtk3 for gnucash 3. As the GtkTreeView/Model based register was collecting dust and we weren't sure at all whether we could make it work in time if at all, I ported the gnome- canvas based register to GtkLayout, which is Gtk's implementation of a free form layout. I was never really happy with this, but it was the best we could do in the short time left before the gnucash 3.0 release. It's still to this day causing us extra work unfortunately, in particular to get non-ascii input methods to work properly. So if we manage to do a register based on more specialized widgets such as a GtkTreeView, that could potentially lower the maintenance burden quite a bit as a GtkTreeView implements lots of (Gtk-standard) functionality we now have to maintain ourselves. That would mean our register code could be cleaned up and eventually be manageable enough to extend it with more modern-day features such as multi-transaction operations, column shuffling, sorting, filtering,... We have implemented the latter two but a GtkTreeView would allow us to drop much of our custom code for that. Regards, Geert _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel