Mercurial > pidgin
view src/protocols/jabber/ChangeLog.libxode @ 4359:5fb47ec9bfe4
[gaim-migrate @ 4625]
Wow, okay, where to begin with this one ;)
I rewrote the whole conversation backend. It is now core/UI split. Here's
how it works..
Every conversation is represented by a gaim_conversation structure. This
branches out into gaim_im and gaim_chat structures. Every conversation
lives in (well, normally, but it doesn't have to) a gaim_window structure.
This is a _CORE_ representation of a window. There can be multiple
gaim_window structures around.
The gaim_window and gaim_conversation structures have UI-specific operation
structures associated with them. At the moment, the only UI is GTK+, and
this will be for some time. Don't start thinking you can write a QT UI now.
It's just not going to happen.
Everything that is done on a conversation is done through the core API.
This API does core processing and then calls the UI operations for the
rendering and anything else.
Now, what does this give the user?
- Multiple windows.
- Multiple tabs per window.
- Draggable tabs.
- Send As menu is moved to the menubar.
- Menubar for chats.
- Some very cool stuff in the future, like replacing, say, IRC chat windows
with an X-Chat interface, or whatever.
- Later on, customizable window/conversation positioning.
For developers:
- Fully documented API
- Core/UI split
- Variable checking and mostly sane handling of incorrect variables.
- Logical structure to conversations, both core and UI.
- Some very cool stuff in the future, like replacing, say, IRC chat windows
with an X-Chat interface, or whatever.
- Later on, customizable window/conversation positioning.
- Oh yeah, and the beginning of a stock icon system.
Now, there are things that aren't there yet. You will see tabs even if you
have them turned off. This will be fixed in time. Also, the preferences
will change to work with the new structure. I'm starting school in 2 days,
so it may not be done immediately, but hopefully in the next week.
Enjoy!
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Mon, 20 Jan 2003 09:10:23 +0000 |
parents | 424a40f12a6c |
children |
line wrap: on
line source
2000-10-30 temas <temas@box5.net> (temas@jabber.org) * include/libxode.h: Solaris compiler warnings * src/Makefile.am: updated libtool version * configure.in: 1.2 version 2000-10-25 jeremie <jer@jabber.org> * pool.c: debug stuff is working again and cool now :) 2000-10-23 temas <temas@box5.net> (temas@jabber.org) * sha.c: replaced with a version from Mozilla, works again for real 2000-10-20 temas <temas@box5.net> (temas@jabber.org) * sha.c: no more memory overrun... exploring other possible bugs 2000-10-06 jeremie <jer@jabber.org> * xstream.c: bug in XSTREAM_ERR event, was passing an overloaded xmlnode (DUH!), it's now a normal <error>error message</error> node that has to be free'd like any other 2000-09-26 jeremie <jer@jabber.org> * xstream.c: bug in put_vattrib() fixed 2000-08-05 jeremie <jer@jabber.org> * xstream.c: moved primatives for xmlstream from libetherx to libxode, much cleaner and nicer now and usable in more places independent of IO 2000-06-15 madcat <palpa@jabber.org> * xmlnode.c: static keyword added to local functions * libxode.h: C++ friendlyness (conditionally compiled extern "C" {} stuff) 2000-05-22 madcat <palpa@jabber.org> * sha.c: endianness fix 2000-05-20 madcat <palpa@jabber.org> * xmlnode.c xmlnode2str() : indentation fixed, root node with no child problem fixed 2000-05-13 madcat <palpa@jabber.org> * xmlnode.c: added comments to some functions * xmlnode.c: xode_node2str() morphed into xmlnode2str() * README: pth dependency statement removed 2000-05-06 madcat <palpa@jabber.org> * new function: xode_node2str() it's the non-recursive version of xmlnode2str() 2000-05-03 jer <jeremie@jabber.org> * pool.c: last minute fixes, important part is the byte boundary fix for some platforms to prevent a Bus Error 2000-05-01 jer <jeremie@jabber.org> * astyle of 4 space indent applied to *.c 2000-05-01 temas <temas@box5.net> * sha.c: moved to uint32 * configure.in: check some type sizes * libxode.h: define uint32 from size checks 2000-04-29 madcat <palpa@jabber.org> * str.c: evil strcat() in spool_print() replaced with j_strcat() 2000-04-28 jer <jeremie@jabber.org> * str.c: added spools() utility wrapper around spool_* * pool.c: rewrite to use heaps, much more efficient and stuff, and modular cleanup is built into the pool now 2000-04-26 temas <temas@box5.net> * SHA1 is fixed, and no longer requires endian.h * libxode-config is created 2000-04-22 jer <jeremie@jabber.org> * str.c: added simple base64 decode 2000-04-20 jer <jeremie@jabber.org> * str.c: added some more convenience wrappers 2000-04-18 jer <jeremie@jabber.org> * 1.0pre2 2000-04-17 jer <jeremie@jabber.org> * str.c: zonestr * pool.c: labels and better debugging 2000-04-14 jer <jeremie@jabber.org> * xmlnode.c: made xmlnode_get_data() a little smarter, searching for it 2000-04-12 jer <jeremie@jabber.org> * 1.0pre1 * added str_hash_code function for the ghash utility 2000-04-11 temas <temas@box5.net> * hash generation routines moved into libxode * sha support is now built in, supplies 4 functions to the users see sha.c for more info 2000-03-28 jer <jeremie@jabber.org> * 0.9! 2000-03-27 e-t <eliot@landrum.cx> * README: minor updates. 2000-03-19 temas <temas@box5.net * RC 2000-03-17 temas <temas@box5.net> * quick bump to pre4 2000-03-12 jer <jeremie@jabber.org> * xmlnode.c: xmlnode_insert_cdata() didn't make sure the parent existed, duh 2000-03-02 temas <temas@box5.net> * src/snprintf.c: Use apaches snprintf replacement * include/libxode.h: patch up for snprintf 2000-02-29 temas <temas@box5.net> * configure.in: pre3 * snprintf.c: make this not build correctly if certain defines are set * ChangeLog: cleaned up jer's mess 2000-02-29 e-t <eliot@landrum.cx> * Added a complete README. * Added a complete AUTHORS. 2000-02-27 jer <jeremie@jabber.org> * pool.c: now has a debug version that tracks all stats 2000-02-23 temas <temas@box5.net> * moved the common dir into what is now known as libxode 2000-02-21 jer <jeremie@jabber.org> * xmlnode.c: xmlnode_get_tag() had a bug under certian queries 2000-01-30 jer <jeremie@jabber.org> * xmlnode.c: few places in the core functions that weren't too tolerant of bad data :) 2000-01-28 jer <jeremie@jabber.org> * xmlnode.c: fixed bug in xmlnode_get_data with parsing NTYPE_ATTRIB nodes * xmlnode.c: fixed bug in xmlnode_get_tag, a check failed and ?queries would fail * xmlnode.c: created xmlnode_insert_tag_node() for convenience 2000-01-22 jer <jeremie@jabber.org> * xmlnode.c: added xmlnode_new_tag_pool() and xmlnode_dup_pool() convenience functions to force the pool to use 2000-01-19 jer <jeremie@jabber.org> * xmlnode.c: changed xmlnode_get_data() to automatically do xmlnode_get_firstchild if you pass it a tag * xmlnode.c: upgraded xmlnode_get_tag() to support queries, and convenience xmlnode_get_tag_data() 2000-01-19 jer <jeremie@jabber.org> * pool.c: added pool_size(p) to return the bytes used in the pool * added ChangeLog for common