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

Reply via email to