A multi-protocol chat program for Haiku.
Iri al dosiero
Jaidyn Ann f0ce3e87c6 Support generally setting own nick, own UserItems
Seperate UserItems are now created for each list, too, rather than a
single one being created per-user. This functionally works a lot nicer.

But onto more important things… now setting the user's own nick should
work quite well. Finally. =w=

This has given me a good bit of trouble over the past couple of days―
setting the user's nick *worked*, but it wouldn't propagate to its
corresponding UserItem nor its UserInfoDialog. It would, however, work
with the StatusView.

These are all registered Observers of the User itself, so if one works,
they *all* should, them all being registered to the same User.

Now, if a given User isn't found in the ProtocolLooper's user-list,
the Conversation class will take it upon itself to create a new
one and add it to both of their respective lists.

So the user's own contact would be set in the ProtocolLooper― but it
*wouldn't* be added to the user-list.

Hilarity ensues as two seperate objects for the user's own contact would
be created.

Since the StatusView is registered to the ProtocolLooper's "real" own contact
slot, it would receive all updates… but since Conversations' user-lists and
items would be registered to the Conversation-created "fake" user, they
would be borked.

Simple oversight, but wow it hecked with me. :P
2021-08-05 14:28:56 -05:00
application Support generally setting own nick, own UserItems 2021-08-05 14:28:56 -05:00
data Add 'Room info' dialogue 2021-08-04 12:44:20 -05:00
libs (libinterface) Optional bitmap-ownership with BitmapMenuItem 2021-08-03 10:15:04 -05:00
locales Translate more strings, update catkeys 2021-07-24 21:11:34 -05:00
protocols (purple) Fix setting own nick 2021-08-05 10:20:52 -05:00
smileys Merged multiprotocol branch with trunk. 2010-05-16 21:02:50 +00:00
Contributors Update README and Contributors 2021-07-11 15:31:37 -05:00
License Merging caya and caya-gpl-protocols 2013-07-29 16:58:19 +02:00
Makefile Rename Caya to Cardie 2021-06-22 01:06:00 -05:00
Makefile.common Add debug mode 2021-07-10 09:31:31 -05:00
README.md Update README and Contributors 2021-07-11 15:31:37 -05:00

Cardie

GSoC 2021

A multi-protocol chat program.

Screenshot

Building

You can make Cardie and its protocols with:

$ make

Or one-by-one:

$ make libs; make app; make protocols

Cardie itself requires the expat_devel package, the XMPP protocol requires gloox_devel, and the libpurple add-on requires libpurple_devel and glib2_devel.

The (provisional) IRC protocol requires libircclient_devel, openssl_devel, and zlib_devel, though you have to build it specifically:

$ make -f protocols/irc/Makefile

License

Cardie itself is under the MIT license, but licenses vary for the included libraries and add-ons.

The xmpp and purple add-ons are under the GPLv2+, and irc the MIT license.

libsupport is under the MIT license, though containing some PD code. librunview contains code from Vision, and is under the MPL. libinterface is under the MIT license.