GTG

GTG needs a GTK3 port

Bug #897136 reported by Izidor Matušov
36
This bug affects 5 people
Affects Status Importance Assigned to Milestone
GTG
Fix Released
High
Xuan (Sean) Hu

Bug Description

This bugs was created by a splitting of bug #885320

GTG needs to be rewritten into PyGObject / GTK3 [1] Althoug it should be mainly about refractoring the code, it will be a big change for GTG.

1: https://live.gnome.org/PyGObject

Related branches

Izidor Matušov (izidor)
Changed in gtg:
milestone: 0.4 → 0.3.1
Revision history for this message
Izidor Matušov (izidor) wrote :

Few links to documenation to port GTG:

https://live.gnome.org/PyGObject/IntrospectionPorting
http://developer.gnome.org/gtk3/stable/gtk-migrating-2-to-3.html

The migration is needed, e.g. because Evolution library and current PyGTK doesn't play well anymore ( See bug #931539 )

Revision history for this message
Lionel Dricot (ploum-deactivatedaccount) wrote :

I don't consider it's critical. GTG is still usable as GTK2

Changed in gtg:
importance: Critical → High
Revision history for this message
Vaibhav Mathur (silverspade-vaibhav) wrote :

I really want to this. Can this be assinged to me?

Revision history for this message
Joe R. Nassimian (nassimian-joseph) wrote :

Vaibhav Matchur: I already started the port:
- finished the liblarch port to gtk3
- finished porting gtg's gobject, gtk, gdk, pango, and gdkpixbuf related code to pygobject's dynamic binding. (Gtk3 if you will).

checkout my branch and base your work on it. The process I used to port is documented here: https://live.gnome.org/gtg/GTK3Port

Liblarch can be found here:
https://github.com/placidrage/liblarch

I've pushed two patches in pygobject, that fixes some problems I faced when using the conversion script in pygobject, and adds 3 ways for programs to check pygobject's version.

import gi
gi.__version__ is a string containing a string representation of the version
gi.version_info is a tuple representing the version as (major, minor, micro)
gi.check_version() which takes either a string or a tuple and checks the version, and raises an exception when requested version is superior to available version, otherwise is returns None.

All this to say is that because of GtkTreePath's improvements in the git version of pygobject, I can avoid some of the hacks i used in the porting effort that aren't necessary anymore.

requesting version 3.3.5 which is the first version with my patches that came a little after the major fixes concerning tree related fixes in pygobject (namely gtktreemodel and gtktreepath).

I'm in vacation right now, and returning next monday to my normal routines, you can probably find me on irc as placidrage, most probably on the gimpnet server , the #python channel.

The big blocker for the port is the gnome-keyring part which is to be completely changed. I kind of have a solution for it back home, so take a shot at that, if nothing happens, find me on irc on monday and we'll take a shot at it together.

I planned a lot of other changes for gtg as well (not related to new features) but I've been busy fighting with pygobject related fixes and tests lately.

As far as I can tell the minimum dev version of pygobject required is 3.3.5, and according to this: http://packages.ubuntu.com/source/quantal/pygobject it is safe to consider that things will work correctly.

I'll soon (in less then a week) add the necessary information for developing with a working version of pygobject.

Izidor Matušov (izidor)
Changed in gtg:
assignee: nobody → Izidor Matušov (izidor)
status: Confirmed → In Progress
Revision history for this message
Izidor Matušov (izidor) wrote :

I began where Joe finished -- I merged his Gtk related changes with the current trunk and started a new dedicated branch for this bug: lp:~gtg-user/gtg/port-to-gtk3

It will be fun during next following days :D

Izidor Matušov (izidor)
Changed in gtg:
milestone: 0.3.1 → 0.3.2
Izidor Matušov (izidor)
Changed in gtg:
status: In Progress → Confirmed
assignee: Izidor Matušov (izidor) → nobody
Nimit Shah (nimit-svnit)
Changed in gtg:
status: Confirmed → In Progress
assignee: nobody → Xuan (Sean) Hu (huxuan)
Revision history for this message
Parin Porecha (parinporecha) wrote :

I had branched huxuan's branch to lp:~gtg-user/gtg/port-to-gtk3-py3

It has been merged in revision 1345.
There are still minor bugs, which will need to be fixed before releasing the port as 0.3.2

Changed in gtg:
status: In Progress → Fix Committed
Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

Thanks for your efforts on finishing that work Parin, much appreciated :)

Revision history for this message
kretcheu (kretcheu) wrote :

Hi,

I'm maintaining gtg in Debian.

Is the migration was completed? Anybody knows if gtg-0.3.2 is comming?

Thanks
[]'s
kretcheu
:x

Changed in gtg:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.