> The branch is actually playable... Woohoo... > > Ahem... as long as the only thing you need the keyboard to do is chat and > enter commands. ;-) > > It is quite broken though. Most keyboard function does not work, and various > signals do not seem to be connected properly. My initial thought is to check > out how to use g_signal_connect() instead of glade_xml_signal_connect(), but > so far no luck. I think it will come down to looking at what all is in > interface.c > and finding out the libglade equivalent stuff and where to put it. > > Other problems: All windows are open at app start and can't be raised if > closed since the menu bar is non-functional. You can quit, but the app won't > fully shutdown... maybe because the metaserver window will not re-raise to > expose the quit button.
Use of g_signal_connect() is much more useful. interface.c uses it all over the place, so it makes it easy to verify the signals that need to be connected, and the resulting connections look much more like what you would expect to see based on the .glade file. By making sure all g_signal_connect() that were in the interface.c were put in the libglade version of gtk-v2 client, most of the breakage reported above is now fixed. Still persistent, though, are the window issues. The metaserver dialog will not reappear on quit, so shutting down the client is hosed, as is Client | Disconnect. But, all the windows are popped up on app start, which is not right. Presumably this means there are more interface.c guts to transfer into the application. The client, however, is very playable, and, as mentioned before, you can set in new .glade files. The conversion is largely done, it appears, except for the window stuff. Oh, but, some mods really need to be made that are a bit more than strict conversion to libglade. To support saving window position on alternate glade files, it is anticipated that some of the sizeable widgets probably need to be renamed to generic names so that they are applicable no matter what glade file is in use... like resize1, resize2, etc. They are named specific to function now, so it could make the widget names kind of silly in some layouts. The .glade file name should be programmatically selectable as another configuration parameter, so some changes are due there. Further, the make process needs to be updated to install the available glade files. It might even be wise to have a script that verifies that a .glade file is "compatible" with the source code, but checking for key widget names that must be present to avoid crashing the client. Kevin R. Bulgrien. _______________________________________________ crossfire mailing list crossfire@metalforge.org http://mailman.metalforge.org/mailman/listinfo/crossfire