Commit Graph

546 Enmetoj

Author SHA1 Message Date
Jaidyn Ann da8b0236c5 Add workspace-switching and window-raising options 2021-08-19 02:00:11 -05:00
Jaidyn Ann 38e9fca3be Prioritize native protocols in protocol list 2021-08-19 01:18:17 -05:00
Jaidyn Ann 9d760cd277 Added ROOM_NOTIFY_DM to protocols' room flags 2021-08-19 01:04:57 -05:00
Jaidyn Ann d8d89d245e Toggling of room flags through right-click menu
Room flags (e.g., whether or not to auto-join, whether notifications
should be sent on message receive) can now be toggled through a room's
right-click menu in the room-list.

Two new room flags were added for notifications as well― ROOM_NOTIFY_DM
and ROOM_NOTIFY_ALL. If ROOM_NOTIFY_DM is enabled, the user will receive
notifications if they are in a one-on-one chat. If ROOM_NOTIFY_ALL, they
will receive notifications on every message sent to the room.

The default menu items for the room's pop-up menu were moved from
Templates.rdef to be built into the app.

Everything else in Templates.rdef should follow suit― B_TRANSLATE
can't be used in rdef files!
2021-08-19 00:59:03 -05:00
Jaidyn Ann a9eeaa51fe (irc) Default room of #haiku for OFTC 2021-08-18 23:05:57 -05:00
Jaidyn Ann f486588c48 Add system beeps for message/mention receiving 2021-08-18 20:19:11 -05:00
Jaidyn Ann 901f7a8e05 Disable unusable settings, Notfications tab 2021-08-18 18:28:53 -05:00
Jaidyn Ann 6e89dbdab1 Better protocol status notifications
Now a notification is sent as soon as a protocol has been readied
(before connection established), and all status notifications use the
same message ID to avoid spamming the poor user.
2021-08-18 17:22:08 -05:00
Jaidyn Ann b2e17f57dc Fix avatar-loading 2021-08-18 17:00:11 -05:00
Jaidyn Ann 0637ee0401 Add 'Installation' section to README 2021-08-18 15:59:44 -05:00
Jaidyn Ann 32fbe59f01 (irc) Require real-name be defined 2021-08-18 15:30:20 -05:00
Jaidyn Ann f1464cb01c Search by user name and ID for chat commands 2021-08-18 15:15:56 -05:00
Jaidyn Ann 03c9cdb249 README.ADDON formatting 2021-08-18 14:49:25 -05:00
Jaidyn Ann 5e0782b553 Ensure implicit room-members are real
If a message/event is sent to a room that's tied to a user that hasn't
been formally declared (through IM_ROOM_PARTICIPANTS or
IM_ROOM_PARTICIPANT_JOINED), that user won't be unconditionally kept
anymore.

Now, after adding an implicit user, the participant list will be
requested again― upon receiving the list, all implicitly-defined users
will be removed. If they really existed to begin with, they should be
re-added quickly through this re-sending of IM_ROOM_PARTICIPANTS.

Ghosts should be treated as ghosts, not users.
2021-08-18 14:18:24 -05:00
Jaidyn Ann 0bab0a89a8 Add IRC to makefile, disallow purple on x86_gcc2 2021-08-18 13:34:10 -05:00
Jaidyn Ann 188b70d498 (irc) Own setting of room subject 2021-08-18 12:58:52 -05:00
Jaidyn Ann 2645a58955 ScrollView for roomlist, NO_BORDER for user scroll 2021-08-18 11:58:18 -05:00
Jaidyn Ann 42c52b324d (libinterface) Automatically clear text in EnterTextView 2021-08-18 11:27:14 -05:00
Jaidyn Ann b8de54d9bc Single Append() for sections with unchanged format
Also removes the newly-unused AppendMessage() of RenderView
2021-08-17 22:19:28 -05:00
Jaidyn Ann 8512e9ad03 New binary log format, with color/face support
Binary logs are no longer stored as a single message with a list of
strings and int64s ("body", "user_name", "user_id", "when"), but a
message with sub-messages (IM_MESSAGE_RECEIVED) verbatim saved.

This has the main benefit of preserving message formatting (coloring,
bold, italics, etc).
2021-08-17 13:27:14 -05:00
Jaidyn Ann 5aeaf9284f Formatting of README.ADDON.md 2021-08-17 10:08:39 -05:00
Jaidyn Ann 4bb6cfee7c (irc) Color-formatting support 2021-08-16 21:52:28 -05:00
Jaidyn Ann ab4881f2f0 Receiving multi-color messages
Chat messages can now be formatted with colors in addition to varying
faces with "color_start," "color_length," and "color" slots in
IM_MESSAGE_RECEIVED.
2021-08-16 21:50:43 -05:00
Jaidyn Ann a697afbbd8 (irc) Unban command 2021-08-16 18:18:22 -05:00
Jaidyn Ann f69d07e2f7 (irc) Ban/kick support 2021-08-16 18:04:50 -05:00
Jaidyn Ann 7be306e20e (irc) User-role support 2021-08-16 16:18:57 -05:00
Jaidyn Ann 8aa608e841 Formatted welcome message, prefer 'user_name' 2021-08-16 15:10:18 -05:00
Jaidyn Ann c0580dfc17 Save disabling of accounts, make persistent
If the user disables an account, this saves it so that on any
subsequent start-ups, the account won't be connected until the user
explicitly re-enables it.

ProtocolSettings were reworked to allow for publicly loading/saving
settings from BMessages, rather than solely from BViews.

In addition, all program-side disabling, enabling, and toggling of
accounts has been consolidated into ProtocolManager. This makes life
easier for other parts of the program that have to do these things
anyway.
2021-08-16 11:58:27 -05:00
Jaidyn Ann c492a46a65 Rename AccountManager to StatusManager 2021-08-16 10:40:18 -05:00
Jaidyn Ann 60ad595d5d (irc) Command support
Now raw IRC commands can be sent with a "//" command, like this:
	// HELP
… to print the server's HELP message to system buffer.
So on and so forth.
2021-08-16 01:25:30 -05:00
Jaidyn Ann 03556d674e (irc) Contact support 2021-08-16 00:42:39 -05:00
Jaidyn Ann 8d62ecca01 (irc) More reliable user-list population, IM_ROOM_GET_PARTICIPANTS 2021-08-15 21:55:10 -05:00
Jaidyn Ann e8e78eeae4 (irc) Support creating one-on-one chats/PMs 2021-08-15 20:44:34 -05:00
Jaidyn Ann b380b6115c Fix chat creation with non-contact users 2021-08-15 20:34:30 -05:00
Jaidyn Ann 4da76e0256 Show 'Accounts' window when starting with no accounts 2021-08-15 15:45:53 -05:00
Jaidyn Ann 794d368c11 Make some dialogues floating windows 2021-08-15 15:45:28 -05:00
Jaidyn Ann dec18f7b65 Update PROTOCOL_DIR 2021-08-15 11:59:26 -05:00
Jaidyn Ann a11215ebf2 (purple) Loading from arbitary add-on directory 2021-08-15 01:08:32 -05:00
Jaidyn Ann ed7fe730cb Load protocols from any system add-on directory
… rather than soley "$APPDIR/protocols/".
The vague "protocols/" leaf was also renamed to "cardie/".
2021-08-15 00:55:16 -05:00
Jaidyn Ann ab6988d9ba Ensure selection & add account buffer to chat list
Ensures that an item in the chat list is always selected (as long as
there are items to be selected), and that an account's "buffer" (fake
conversation) is added immediately after connection, and removed
immediately after disconnection.
2021-08-14 23:37:59 -05:00
Jaidyn Ann 19e2676249 (xmpp) Rename protocol from 'Jabber' to 'XMPP' 2021-08-14 23:24:19 -05:00
Jaidyn Ann 10bb155b94 Fix off-zero auto-completion 2021-08-14 22:10:39 -05:00
Jaidyn Ann 5b4d8c9413 Disallow right-clicking on ConversationAccountItems 2021-08-14 21:25:46 -05:00
Jaidyn Ann 3ed7dac050 Update screenshot 2021-08-14 20:33:34 -05:00
Jaidyn Ann 10be5afc61 Init README.ADDON.md 2021-08-14 13:38:55 -05:00
Jaidyn Ann e6f9c3e085 Notification and buffer message on disconnect/reconnect 2021-08-14 11:57:42 -05:00
Jaidyn Ann 71433599e4 (purple) Adhere to user setting 'offline' status 2021-08-13 15:57:06 -05:00
Jaidyn Ann a712d89c76 (irc) Don't connect until status set to 'online' 2021-08-13 14:32:46 -05:00
Jaidyn Ann 6258b2f2f3 (irc) Support formatting with implicit end 2021-08-13 13:00:32 -05:00
Jaidyn Ann 29a94bcf65 Recieving of formatted messages (by font-face)
Now addons can format messages with new slots accepted by
IM_MESSAGE_RECEIVED: "face_start," "face_length," and "face".

The first two deal with the position of the face-change by character
offset in the string, and the last being the face flag affected.
2021-08-13 12:39:47 -05:00