Gtk3

Robert Fewell 14ubobit at gmail.com
Thu Jun 29 05:16:04 EDT 2017


This is what I have done so far, may of gone too far but every thing still
appears to be working.
I have not touched any Aquabanking stuff, not sure what needs to be done to
get that enabled but probably would not take long to convert.

All glade files are now verified against 3.10 and deprecated widgets
changed.
Stock buttons changed to the equivalent labels and images changed to icons
including the GNC_ ones.

All deprecated widgets have been changed to 3.10 equivalents apart from
GtkUiManager, GtkAction and GtkActionMenu. These are mostly to do with
toolbars, menus, accelerator keys and there are no easy real equivalents so
propose to leave them deprecated to the end and then maybe a decision can
be made.

I have tried to stay away from the register but some of the commits have
replaced some deprecated widgets.

I have experimented with some CSS by adding style context classes of the
nature "GncImapDialog" to various dialogues and this seems to work quite
well down to changing the background colour of different tree views. May
continue to add more.

There are no doubt some tweaks to be made to align with current version but
maybe that should wait till the gtk3 branch is updated from master.

With version 3.22, I am getting warnings on the console about transient
windows not having a parent so may have a look at that next. There are
other warnings but they seem to be concerned with GTK itself, may need
looking at, not sure. Also with this version we get a whole new set of
deprecated widgets that may be an idea to get replaced. Will need to do a
complete rebuild on this version to get an updated log file.


Bob




On 16 June 2017 at 20:15, John Ralls <jralls at ceridwen.us> wrote:

> Bob,
>
> Super! Thanks!
>
> The treatment of stock images was something of a moving target in Gtk3 so
> you may have to do some config/cmake work to figure out what to use and
> then conditionally compile based the result. We do need to look good on
> 3.10-3.22 and everything in between. I think complaints about that were one
> of the motivations for the new release plan for 4.x.
>
> Change the Glade files as much as you think appropriate and have time for.
>
> Regards,
> John Ralls
>
> > On Jun 16, 2017, at 9:24 AM, Robert Fewell <14ubobit at gmail.com> wrote:
> >
> > OK, I have been tapping away with the following progress...
> > I downgraded a clone VM to Gtk+3.10.8 which successfully builds and runs
> > but I seem to of lost some stock images, not an issue as I can temporary
> > replace them
> > but I can use it to make sure I have not included any newer functions.
> >
> > In the original VM I have built and made some changes which can be seen
> at My
> > GitHub <https://github.com/Bob-IT/gnucash/tree/gtk3>
> > I have hopefully done the following but as normal there may be some
> > tweaks...
> > Replaced RC file with CSS file, name may need changing
> > The dense calendar now renders with a white background but can be set
> with
> > CSS
> > Changed the way tabs are done and now display correctly and fixed the
> width
> > updates
> > Changed most widgets that had a horizontal / vertical function to the new
> > equivalents.  These were simple function swaps I had in existing patch
> file.
> >
> > I was going to look at the account edit dialogue but wanted to ask how
> much
> > do you want the glade files changed ?
> > Change the version and replace deprecated widgets ?
> >
> > There are some further deprecated widgets that I will change if able to
> as
> > I come across them.
> >
> > Bob
> >
> > On 6 June 2017 at 09:54, Geert Janssens <geert.gnucash at kobaltwit.be>
> wrote:
> >
> >> On maandag 5 juni 2017 12:19:24 CEST Robert Fewell wrote:
> >>> Hi,
> >>>
> >>> I was browsing the IRC logs and Geert mentioned his gtk3 branch, yes I
> >> have
> >>> pulled from there and recently updated my local version which was built
> >>> successfully.
> >>> I tend not to fiddle where other people are working as I would no doubt
> >>> just get in the way or slow down their efforts.
> >>>
> >>> If you would like me to look at some thing, just ask and I will have a
> >>> look, been looking at some schedule bugs but they can wait...
> >>>
> >>> What version of Gtk3 are these changes aimed at, my gtk3 development VM
> >> is
> >>> on 3.20.9 ?
> >>
> >> Hi Bob,
> >>
> >> I'm happy you're willing to jump in as well.
> >>
> >> As John already mentioned (and you could have read on IRC) I'm currently
> >> pretty occupied outside of the gnucash project.
> >>
> >> The Gtk3 version to target is 3.10. This is the most recent version on
> >> Ubuntu
> >> Trusty, which is the base OS for our Travis builds. Any other build
> >> platform
> >> we care about comes with a more recent version of gtk3.
> >>
> >> Feel free to clone my branch and make PR's against it.
> >>
> >> So far I've been mostly focused on
> >> 1. getting it to build and run (which should be accomplished)
> >> 2. Tweak the the register code to make it render properly
> >>
> >> For part 1 I needed do replace several Gtk2 functions that have been
> >> removed
> >> from Gtk3. The code wouldn't build otherwise. I only did minimal
> changes to
> >> get it to run. With that I mean I only replaced removed functions, not
> >> deprecated API.
> >>
> >> So here are a few opportunities to jump in:
> >> - The rendering of the custom calendar in the SX editor is wrong. I
> think
> >> the
> >> background isn't rendered, but there may be other things going on there.
> >> - Tab titles aren't rendering correctly. They are being rendered as
> "..."
> >> instead of the full (or partially elipsized) text. I suspect this has
> to do
> >> with Gtk3 new paradigm of minimal vs natural width, which we're not
> >> handling
> >> properly for the tab titles.
> >> - There may still be other visual issues I haven't spotted yet. If
> >> discovered
> >> these should get priority over the next point IMO.
> >> - There are lots of deprecated API warnings. Unfortunately Gtk3 has been
> >> moving target so there are new deprecations in almost every Gtk3
> release. I
> >> propose to focus on those function calls which have been deprecated in
> Gtk3
> >> 3.10 or earlier.
> >>
> >> I will continue to focus on the register code and will communicate my
> >> progress
> >> when I get to it.
> >>
> >> Regards,
> >>
> >> Geert
> >>
> > _______________________________________________
> > gnucash-devel mailing list
> > gnucash-devel at gnucash.org
> > https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
>


More information about the gnucash-devel mailing list