[GNC-dev] "2" version of source code
Geert Janssens
geert.gnucash at kobaltwit.be
Tue Aug 4 15:48:39 EDT 2020
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
More information about the gnucash-devel
mailing list