Commit Graph

483 Enmetoj

Author SHA1 Message Date
Jaidyn Ann e07ee29d13 (librunview) Fix hover-over for multiple links 2021-07-15 14:59:51 -05:00
Jaidyn Ann b7c7ad6064 (librunview) URL hover-over/visited colouring 2021-07-15 13:01:21 -05:00
Jaidyn Ann 67ea3cd760 (librunview) Add right-click menu 2021-07-14 22:13:59 -05:00
Jaidyn Ann 9c2ab6ed0a (librunview) Selecting URLs 2021-07-14 20:28:52 -05:00
Jaidyn Ann bc55617f81 (librunview) URL highlighting 2021-07-14 15:13:36 -05:00
Jaidyn Ann e760818007 (librunview) Init new RenderView/RunView
Base-level replacement of the Vision-derived text RunView― a couple
important features supported by the replacee haven't been implemented yet,
including:
	* Right-click menu
	* URL-highlighting/selection
	* Emote support
2021-07-14 15:12:04 -05:00
Jaidyn Ann 7f30571703 Fix SmileTextRender crash
Fixes #22
2021-07-13 17:11:49 -05:00
Jaidyn Ann 5ec79ebbf5 Fix status view's avatar icon
The StatusView (below the roomlist) now shows a default icon if no
accounts have associated avatars, and will use an account's cached avatar
if available.
2021-07-13 14:43:48 -05:00
Jaidyn Ann 91ab9d8fb7 (purple) NotifyMessage dialog
First of the NotifyUiOps― not sure if the others are used for anything
useful in our use-case, I'll implement as I run into them.
2021-07-12 10:09:29 -05:00
Jaidyn Ann 2415be542e Update README and Contributors 2021-07-11 15:31:37 -05:00
Jaidyn Ann c5521ad9a3 (purple) RequestAction dialogs
First progress in support for purple's Request dialogs
2021-07-11 15:22:49 -05:00
Jaidyn Ann 437154310b Add debug mode 2021-07-10 09:31:31 -05:00
Jaidyn Ann 5217c282e2 (purple) Fix message receive 2021-07-09 11:53:16 -05:00
Jaidyn Ann f4df6d0d3b Typing auto-complete for usernames 2021-07-09 11:52:57 -05:00
Jaidyn Ann 8a3f22d5e9 Move sendbox to conversation view, replace filter
The BTextBox used for sending messages has been moved from the main
window to individual ConversationViews, allowing seperate histories,
texts, etc., to exist in different conversations.

EditingFilter (a filter that hooked into MainWindow) was previously used
to field special key combos with this textbox, including "ENTER" for
sending, but this has been replaced with a new textview subclass
(SendTextView).
2021-07-08 16:07:03 -05:00
Jaidyn Ann 352a6751da Slight UserInfoWindow redesign 2021-07-07 22:35:44 -05:00
Jaidyn Ann 988a4ebfb6 (purple) Handle user_id and user_name dichotomy
Fixes #29
2021-07-07 20:44:11 -05:00
Jaidyn Ann 4294993761 (purple) Fix rdef in Makefile 2021-07-07 15:49:48 -05:00
Jaidyn Ann 4b372238cc Build purple by default 2021-07-07 15:09:19 -05:00
Jaidyn Ann d05793bbf9 (purple) Add-on and protocol icons
Pidgin's icon has been borrowed as the add-on's icon― and protocol icons
are taken from `$DATA_DIR/pixmaps/Pidgin/protocol/`, just as
Pidgin/libpurple installs them.

Any third-party plugins will also install their icons there, even
if just locally.

I've updated the libpurple package to include these icons, hopefully
that'll get merged.
2021-07-07 15:05:49 -05:00
Jaidyn Ann 2bd9ecb6a8 Reformat ChatProtocol, default own contact to null 2021-07-07 10:59:56 -05:00
Jaidyn Ann 4cca893e91 Fix perms for 'User Info…' menuitem 2021-07-06 14:48:31 -05:00
Jaidyn Ann 52a580e03d Remove own user from contacts; fix roster bitmaps
It doesn't make sense to lump the user themself with their contacts
list― their Contact object is now stored seperately.

BBitmap loading for RosterItems are fixed, as well.

Fixes #33
2021-07-06 14:46:28 -05:00
Jaidyn Ann f0f2375b09 (purple) Senderless messages are system messages 2021-07-06 14:27:14 -05:00
Jaidyn Ann 735dda4188 (purple) Remove mod perms, command warnings
Since moderation commands are implemented per-protocol in libpurple
(with no easy way to use with the catch-all IM_ROOM_BAN_PARTICIPANT
message and corresponding command), the PERM_BAN, PERM_KICK, and a
couple other moderative perms aren't afforded to the user, disabling
these non-functional options in the UI.

The commands can still be implemented by the libpurple plugin, though.
If they aren't, purple will complain with some error message.
2021-07-06 14:13:10 -05:00
Jaidyn Ann 1515ab0d00 Tweak permissions handling in UserListView 2021-07-06 13:47:37 -05:00
Jaidyn Ann 9d8b35fc86 (purple) Send user-roles to Cardie
Fixes #24
2021-07-06 12:08:51 -05:00
Jaidyn Ann e88a8372dc (purple) Unescape XML entities 2021-07-06 02:09:18 -05:00
Jaidyn Ann 0c48cf514b (purple) Execute commands, report status
Fixes #25
2021-07-06 01:22:08 -05:00
Jaidyn Ann 0864ddae81 (purple) Reformat UI ops 2021-07-06 00:56:16 -05:00
Jaidyn Ann 91c7e44b44 (purple) Register per-protocol commands 2021-07-05 23:56:59 -05:00
Jaidyn Ann d9051766d9 Reloading of protocol's commands on request
Sometimes a protocol's commands are dynamic, or change based on certain
events― and it's necessary in these cases that commands be reloaded.

The IM_PROTOCOL_RELOAD_COMMANDS message is now added to the API, which
will force Cardie to reload commands from the protocol.
2021-07-05 23:53:46 -05:00
Jaidyn Ann 95da508a38 (purple) Editing of buddy's alias 2021-07-05 17:48:32 -05:00
Jaidyn Ann c0f126206a Include default templates, split "room"
The "room" template has been split into two seperate
templates― "join_room" and "create_room". Before, "room" was used in the
room creation window, but now that's delegated to "create_room".

"join_room" is used with the join window― so now, the add-on has total
control over the slots used to join/create rooms generally, if they
specify the templates. Even a "/join" command could be overriden by the
add-on.

Also, default templates are now in use. Rather than add-ons being
required to specify templates, there are sensible defaults included with
Cardie for each one.
2021-07-05 13:48:33 -05:00
Jaidyn Ann 23bee9b0a6 (jabber) Remove obselete Facebook and GTalk versions 2021-07-05 13:14:50 -05:00
Jaidyn Ann 74dcf452c2 (purple) Creation/joining rooms using "room" template
Fixes #30
2021-07-05 12:42:41 -05:00
Jaidyn Ann ee8584e14c (purple) Fetch room template from purple 2021-07-04 11:31:32 -05:00
Jaidyn Ann b051cbed5a (purple) Creation of chats 2021-07-03 15:01:32 -05:00
Jaidyn Ann 4d044144b3 (purple) Roster management
Fixes #28
2021-07-03 15:01:00 -05:00
Jaidyn Ann a6c9569be2 (purple) Append ':' to settings names as appropriate 2021-07-02 13:47:47 -05:00
Jaidyn Ann 7db93bf596 Fix roster crash w/o protocol icon 2021-07-02 13:47:01 -05:00
Jaidyn Ann 58e3d99af5 (purple) Typo fix 2021-07-02 10:24:34 -05:00
Jaidyn Ann b5b24939ea Set IRC/Purple passwords as 'secret' fields 2021-07-02 09:19:58 -05:00
Jaidyn Ann 2dc364ef55 (purple) Client-initiated joining and leaving rooms 2021-07-01 20:52:46 -05:00
Jaidyn Ann d63fe22afe (purple) Handle outgoing invites
Fixes #23
2021-07-01 20:18:10 -05:00
Jaidyn Ann 10003276cd (purple) Handle incoming invites 2021-07-01 19:49:39 -05:00
Jaidyn Ann 140a7f8834 (purple) Load server-side contacts 2021-07-01 18:34:56 -05:00
Jaidyn Ann d883c23d18 Reorganize settings directory, custom purple paths
The settings file-hierarchy has been changed a bit:
	* Cardie/
		* preferences
		* Accounts/
		* Cache/
			* Accounts/
			* Add-Ons/

`Cardie/Protocols` is now `Cardie/Accounts`, and the cache directory
has been split into two. `Cache/Accounts/` is for account-specific
cached data (e.g., cached roster icons, data, etc.), and
`Cache/Protocols` is for protocol-wide settings/data.

For purple, this will be used as the user's libpurple directory,
which has been moved from the default of `~/.purple` (yikes!)

Some plugin search-paths have been given to purple, too― lib
directories + "/purple2/", and Cardie/Cache/Add-Ons/purple/plugins/.
2021-06-30 21:05:43 -05:00
Jaidyn Ann f5b90ecc5e Include BString in Role.h 2021-06-30 18:05:22 -05:00
Jaidyn Ann 8d2ecfd853 Include BPath in ChatProtocol 2021-06-30 15:35:48 -05:00