Gtk3

classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Gtk3

Robert Fewell-2
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 ?

Regards,
  Bob
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

John Ralls-2

> On Jun 5, 2017, at 3:19 AM, Robert Fewell <[hidden email]> 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 ?

I think we're looking at requiring 3.8 or 3.10--whichever introduces css theming.

Geert's been pretty busy lately and hasn't touched the branch in 6 weeks, so no worries about stepping on him. I'm still struggling with getting the MinGW64 build to work, so I'm not in the GUI code at all, and we're both going to have to shift gears shortly to getting 2.6.17 released.

In that IRC conversation he mentioned a couple of dialogs with layout issues; you could start with those or just go through the program looking for places where something isn't quite right.

Regards,
John Ralls
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Geert Janssens-4
In reply to this post by Robert Fewell-2
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
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Robert Fewell-2
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 <[hidden email]> 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
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

John Ralls-2
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 <[hidden email]> 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 <[hidden email]> 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
> [hidden email]
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Robert Fewell-2
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>
> 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
> > [hidden email]
> > https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

John Ralls-2
Bob,

Excellent, thanks.

Menus and Actions have moved to GIO: https://developer.gnome.org/gio/unstable/application.html <https://developer.gnome.org/gio/unstable/application.html> and most of the new deprecations in Gtk-3.22 are there as a “heads up” for Gtk-4, which isn’t really ready for use by applications yet. Changing to an application model will require some redesign and we don’t really have time for that, so we can leave those deprecations and document them with a bug.

Regards,
John Ralls

> On Jun 29, 2017, at 2:16 AM, Robert Fewell <[hidden email]> wrote:
>
> 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 <[hidden email] <mailto:[hidden email]>> 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 <[hidden email] <mailto:[hidden email]>> 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 <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 <[hidden email] <mailto:[hidden email]>> 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
> > [hidden email] <mailto:[hidden email]>
> > https://lists.gnucash.org/mailman/listinfo/gnucash-devel <https://lists.gnucash.org/mailman/listinfo/gnucash-devel>
>
>

_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Geert Janssens-4
In reply to this post by Robert Fewell-2
Hi Bob,

I'm evaluating your branch now. Great work so far!

If I have comments, I'll add them in your github branch directly to the
commits.

Thanks!

Geert

On donderdag 29 juni 2017 11:16:04 CEST Robert Fewell wrote:

> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>
> >
> > 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
> > > [hidden email]
> > > https://lists.gnucash.org/mailman/listinfo/gnucash-devel


_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Geert Janssens-4
In reply to this post by Robert Fewell-2
Bob,

While reading through your changes I note we have lots of places where we make
some small tweaks to the default gui style. It shows in your commits because
we have to change from GtkStyle api to GtkStyleContext/GtkCssProvider api.

This got me thinking about a future streamlining we should consider: instead
of adding code snippets that insert custom CSS, can't we collect all of these
snippets in one big CSS file we ship with gnucash, to be stored in /etc/
gnucash/gnucash.css and which we read at load time ? Much like we now load a
custom .gtk3.0-gnucash.css file.

Both can co-exist IMO, with the latter taking precedence over the former. The
one in etc should be "Application" priority the one in the homedir "User"
priority.

This would keep the code cleaner and separate function from presentation.
Especially your initial work of adding style context to most widgets is a big
step in the right direction.

What do you think ?

Regards,

Geert

On donderdag 29 juni 2017 11:16:04 CEST Robert Fewell wrote:

> 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
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Robert Fewell-2
Geert,

That sounds like a good idea, not sure about the location, may be in
share/gnucash/gnucash.css
Some kind of naming format will need to be decided that makes sense.

I can have a look at that after all your initial thoughts !!

Bob

On 8 July 2017 at 14:01, Geert Janssens <[hidden email]> wrote:

> Bob,
>
> While reading through your changes I note we have lots of places where we
> make
> some small tweaks to the default gui style. It shows in your commits
> because
> we have to change from GtkStyle api to GtkStyleContext/GtkCssProvider api.
>
> This got me thinking about a future streamlining we should consider:
> instead
> of adding code snippets that insert custom CSS, can't we collect all of
> these
> snippets in one big CSS file we ship with gnucash, to be stored in /etc/
> gnucash/gnucash.css and which we read at load time ? Much like we now load
> a
> custom .gtk3.0-gnucash.css file.
>
> Both can co-exist IMO, with the latter taking precedence over the former.
> The
> one in etc should be "Application" priority the one in the homedir "User"
> priority.
>
> This would keep the code cleaner and separate function from presentation.
> Especially your initial work of adding style context to most widgets is a
> big
> step in the right direction.
>
> What do you think ?
>
> Regards,
>
> Geert
>
> On donderdag 29 juni 2017 11:16:04 CEST Robert Fewell wrote:
> > 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
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Geert Janssens-4
On zaterdag 8 juli 2017 15:17:45 CEST Robert Fewell wrote:
> Geert,
>
> That sounds like a good idea, not sure about the location, may be in
> share/gnucash/gnucash.css

Doh... Indeed share/gnucash/ would be much better than /etc. It's application
data, not system configuration.

> Some kind of naming format will need to be decided that makes sense.
>
Do you mean for the file name or for the widget style contexts ?

> I can have a look at that after all your initial thoughts !!

That would be great.

Geert
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Geert Janssens-4
In reply to this post by Geert Janssens-4
I'm done with reviewing your work. You'll find mi comments directly on the
github commits.

In general - well done! This really brings us much closer to a real gtk3
gnucash.

As far as I'm concerned your branch is ready for merging:
- the tree builds fine
- the build executable seems to work barring a few visual details

So IMO this is ready to be tested by a bigger audience.

Regards,

Geert

On zaterdag 8 juli 2017 15:01:38 CEST Geert Janssens wrote:

> Bob,
>
> While reading through your changes I note we have lots of places where we
> make some small tweaks to the default gui style. It shows in your commits
> because we have to change from GtkStyle api to
> GtkStyleContext/GtkCssProvider api.
>
> This got me thinking about a future streamlining we should consider: instead
> of adding code snippets that insert custom CSS, can't we collect all of
> these snippets in one big CSS file we ship with gnucash, to be stored in
> /etc/ gnucash/gnucash.css and which we read at load time ? Much like we now
> load a custom .gtk3.0-gnucash.css file.
>
> Both can co-exist IMO, with the latter taking precedence over the former.
> The one in etc should be "Application" priority the one in the homedir
> "User" priority.
>
> This would keep the code cleaner and separate function from presentation.
> Especially your initial work of adding style context to most widgets is a
> big step in the right direction.
>
> What do you think ?
>
> Regards,
>
> Geert
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Robert Fewell-2
Thanks for your comments, I have a few more changes to make and then I will
try and get your recomendations done next week.

Bob

On 8 July 2017 at 15:02, Geert Janssens <[hidden email]> wrote:

> I'm done with reviewing your work. You'll find mi comments directly on the
> github commits.
>
> In general - well done! This really brings us much closer to a real gtk3
> gnucash.
>
> As far as I'm concerned your branch is ready for merging:
> - the tree builds fine
> - the build executable seems to work barring a few visual details
>
> So IMO this is ready to be tested by a bigger audience.
>
> Regards,
>
> Geert
>
> On zaterdag 8 juli 2017 15:01:38 CEST Geert Janssens wrote:
> > Bob,
> >
> > While reading through your changes I note we have lots of places where we
> > make some small tweaks to the default gui style. It shows in your commits
> > because we have to change from GtkStyle api to
> > GtkStyleContext/GtkCssProvider api.
> >
> > This got me thinking about a future streamlining we should consider:
> instead
> > of adding code snippets that insert custom CSS, can't we collect all of
> > these snippets in one big CSS file we ship with gnucash, to be stored in
> > /etc/ gnucash/gnucash.css and which we read at load time ? Much like we
> now
> > load a custom .gtk3.0-gnucash.css file.
> >
> > Both can co-exist IMO, with the latter taking precedence over the former.
> > The one in etc should be "Application" priority the one in the homedir
> > "User" priority.
> >
> > This would keep the code cleaner and separate function from presentation.
> > Especially your initial work of adding style context to most widgets is a
> > big step in the right direction.
> >
> > What do you think ?
> >
> > Regards,
> >
> > Geert
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Robert Fewell-2
In reply to this post by Geert Janssens-4
The file name can be as you stated, I was thinking about the widget style
contexts, maybe along the lines of GncDenseCal_font_size

Bob

On 8 July 2017 at 14:39, Geert Janssens <[hidden email]> wrote:

> On zaterdag 8 juli 2017 15:17:45 CEST Robert Fewell wrote:
> > Geert,
> >
> > That sounds like a good idea, not sure about the location, may be in
> > share/gnucash/gnucash.css
>
> Doh... Indeed share/gnucash/ would be much better than /etc. It's
> application
> data, not system configuration.
>
> > Some kind of naming format will need to be decided that makes sense.
> >
> Do you mean for the file name or for the widget style contexts ?
>
> > I can have a look at that after all your initial thoughts !!
>
> That would be great.
>
> Geert
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Geert Janssens-4
In reply to this post by Geert Janssens-4
Bob,

I had a few merge conflicts to resolve during merge. There was one that wasn't
trivial:
src/import-export/dialog-import.glade

To be able to continue with the merge I have reverted it to the state on
master, except for the name changes for the primary dialogs. That way it still
builds fine, but your deprecated widgets changes are lost. There is
unfortunately no way to sanely resolve merge conflicts in a glade file.

So this file has to be converted again.

What I did is pull in your branch (which also includes my and John's work) and
merged it locally in the current master branch, after resolving the conflicts.
I then pushed this result back to my github repo (gjanssens). So the master
branch in that repo is now running gtk3.

Note that this branch currently doesn't install if you enable building with
aqbanking. This is also the case for our central master branch though. It
looks like there are a few issues with the dist/distcheck/uninstall commit. I
fixed one of them on my local branch but I have no idea how to fix the
aqbanking one.

Anyway to avoid we have to do this merge again in the future, can you (re)base
your local commits you haven't pushed yet on my master branch ?

I'm holding off on pushing the whole thing to master on code.gnucash.org until
I heard from John.

Regards,

Geert

On zaterdag 8 juli 2017 16:02:01 CEST Geert Janssens wrote:

> I'm done with reviewing your work. You'll find mi comments directly on the
> github commits.
>
> In general - well done! This really brings us much closer to a real gtk3
> gnucash.
>
> As far as I'm concerned your branch is ready for merging:
> - the tree builds fine
> - the build executable seems to work barring a few visual details
>
> So IMO this is ready to be tested by a bigger audience.
>
> Regards,
>
> Geert
>
> On zaterdag 8 juli 2017 15:01:38 CEST Geert Janssens wrote:
> > Bob,
> >
> > While reading through your changes I note we have lots of places where we
> > make some small tweaks to the default gui style. It shows in your commits
> > because we have to change from GtkStyle api to
> > GtkStyleContext/GtkCssProvider api.
> >
> > This got me thinking about a future streamlining we should consider:
> > instead of adding code snippets that insert custom CSS, can't we collect
> > all of these snippets in one big CSS file we ship with gnucash, to be
> > stored in /etc/ gnucash/gnucash.css and which we read at load time ? Much
> > like we now load a custom .gtk3.0-gnucash.css file.
> >
> > Both can co-exist IMO, with the latter taking precedence over the former.
> > The one in etc should be "Application" priority the one in the homedir
> > "User" priority.
> >
> > This would keep the code cleaner and separate function from presentation.
> > Especially your initial work of adding style context to most widgets is a
> > big step in the right direction.
> >
> > What do you think ?
> >
> > Regards,
> >
> > Geert
>
> _______________________________________________
> gnucash-devel mailing list
> [hidden email]
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel


_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Geert Janssens-4
In reply to this post by Robert Fewell-2
On zaterdag 8 juli 2017 17:25:19 CEST Robert Fewell wrote:
> The file name can be as you stated, I was thinking about the widget style
> contexts, maybe along the lines of GncDenseCal_font_size
>
> Bob

Right. I actually have no idea what is common. The whole css thing is pretty new to me. Did you
find any examples in other applications ?

I believe though there should be a combination of two things: a widget type specifier (like
gncdensecal) and style properties for that widget.

So a widget of type gncdensecal can have a property called "font-size" (note dashes are usually
used in css rather than underscores).

With that you could write css like:
gncdensecal
{
    font-size: 10pt;
}

If you want to alter a property of one particular Dense Calendar, you could use the style context
name you have set in your code, something like this
#DensCalX
{
    font-size: 10pt;
}

That's only highlevel code, not fully verified :) More details explanations and examples can be
found here:
https://developer.gnome.org/gtk3/unstable/chap-css-overview.html

For default gtk widgets this is all available by default. And usually we'd want to use the second
form (altering css properties of one particular widget instead of a complete widget class).
For our custom widgets we'd have to define these widget types and style properties ourselves.

Geert
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

John Ralls-2
In reply to this post by Geert Janssens-4
Geert,

Great, thanks! That was what I was planning to do today, so it moves me up to merging in my mingw64 branch and converting the mingw64 branch of gnucash-on-windows to Gtk3.

That blocks windows nightlies so I had it in mind that we’d hold off on merging into the official master until then. OTOH we really shouldn’t do any further work on the gtk2 master, it will just make more work later.

As for AQBanking, I thought I’d gotten that fixed in the distcheck merge commit. One does have to turn it on explicitly when building with Cmake.

Regards,
John Ralls

> On Jul 8, 2017, at 9:31 AM, Geert Janssens <[hidden email]> wrote:
>
> Bob,
>
> I had a few merge conflicts to resolve during merge. There was one that wasn't
> trivial:
> src/import-export/dialog-import.glade
>
> To be able to continue with the merge I have reverted it to the state on
> master, except for the name changes for the primary dialogs. That way it still
> builds fine, but your deprecated widgets changes are lost. There is
> unfortunately no way to sanely resolve merge conflicts in a glade file.
>
> So this file has to be converted again.
>
> What I did is pull in your branch (which also includes my and John's work) and
> merged it locally in the current master branch, after resolving the conflicts.
> I then pushed this result back to my github repo (gjanssens). So the master
> branch in that repo is now running gtk3.
>
> Note that this branch currently doesn't install if you enable building with
> aqbanking. This is also the case for our central master branch though. It
> looks like there are a few issues with the dist/distcheck/uninstall commit. I
> fixed one of them on my local branch but I have no idea how to fix the
> aqbanking one.
>
> Anyway to avoid we have to do this merge again in the future, can you (re)base
> your local commits you haven't pushed yet on my master branch ?
>
> I'm holding off on pushing the whole thing to master on code.gnucash.org until
> I heard from John.
>
> Regards,
>
> Geert
>
> On zaterdag 8 juli 2017 16:02:01 CEST Geert Janssens wrote:
>> I'm done with reviewing your work. You'll find mi comments directly on the
>> github commits.
>>
>> In general - well done! This really brings us much closer to a real gtk3
>> gnucash.
>>
>> As far as I'm concerned your branch is ready for merging:
>> - the tree builds fine
>> - the build executable seems to work barring a few visual details
>>
>> So IMO this is ready to be tested by a bigger audience.
>>
>> Regards,
>>
>> Geert
>>
>> On zaterdag 8 juli 2017 15:01:38 CEST Geert Janssens wrote:
>>> Bob,
>>>
>>> While reading through your changes I note we have lots of places where we
>>> make some small tweaks to the default gui style. It shows in your commits
>>> because we have to change from GtkStyle api to
>>> GtkStyleContext/GtkCssProvider api.
>>>
>>> This got me thinking about a future streamlining we should consider:
>>> instead of adding code snippets that insert custom CSS, can't we collect
>>> all of these snippets in one big CSS file we ship with gnucash, to be
>>> stored in /etc/ gnucash/gnucash.css and which we read at load time ? Much
>>> like we now load a custom .gtk3.0-gnucash.css file.
>>>
>>> Both can co-exist IMO, with the latter taking precedence over the former.
>>> The one in etc should be "Application" priority the one in the homedir
>>> "User" priority.
>>>
>>> This would keep the code cleaner and separate function from presentation.
>>> Especially your initial work of adding style context to most widgets is a
>>> big step in the right direction.
>>>
>>> What do you think ?
>>>
>>> Regards,
>>>
>>> Geert
>>
>> _______________________________________________
>> gnucash-devel mailing list
>> [hidden email]
>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
>
> _______________________________________________
> gnucash-devel mailing list
> [hidden email]
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Robert Fewell-2
In reply to this post by Geert Janssens-4
OK, I will have a go at this on Sunday before I try and make the changes
you have mentioned in your feedback.

Bob

On 8 July 2017 at 17:31, Geert Janssens <[hidden email]> wrote:

> Bob,
>
> I had a few merge conflicts to resolve during merge. There was one that
> wasn't
> trivial:
> src/import-export/dialog-import.glade
>
> To be able to continue with the merge I have reverted it to the state on
> master, except for the name changes for the primary dialogs. That way it
> still
> builds fine, but your deprecated widgets changes are lost. There is
> unfortunately no way to sanely resolve merge conflicts in a glade file.
>
> So this file has to be converted again.
>
> What I did is pull in your branch (which also includes my and John's work)
> and
> merged it locally in the current master branch, after resolving the
> conflicts.
> I then pushed this result back to my github repo (gjanssens). So the master
> branch in that repo is now running gtk3.
>
> Note that this branch currently doesn't install if you enable building with
> aqbanking. This is also the case for our central master branch though. It
> looks like there are a few issues with the dist/distcheck/uninstall
> commit. I
> fixed one of them on my local branch but I have no idea how to fix the
> aqbanking one.
>
> Anyway to avoid we have to do this merge again in the future, can you
> (re)base
> your local commits you haven't pushed yet on my master branch ?
>
> I'm holding off on pushing the whole thing to master on code.gnucash.org
> until
> I heard from John.
>
> Regards,
>
> Geert
>
> On zaterdag 8 juli 2017 16:02:01 CEST Geert Janssens wrote:
> > I'm done with reviewing your work. You'll find mi comments directly on
> the
> > github commits.
> >
> > In general - well done! This really brings us much closer to a real gtk3
> > gnucash.
> >
> > As far as I'm concerned your branch is ready for merging:
> > - the tree builds fine
> > - the build executable seems to work barring a few visual details
> >
> > So IMO this is ready to be tested by a bigger audience.
> >
> > Regards,
> >
> > Geert
> >
> > On zaterdag 8 juli 2017 15:01:38 CEST Geert Janssens wrote:
> > > Bob,
> > >
> > > While reading through your changes I note we have lots of places where
> we
> > > make some small tweaks to the default gui style. It shows in your
> commits
> > > because we have to change from GtkStyle api to
> > > GtkStyleContext/GtkCssProvider api.
> > >
> > > This got me thinking about a future streamlining we should consider:
> > > instead of adding code snippets that insert custom CSS, can't we
> collect
> > > all of these snippets in one big CSS file we ship with gnucash, to be
> > > stored in /etc/ gnucash/gnucash.css and which we read at load time ?
> Much
> > > like we now load a custom .gtk3.0-gnucash.css file.
> > >
> > > Both can co-exist IMO, with the latter taking precedence over the
> former.
> > > The one in etc should be "Application" priority the one in the homedir
> > > "User" priority.
> > >
> > > This would keep the code cleaner and separate function from
> presentation.
> > > Especially your initial work of adding style context to most widgets
> is a
> > > big step in the right direction.
> > >
> > > What do you think ?
> > >
> > > Regards,
> > >
> > > Geert
> >
> > _______________________________________________
> > gnucash-devel mailing list
> > [hidden email]
> > https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
>
> _______________________________________________
> gnucash-devel mailing list
> [hidden email]
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Robert Fewell-2
In reply to this post by Geert Janssens-4
I will have a think about this after I complete all the other required
changes.

Bob

On 8 July 2017 at 17:46, Geert Janssens <[hidden email]> wrote:

> On zaterdag 8 juli 2017 17:25:19 CEST Robert Fewell wrote:
>
> > The file name can be as you stated, I was thinking about the widget style
>
> > contexts, maybe along the lines of GncDenseCal_font_size
>
> >
>
> > Bob
>
>
>
> Right. I actually have no idea what is common. The whole css thing is
> pretty new to me. Did you find any examples in other applications ?
>
>
>
> I believe though there should be a combination of two things: a widget
> type specifier (like gncdensecal) and style properties for that widget.
>
>
>
> So a widget of type gncdensecal can have a property called "font-size"
> (note dashes are usually used in css rather than underscores).
>
>
>
> With that you could write css like:
>
> gncdensecal
>
> {
>
> font-size: 10pt;
>
> }
>
>
>
> If you want to alter a property of one particular Dense Calendar, you
> could use the style context name you have set in your code, something like
> this
>
> #DensCalX
>
> {
>
> font-size: 10pt;
>
> }
>
>
>
> That's only highlevel code, not fully verified :) More details
> explanations and examples can be found here:
>
> https://developer.gnome.org/gtk3/unstable/chap-css-overview.html
>
>
>
> For default gtk widgets this is all available by default. And usually we'd
> want to use the second form (altering css properties of one particular
> widget instead of a complete widget class).
>
> For our custom widgets we'd have to define these widget types and style
> properties ourselves.
>
>
>
> Geert
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gtk3

Robert Fewell-2
I have just issued a pull request for the changes that I made after Geert
had copied my branch and most of the changes he pointed out on his review.
The main ones being the missed alt key combination on some buttons, migrate
the dialog-import.glade to gtk3 again which stops a crash if you go to
preferences and a the some miss added style context classes.

I will try and look at the other points raised this week.

Bob

On 8 July 2017 at 19:54, Robert Fewell <[hidden email]> wrote:

> I will have a think about this after I complete all the other required
> changes.
>
> Bob
>
> On 8 July 2017 at 17:46, Geert Janssens <[hidden email]>
> wrote:
>
>> On zaterdag 8 juli 2017 17:25:19 CEST Robert Fewell wrote:
>>
>> > The file name can be as you stated, I was thinking about the widget
>> style
>>
>> > contexts, maybe along the lines of GncDenseCal_font_size
>>
>> >
>>
>> > Bob
>>
>>
>>
>> Right. I actually have no idea what is common. The whole css thing is
>> pretty new to me. Did you find any examples in other applications ?
>>
>>
>>
>> I believe though there should be a combination of two things: a widget
>> type specifier (like gncdensecal) and style properties for that widget.
>>
>>
>>
>> So a widget of type gncdensecal can have a property called "font-size"
>> (note dashes are usually used in css rather than underscores).
>>
>>
>>
>> With that you could write css like:
>>
>> gncdensecal
>>
>> {
>>
>> font-size: 10pt;
>>
>> }
>>
>>
>>
>> If you want to alter a property of one particular Dense Calendar, you
>> could use the style context name you have set in your code, something like
>> this
>>
>> #DensCalX
>>
>> {
>>
>> font-size: 10pt;
>>
>> }
>>
>>
>>
>> That's only highlevel code, not fully verified :) More details
>> explanations and examples can be found here:
>>
>> https://developer.gnome.org/gtk3/unstable/chap-css-overview.html
>>
>>
>>
>> For default gtk widgets this is all available by default. And usually
>> we'd want to use the second form (altering css properties of one particular
>> widget instead of a complete widget class).
>>
>> For our custom widgets we'd have to define these widget types and style
>> properties ourselves.
>>
>>
>>
>> Geert
>>
>
>
_______________________________________________
gnucash-devel mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
12