After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 169488 - integrate gail
integrate gail
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: .General
unspecified
Other All
: Normal enhancement
: Medium API
Assigned To: gtk-bugs
gtk-bugs
Depends on: 363103
Blocks:
 
 
Reported: 2005-03-07 15:40 UTC by Matthias Clasen
Modified: 2008-03-17 21:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
new files (191.06 KB, application/x-gzip)
2005-03-07 15:43 UTC, Matthias Clasen
  Details
glue (3.02 KB, patch)
2005-03-07 15:43 UTC, Matthias Clasen
needs-work Details | Review
move gail canvas bits to libgnomecanvas (88.99 KB, patch)
2005-03-22 17:00 UTC, Matthias Clasen
none Details | Review
new version (94.88 KB, patch)
2005-03-22 17:55 UTC, Matthias Clasen
needs-work Details | Review
updated patch: glue and new files (.diff.gz due to size) (176.91 KB, application/x-gzip)
2007-12-10 22:20 UTC, Christian Persch
  Details
patch to add gtk and gdk libraries to DEPS (555 bytes, patch)
2007-12-20 09:37 UTC, Li Yuan
none Details | Review

Description Matthias Clasen 2005-03-07 15:40:57 UTC
Please describe the problem:
Gail is a separate package because it wasn't sure that it would be ready in time
for 2.0. But we are at 2.6 now, and there is no real reason for gail to be
separately maintained.

Steps to reproduce:


Actual results:


Expected results:


Does this happen every time?


Other information:
Comment 1 Matthias Clasen 2005-03-07 15:43:18 UTC
Created attachment 38369 [details]
new files
Comment 2 Matthias Clasen 2005-03-07 15:43:39 UTC
Created attachment 38370 [details] [review]
glue
Comment 3 Matthias Clasen 2005-03-07 17:17:03 UTC
Forgot to mention that we will have to move the gnomecanvas stuff somewhere
else, probably libgail-gnome.
Comment 4 Matthias Clasen 2005-03-07 20:15:46 UTC
ok, gnomecanvas stuff should probably go to gnome-canvas itself. 
We also have to change the libgail-util soname.
Longer-term we may want to evaluate the libgail-util usefulness and move the
useful stuff into gtk. The same goes for the module itself, if moving the a11y
implementation to gtk does not affect performance.
Comment 5 Matthias Clasen 2005-03-22 17:00:25 UTC
Created attachment 39077 [details] [review]
move gail canvas bits to libgnomecanvas

A minimal patch which moves the canvas a11y bits into gnome-canvas, without
renaming or reorganizing anything. 

I don't know if this actually works.
Comment 6 bill.haneman 2005-03-22 17:33:23 UTC
one thing which I don't see, which I expected, were calls to
atk_registry_set_factory_type (registry, GNOME_TYPE_CANVAS_WIDGET,
GAIL_TYPE_CANVAS_WIDGET_FACTORY);  etc., so that the atk_registry (not to be
confused with the at-spi-registry ;-) ), knows what factory to use in order to
create appropriate AtkObjects for specific GObject subtypes.

This also is the area where any possible conflicts between the old libgail and
the new implementation would get resolved - the latest call to
atk_registry_set_factory_type() replaces any prior registrations for that type.

- bill
Comment 7 Matthias Clasen 2005-03-22 17:54:45 UTC
Ah, thats probably because some files were missing from the patch.
Comment 8 Matthias Clasen 2005-03-22 17:55:10 UTC
Created attachment 39081 [details] [review]
new version
Comment 9 Matthias Clasen 2005-06-13 20:29:51 UTC
Punting some big, unfinished features from 2.8
Comment 10 Cody Russell 2007-05-08 03:45:16 UTC
What's the status of this right now?  Is there anything I can do to help with it?
Comment 11 Christian Persch 2007-12-10 18:40:35 UTC
The libgnomecanvas a11y support has been moved from gail to libgnomecanvas, in bug 363103. That was the only thing blocking this bug, so I guess it could move forward now?

* Do we want to preserve the svn history on import?
* What about the PO files in gail; create another domain for them, or merge them into the main domain? There are about 100 strings in gail currently.
Comment 12 Matthias Clasen 2007-12-10 19:08:42 UTC
I don't think preserving svn history is super-important, the old module will not just go away. But if you can do it without bending over too far, it would be nice.

The po files, I'd just merge. Might be worth to look over the strings and see if they are worthwhile at the same time.
Comment 13 Christian Persch 2007-12-10 22:20:24 UTC
Created attachment 100719 [details]
updated patch: glue and new files (.diff.gz due to size)

Didn't find an easy way to import the svn history, so this is just the latest version from gail svn.

Remaining:
- import the po files
- import the tests
- gailwidget.h is installed in $includedir/gail-1.0/gail. I guess we should make that $includedir/gtk-2.0/gail ?
Comment 14 Christian Persch 2007-12-11 11:47:57 UTC
About the po files: the only translatable strings in gail are in gailimage, where they're used to get some sort of 'name' for images with storage_type GTK_IMAGE_STOCK. They seem to be exactly the same strings as the stock item's label, except they're in lowercase and without mnemonics. I think it'd be better to remove them and just use the stock item's label, processed like we do in gtktoolbar.c. That should be a follow-up bug though.
Comment 15 Matthias Clasen 2007-12-11 14:22:18 UTC
Sounds right. 
Comment 16 Matthias Clasen 2007-12-11 14:29:47 UTC
>  gailwidget.h is installed in $includedir/gail-1.0/gail. I guess we should
> make that $includedir/gtk-2.0/gail ?

I'd just leave it there for the initial merge. A lot of the stuff in there is probably up for cleanup as we proceed to integrate the gail bits more closely.
Comment 17 Matthias Clasen 2007-12-11 14:33:47 UTC
The patch looks good to me in general. 

Li, do you want to review it, or should we just go ahead and do the merge ?

This probably also has some consequences for the ongoing maintenance of the standalone and (the merged) gail, so just say if now is a good time for you to do the merge.
Comment 18 Li Yuan 2007-12-12 06:45:56 UTC
The patch is OK for me if there is no change in the code (*.c/*.h). Please do the merge. And thanks for your work :)

I think the work left for standalone gail is previous releases' branches, right? I will still work on it.

And I'd like to go on maintaining gail in the future. Can I commit patches for gail directly after the merge?
Comment 19 Matthias Clasen 2007-12-12 06:51:08 UTC
Yes, I'd appreciate if you (or other people who know the gail code) would keep maintaining it after the move to GTK+. 
Comment 20 Christian Persch 2007-12-12 13:35:46 UTC
(In reply to comment #18)
> The patch is OK for me if there is no change in the code (*.c/*.h).
It's straight from gail svn, with only the include of gdkx.h fixed, and the i18n code in gailimage.c #if 0'd (see comment 14; I'm going to fix that up in a follow-up bug).
Comment 21 Li Yuan 2007-12-13 02:59:53 UTC
Please refer to Bug #122549, I think we created these strings because we want the name of the gailimage is translated. So instead of returning the stock_id (like gtktoolbar.c), maybe we can return the stock label.

Anyway, this patch is OK for me.
Comment 22 Li Yuan 2007-12-18 01:41:15 UTC
Should we commit the patch?
Comment 23 Matthias Clasen 2007-12-18 01:43:54 UTC
yes, I was waiting for Christian or you to do that.
Comment 24 Christian Persch 2007-12-18 12:15:30 UTC
I was waiting for 'accept_commit-now' state :)

I'll commit the patch today.
Comment 25 Matthias Clasen 2007-12-18 13:47:00 UTC
The last attachment is not a patch, so bugzilla doesn't think it can be committed...

But anyway: accept-commit-now !
Comment 26 Christian Persch 2007-12-18 13:55:18 UTC
        * configure.in:
        * docs/reference/Makefile.am:
        * docs/reference/libgail-util/*:
        * gail-uninstalled.pc.in:
        * gail.pc.in:
        * modules/Makefile.am:
        * modules/other/Makefile.am:
        * modules/other/gail/*:
        * modules/other/gail/libgail-util/*:
        * po/POTFILES.skip: Integrate gail into gtk+. Bug #169488.
Comment 27 Willie Walker 2007-12-18 14:54:03 UTC
Way cool guys!  Does this mean the old gail module is now in maintenance mode for GNOME 2.20 and prior?
Comment 28 Matthias Clasen 2007-12-18 14:56:28 UTC
I'll have to live on for at least 2.22, since we don't plan to do a gtk release before next guadec.
Comment 29 Li Yuan 2007-12-20 09:36:07 UTC
I tried gtk+ trunk and found two problems:
1. libgailutil.so's version is changed, because it is now using gtk_binary_age. This means all applications built before cannot start. Is this breaking binary compatibility?

2. libgail.so now doesn't link to gtk and gdk libraries anymore, which could be a problem for python applications. I will paste a patch.
Comment 30 Li Yuan 2007-12-20 09:37:35 UTC
Created attachment 101305 [details] [review]
patch to add gtk and gdk libraries to DEPS
Comment 31 Christian Persch 2007-12-20 10:49:21 UTC
I filed new bugs for the things from comment 29, bug 504643 and 504645.
Comment 32 Li Yuan 2007-12-27 08:18:35 UTC
Can we install gail.pc? libgnomecanvas is depending on gail now.
Comment 33 Christian Persch 2007-12-27 09:47:05 UTC
I filed bug 505859 for that. In future, please open a new bug instead of adding comments to closed bugs :)