Jaidyn Ann
3d020c4628
Populate conversations with logs, if any saved
...
Also adds a function to protocols to toggle this― if CayaProtocol::SaveLogs()
returns true, then local logs will be used to popualte conversation
windows. Otherwise, it's up to the protocol itself.
A new protocol IM_MESSAGE was also created, IM_LOGS_RECEIVED, which can
be used to populate conversations with old logs.
2021-05-24 19:12:42 -05:00
Jaidyn Ann
cba947475c
Log message recieve times
2021-05-24 14:48:25 -05:00
Jaidyn Ann
385bfbff35
Add text logging of chats
...
Now chat sessions are logged to ~/config/settings/Caya/Cache/Logs/.
2021-05-24 14:20:57 -05:00
Jaidyn Ann
48d0b7bc96
Create Conversation class, use it instead of Contact for chats
...
This is a commit with it's foot in a lot of places, but:
The Conversation class was created as the abstraction of chats: All
ImMessages that are relevant to a conversation get routed through it,
meta-data on chats is stored in it (even if right now that's basically
limited to the user list and ID).
Server was given more methods to help accessing contacts―
ContactById(BString) and AddContact(Contact*). This better allows
Conversations to add and fetch Contacts as necessary. Right now, all
users in chats are treated as Contacts, so in the future creating an
independent userlist for Server (fUserMap?) would be useful.
Server also now stores all Conversations (fChatMap) and has some
convenience methods like for Contacts: Conversations(),
ConversationById(BString), and AddConversation(Conversation*).
CayaRenderView has been changed to not store user nicks, and will use
the appropriate nick of any arbitrarily-numbered user.
Users also have a map of all Conversations they are a part of
(fChatMap).
The Remove* methods of KeyMap now return the removed item.
2021-05-24 01:47:21 -05:00
Jaidyn Ann
7822ec0449
Split 'Contact' class into two
...
This dichotomy is useful and necessary in multi-user chats, so I split
Contact into a parent class, User. User should be used for generic
members of rooms, Contact used mainly with the roster.
2021-05-23 15:10:14 -05:00
Jaidyn Ann
fc16b9b090
Rename ContactLinker to Contact
2021-05-23 14:39:07 -05:00
Jaidyn Ann
4705d586f9
Show protocol icons in notifications
...
CayaProtocolAddOn now has the convenience functions ProtoIcon(),
ProtoSignature(), and ProtoFriendlySignature(), for getting info from
its default protocol.
2021-05-22 12:05:44 -05:00
Jaidyn Ann
6ca134f9f6
Load/Save account settings from correct paths
2021-05-21 15:52:33 -05:00
Jaidyn Ann
61a1f0baf1
Allow multiple protocols per add-on
...
Now an add-on can contain multiple protocols, and the protocol API has
changed. An add-on must now export protocol_count() and protocol_at(),
with the latter replacing protocol(). protocol_count() returning the
amount of protocols in a given add-on, and protocol_at(i) giving a
new CayaProtocol* "at" the given index.
CayaProtocol has also been changed, adding Signature(),
FriendlySignature(), Icon(), Path(), and SetPath(). The reasoning is
that different protocols (even within a single add-on) will have
different signatures and icons, so this data should be accessible from
the protocol itself.
CayaProtocolAddOn now has CountProtocols() and ProtocolAt(i), allowing
the accessing of multiple protocols. A CayaProtocolAddOn can be given a
default protocol index in the constructor, whose protocol will be
returned with Protocol(). Version() was also moved from CayaProtocol to
CayaProtocolAddOn.
2021-05-21 13:47:14 -05:00
Jaidyn Ann
53fe03d2c8
Generate protocols' settings templates by call
2021-05-20 09:32:52 -05:00
Jaidyn Ann
df55e1d9f5
Switch from Jam to Make
2021-05-19 16:12:19 -05:00
Jérôme Duval
3d2f70c527
x86_64 build fix.
2017-01-30 07:19:59 +01:00
Ivan Gualandri
b4d9d575a9
Task #12
...
* Add General section in Preference/Behavior
* Don't prompt at quit option under General section
* Show confirmation dialog on quit (if enabled)
Misc
* Replace +/- in preferences Accounts with Add/Del
2015-10-02 04:17:54 +00:00
Ivan Gualandri
fb5f1c38cf
Task #12 : add confirmation dialog
2015-09-29 08:59:40 +00:00
Barrett17
7f7c723e3b
Remove custom ObjectList header.
2015-07-02 22:07:54 +00:00
Barrett17
e41a0338f1
Update Caya.rdef
...
Set a version for Caya.
2015-06-26 22:49:13 +02:00
Barrett17
2c2b808875
Remove SVN unneeded stuff. Update my own copyright.
2015-06-24 16:45:55 +00:00
Barrett17
8ed06e4de5
IconUtils is now Haiku public API remove it.
2015-06-24 16:23:04 +00:00
Barrett17
ae0652f3cc
Finally cleaned up the buildsystem.
2015-06-24 15:31:54 +00:00
barrett17
007d2bda0a
Initial rework of the build system to support the latest Haiku changes. Patch from Adrien Destgues included, Thanks!
2013-10-12 17:59:00 +00:00
Barrett
00440a3ffc
Initial gcc2 support, patch from Haikuports, with a little modification by myself. Set the deskbar replicant show as default, and removed the gcc4 notice from preferences.
2013-07-31 22:34:52 +02:00
pisarzk@gmail.com
ac7a745bf9
Add message count to notifications
...
Added unread message count to window title and also in notification.
Made one notification for each conversation, with new messages, the
count is simply being updated.
2013-07-30 20:54:22 +02:00
barrett
5e26a038dc
Updated TODO in CayaPreferences.
2013-04-06 19:59:46 +00:00
barrett
007af3d89a
Patch from Maciej Janiszewski which adds support for hiding offline contacts, message notifications and caya can now set the window title to unread state, all functions can be disabled from settings as well. Thanks\!
2013-04-06 19:47:04 +00:00
barrett
53c5c02d66
Set better proportions between the send and receive views of the ChatWindow. Made the window split more thin.
2013-01-04 17:37:53 +00:00
barrett
101006a459
Patch from Rene Gollent that add a split in the ChatWindow to resize the send and receive views. Thanks!!
2012-11-28 15:20:17 +00:00
barrett
14fee07aeb
A lot of style fixes, fixed a lot of warnings in RunView and Theme classes.
2012-10-18 20:59:15 +00:00
barrett
9cf1222142
Fixed a bug of the RosterListView menu.
2012-10-01 12:29:15 +00:00
barrett
8a27f1f3db
Added the 'Start Conversation' menu to the RosterListView. Disabled the menus referring to unimplemented features.
2012-09-28 21:19:24 +00:00
barrett
133d3be911
Solved a double free.
2012-09-28 20:55:40 +00:00
barrett
5df2084053
Some style fixes and updated some copyrights. Removed the experimental code around SearchBarTextControl, and restored it to the previous functionality (i.e. no placeholder, until i finish my BTextControl patch to allow it), added also a 'instant search' like functionality to such class (every time you press a character the list is refreshed). This revision will be probably the next candidate for the Caya's optional package.
2012-09-25 21:45:29 +00:00
barrett
92f2ee4547
Improved the behaviour to don't get focus when a message is received or the user is typing, from that rev the chat window will appear on the screen without leaving the focus of your current application. But there are two exeptions...when a window is created the first time or the user open it from the contacts list it will get focus. Other little fixes, changed variable names and style.
2012-06-07 16:46:07 +00:00
barrett
d661379bc4
Fixed style and a warning, removed unuseful source file.
2012-05-29 00:44:02 +00:00
barrett
8ec3b19976
Added missing SearchBarTextcontrol class
2012-05-15 19:34:23 +00:00
barrett
088a1bb5f5
Fixed a AIM plugin build error introduced in recent revs.
2012-05-15 19:28:56 +00:00
barrett
2ed795031f
Fixed another memory leak.
2012-05-15 17:31:31 +00:00
barrett
7540f60d24
Resolved a memory leak, removed unuseful commented code, CAYA_EXTENDED_AWAY replaced with CAYA_CUSTOM_STATUS and added CAYA_INVISIBLE.
2012-05-15 17:20:11 +00:00
barrett
710a3c6526
Updated the contacts list BMenuItem with a complete redesign of the item, added an experimental version of the Search BTextControl showing a text that disappear when the user click on it, updated the Nickname text control to be a BTextView, other minor updates already WIP like more organization of statuses.
2012-05-15 16:48:53 +00:00
barrett
de33c1be80
Added code to show protocol's icon in the chat window.
2012-05-01 22:42:09 +00:00
barrett
493fed2f80
Setted the Person icon from haiku artwork as default contact icon.
2012-05-01 21:09:56 +00:00
barrett
9df2b09f45
Added a little bitmap at the left of the avatar in the contact list, that show the icon of the contact's protocol. Added a needed little method in the ContactLinker to get the contact protocol's bitmap as well.
2012-05-01 19:48:15 +00:00
barrett
9f4470c334
Modified the Replicant preferences string to notify that it's working only under gcc4hybrid atm, a development release will follow.
2012-03-24 23:54:58 +00:00
barrett
7318f6f28b
Modified the CayaPreferencesData class to become a BFlattenable, this remove the limit of having a fixed-size buffer for string settings.
2012-03-24 14:56:00 +00:00
barrett
b96ea4c6bf
Fixed a bad behaviour showing and locating the chat windows.
2012-03-19 20:43:18 +00:00
barrett
2f142c0d67
Added replicant preferences view.
2012-03-13 22:57:04 +00:00
barrett
0696ce92db
Updated replicant menu icons.
2012-03-12 01:41:46 +00:00
barrett
19869c3970
Fixed code style, fixed a regression that caused a bad position when the chat window is created.
2012-03-12 00:40:37 +00:00
barrett
730e9d3d49
Added a simple WIP ContactInfoWindow that will be improved while we add new informations available in the ContactLiker, actually it's useful to get the contact id/email.
2012-03-11 15:11:29 +00:00
barrett
b80c9b2b11
Modified the preferences to select if the chat window should be auto raised when a message is received or when a user is typing, or both. This fix the issue #555 .
2012-03-09 00:35:02 +00:00
barrett
8516381043
Enabled notifications using the BNotification API, including enable/disable settings. The plugins that support it are XMPP and MSN. Added another tab in the preferences window named Replicant and moved the replicant settings here.
2012-03-08 22:55:13 +00:00
barrett
2f417339f4
Added the code to lock the window looper before to update the avatar.
2012-03-08 01:17:32 +00:00
barrett
3f2f2783ff
The personal message of a contact is now show in the chat window, added also the needed code in Server.cpp to update the windows. Solved a bug with the contact avatar that was causing Caya to crash.
2012-03-08 00:47:00 +00:00
barrett
c22310f510
Modified ContactLinker : moved some inline methods from class declaration, added Get* methods for contact status and status message. Added code in the ChatWindow to show the current avatar of the user. Modified the Server to allow a plugin set the status message when sending a IM_CONTACT_INFO notification to the server, as before it's already possible to do it using a IM_STATUS_SET message.
2012-03-07 19:22:09 +00:00
barrett
8d04f539c2
Added code that allow the deskbar replicant to be disabled/enabled from the preferences
2012-03-04 02:27:16 +00:00
barrett
cf7646fb00
Modified preferences dialog, better look for Replicant settings, added a new tab for Chat Window settings
2012-03-02 02:23:21 +00:00
barrett
f51f924b89
Fixed replicant issue, it's working as well, but only under a gcc4 Haiku atm. Modified disposition of the main gui widgets, now they are placed better.
2012-02-28 00:46:15 +00:00
barrett
9c43174dce
AIM : Removed _declspec and removed a unuseful parameter, both were causing warnings. Replaced List<> a std::list wrapper, with BObjectList and removed the _TR macro in ProtocolSettings that is apparently not doing anything.
2012-02-25 20:33:28 +00:00
barrett
68e42252d6
Fixed a little build issue and a warning
2012-02-25 02:46:55 +00:00
barrett
4aff3e3422
Added a new deskbar replicant with related classes and icons, disabled libdownload and curl depencency, fixed some warnings and style violations around the code
2011-12-14 23:36:27 +00:00
plfiorini
98dd89fb55
Update copyright year.
2011-12-03 22:38:03 +00:00
plfiorini
2fabcc4fe8
Updated copyright notice.
2011-02-14 22:44:57 +00:00
plfiorini
c0a63c8f26
Layout API changes. Tested on Haiku r39074, I really don't know what is the first revision with this changes.
2010-10-24 06:27:09 +00:00
plfiorini
f8304f0c27
Added IM_CONTACT_GONE message, for contacts leaving the chat.
2010-10-24 06:26:01 +00:00
plfiorini
6ef31b44f1
Check protocol add-ons API version
2010-07-10 19:28:29 +00:00
plfiorini
082f2ad34e
Added libdownload from xeD.
2010-07-10 13:37:58 +00:00
plfiorini
30470d4816
Exclude information notifications.
2010-07-03 08:40:04 +00:00
plfiorini
fada1ba067
* Changes to notification code for my not yet merged Haiku patch (BNotification API changes).
...
* Exclude notification code for the moment, until the patch is merged.
2010-07-03 07:55:23 +00:00
plfiorini
afe167b86b
Bitmap as const argument.
2010-06-22 19:02:42 +00:00
plfiorini
1cd3ad8d26
Ops forgot one typo.
2010-05-30 22:02:50 +00:00
plfiorini
ea78353c09
I'd rather prefer "Contact is typing..." than "Buddy is typing...".
2010-05-30 22:00:40 +00:00
plfiorini
b172d6fb20
Fix typo, it's Incoming not Incomming.
2010-05-30 22:00:09 +00:00
plfiorini
183a682585
Handles detailed IM_ERROR messages.
2010-05-30 20:50:26 +00:00
plfiorini
5ddeef6e7b
* Handle IM_NOTIFICATION.
...
* Shows notifications when contacts go online or offline. Unfortunately XMPP plugins will send presence notifications when the roster is populate so presence notification is shown for every online contact when the roster list view is populated the first time.
2010-05-30 18:56:24 +00:00
plfiorini
d503077fac
Implemented IM_PROGRESS, closes #479 .
2010-05-30 12:17:32 +00:00
plfiorini
f560943e6f
Handle IM_OWN_AVATAR_SET.
...
There's only one little problem that will probably be solved after Alpha1: if you have multiple accounts, all of them will set the avatar icon and the user will see just the last icon set.
2010-05-30 08:51:19 +00:00
plfiorini
95657d52ba
* More NULL checks for ContactLinkers.
...
* When you edit an account in the preferences dialog, this is not readded to the list anymore and so its login is not triggered another time.
2010-05-30 04:28:04 +00:00
urnenfeld
17fdd9b0ca
Align Status in chat window
...
Clean the status when a message is received
2010-05-28 23:05:57 +00:00
urnenfeld
3a8af7c9f9
Forwarding messages to ChatWindow
...
Added stringview as status feedback
2010-05-28 22:38:16 +00:00
plfiorini
ff80897441
Set name only if it's a non-empty string and handle IM_EXTENDED_CONTACT_INFO in order to use full name if the contact still don't have a name.
2010-05-28 21:31:53 +00:00
plfiorini
0fb4c94b82
Default avatar icon must be notified to observer.
2010-05-28 17:21:48 +00:00
plfiorini
12852eb377
Fix crash when msn plugin is not installed.
...
When the protocol looper is set we get its CayaProtocolAddOn and retrieve the protocol add-on's icon that is used as the default icon for the contact.
2010-05-28 17:20:02 +00:00
plfiorini
af48b464ef
Hide implementation details.
2010-05-28 17:11:16 +00:00
plfiorini
d03a6fb884
Install headers for external protocols.
2010-05-28 01:08:18 +00:00
barrett
a43602fb37
added basic functions to the plugin, contact list, chatting, nudges.
2010-05-25 03:19:09 +00:00
urnenfeld
f45da3af40
Store preferences in a File
2010-05-22 14:18:11 +00:00
urnenfeld
8e956baea7
Remove ignored typedef warning for GCC4
2010-05-22 14:17:02 +00:00
plfiorini
88c5eedc9b
Some style violations fixed.
2010-05-20 21:31:55 +00:00
plfiorini
4edae0a786
Caya icon!
2010-05-20 19:15:43 +00:00
urnenfeld
52b169b0ba
Implement 'Ignore Emoticons' feature in preferences
2010-05-20 18:37:01 +00:00
plfiorini
b314c7abd8
* Rewrote BitmapView's MinSize(), MaxSize() and PreferredSize() methods.
...
* Added BitmapView::Bitmap() method.
* BitmapView::SetBitmap() now doesn't resize the view anymore.
* BitmapView has now a minimum size of 32x32.
* Draw bitmap on BitmapView using B_FILTER_BITMAP_BILINEAR.
* StatusView sets now explicit max and preferred size to 50x50 for the avatar icon view and doesn't resize the bitmap explicitely.
* Small style violation fixes.
2010-05-20 18:11:32 +00:00
plfiorini
4412809657
Fix some style violations.
2010-05-19 22:28:26 +00:00
urnenfeld
c67f1936c0
* Use all area provided in the window
2010-05-19 22:06:25 +00:00
plfiorini
cc898075d2
Fixed what mankind will remember as the 'Massive Breakage due to "blind svn merge"'.
2010-05-19 21:36:36 +00:00
plfiorini
2ee14f4c14
* Some style violation fixes.
...
* Code aligned to recent multiprotocol branch changes.
* Fixed crash when Server filters IM_STATUS_SET messages and ContactLinker is NULL.
2010-05-19 20:37:26 +00:00
urnenfeld
533117dc61
* Fix GCC4 build
2010-05-19 18:49:41 +00:00
urnenfeld
818c28d43d
* Add Behavior tab in Preferences with options in ticket #476
...
* Implement enabled ones
* Add canditate preferences
* Implement singleton-like preferences class CayaPreferences. These are working but they are not stored in file at closing
2010-05-19 18:05:30 +00:00
plfiorini
8d1c0d1a9d
Merging r148, r154, r155 with trunk.
2010-05-19 17:11:22 +00:00
plfiorini
97ae80798d
Fixed build with gcc2.
2010-05-16 21:19:35 +00:00
plfiorini
4bdc37a60e
Merged multiprotocol branch with trunk.
2010-05-16 21:02:50 +00:00
plfiorini
8d6d06dbfe
Adding AIM protocol from Alexander Botero-Lowry, but it needs polishing.
2010-05-12 20:42:46 +00:00